学生成绩管理系统
练习使用基本的控制流
#include<iostream>
#include<iomanip>
#include<stdlib.h>
using namespace std;
const int n=4; //n个学生的m门成绩
const int m=5;
//系统的界面函数
void Menu()
{
cout<<"本程序共有4项功能:"<<endl;
cout<<"1.输入成绩并显示"<<endl;
cout<<"2.计算学生的成绩总分和平均分"<<endl;
cout<<"3.根据学号查询学生的成绩"<<endl;
cout<<"4.查找最高分并显示相应学生的学号和成绩"<<endl;
cout<<"0.退出系统"<<endl;
cout<<"请选择需要的功能(0~4)"<<endl;
}
int main()
{
int i,j,select;
int score[n][m],sum=0,max,r,c;
double av=0;
int number; //输入学生学号
//设计菜单并实现功能
do{
Menu(); //调用菜单界面
cin>>select;
switch(select)
{
case 0:
cout<<"成功退出,欢迎下次使用!"<<endl;
exit(0); //退出程序,头文件是stdlib.h
case 1:
for(i=0;i<n;i++) //输入成绩
{
cout<<"请输入"<<i+1<<"号学生的5门成绩:"<<endl;
for(j=0;j<m;j++)
{
cin>>score[i][j];
}
}
cout<<"显示学生的全部成绩如下:"<<endl;
for(i=0;i<n;i++) //输出成绩
{
cout<<"学号为"<<i+1<<"的学生的成绩是"<<endl;
for(j=0;j<m;j++)
{
cout<<setw(6)<<score[i][j];
cout<<endl;
}
}
cout<<endl;
break;
case 2:
cout<<"请输入学生的学号:"<<endl;
cin>>number;
sum=0; //每次计算后都要置0
av=0;
for(j=0;j<m;j++)
{
sum=sum+score[number-1][j];
}
av=sum/m;
cout<<"第"<<number<<"号学生的总分为"<<sum<<endl;
cout<<"平均分为:"<<av<<endl;
break;
case 3:
cout<<"请输入学生的学号:"<<endl;
cin>>number;
cout<<"第"<<number<<"号学生的成绩为:"<<endl;
for(j=0;j<m;j++)
{
cout<<setw(6)<<score[number-1][j];
}
cout<<endl;
break;
case 4: //求最高分并查找对应的学号和成绩
max = score[0][0];
r=c=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(max<score[i][j])
{
max=score[i][j];
r=i;
c=j;
}
}
cout<<"最高分是第"<<r+1<<"号的,第"<<c+1<<"门成绩"<<max<<"分"<<endl;
break;
}
}while (1);
return 0;
}