请编写一个C语言程序,完成成绩管理功能
程序的功能要求如下:
1) 启动程序,初始状态
2)要求连续输入5位学生的;英语,数学和计算机成绩后给出业务选择提示
3)选择1,对成绩进行求和运算
4)选择2,对成绩求平均值
5)选择 3,根据和或平均值排序(需要先求和或先求平均值)
6)选择 0 退出系统
代码:
#include<iostream>
using namespace std;
void all_score(double s[][4])
{
for(int i = 1; i <= 5; ++i)
{
s[i][4] = s[i][1] + s[i][2] + s[i][3];
}
cout << "英语" << '\t' << "数学" << '\t' << "计算机" << '\t' << "总分" << '\t' << endl;
for(int i = 1; i <= 5; ++i)
{
for(int j = 1; j <= 4; ++j)
{
cout << s[i][j] << '\t';
}
cout << endl;
}
}
void ave_score(double s[][4])
{
for(int i = 1; i <= 5; ++i)
{
s[i][4] = (s[i][1] + s[i][2] + s[i][3]) / 3;
}
cout << "英语" << '\t' << "数学" << '\t' << "计算机" << '\t' << "平均分" << '\t' << endl;
for(int i = 1; i <= 5; ++i)
{
for(int j = 1; j <= 4; ++j)
{
cout << s[i][j] << '\t';
}
cout << endl;
}
}
void display(double s[][4])
{
cout << "英语" << '\t' << "数学" << '\t' << "计算机" << endl;
for(int i = 1; i <= 5; ++i)
{
for(int j = 1; j <= 3; ++j)
{
cout << s[i][j] << '\t';
}
cout << endl;
}
}
void bubble_sort(double s[5][4], bool f)
{
double t;
if(f == false)
{
for(int i = 1; i <= 5; ++i)
{
s[i][4] = s[i][1] + s[i][2] + s[i][3];
}
}
for(int n = 1; n <= 4; ++n)
{
for(int i = 1; i <= 5; ++i)
{
if(s[i][4] <= s[i+1][4])
{
for(int j = 1; j <= 4; ++j)
{
t = s[i][j];
s[i][j] = s[i+1][j];
s[i+1][j] = t;
}
}
}
}
cout << "英语" << '\t' << "数学" << '\t' << "计算机" << '\t' << "总/均分" << '\t' << endl;
for(int i = 1; i <= 5; ++i)
{
for(int j = 1; j <= 4; ++j)
{
cout << s[i][j] << '\t';
}
cout << endl;
}
}
int main()
{
double score[5][4];
char num;
bool flag = false;
bool check = false;
cout << "请输入学生的成绩:" << '\t' << "英语" << '\t' << "数学" << '\t' << "计算机" << endl;
for(int i = 1; i <= 5; ++i)
{
cout << "第" << i << "位同学的成绩:" << endl;
for(int j = 1; j <= 3; ++j)
{
do
{
cin >> score[i][j];
if(score[i][j] <= 100 && score[i][j] >= 0)
{
check = true;
continue;
}
else
{
cout << "成绩输入不正确,请重新输入! " << endl;
check = false;
}
}while(check == false);
}
}
cout << "学生成绩原始值:" << endl;
display(score);
do
{
cout << "****************************************************************" << endl;
cout << " 请选择操作项: 1、求和 2、求平均值 3、排序" << endl;
cout << "****************************************************************" << endl;
cin >> num;
switch(num)
{
case '1':
all_score(score);
flag = true;
break;
case '2':
ave_score(score);
flag = true;
break;
case '3':
bubble_sort(score, flag);
flag = true;
break;
case '0':
cout << "退出!" << endl;
break;
default:
cout << "操作无效!重新输入!" << endl;
break;
}
}while(num != '0');
system("pause");
exit(0);
return 0;
}
成果: