《C++程序设计》测试题
Luozhengchun
编写C++程序完成某班学生考试成绩的统计管理,包括成绩的输入函数和成绩显示函数,并计算每位同学的总分和平均分,对成绩排名输出。
#include /*标准输入、输出函数库*/
#include /*字符串处理函数库*/
#include /*整数和字符串的转换函数*/
#define N 10 /*宏定义,设定班里学生的个数*/
void main_mun(); /*输入学生的成绩*/
void input(); /*显示学生的成绩*/
void output(); /*计算学生的平均成绩*/
void average(); /*计算学生的总成绩*/
void sum_score(); /*对学生的成绩进行排名*/
void sort();
char student[N+1][12]={"王非","李丽","刘红","张伟","陈雷","赵丹","罗冰","钱惠云","孙杨","周正","差无此人"}; /*用来记录学生的姓名*/
float score[N][4]; /*用来记录学生的各门成绩(数学、语文、英语、政治)*/
float aver[N]; /*用来记录学生的平均成绩*/
float sum_sc[N]; /*用来记录学生的总成绩*/
int sor[N]; /*用来记录每个学生排名情况*/
int main()
{
int in; /*输入的选择转换成整数*/
int i,j; /*程序循环所用变量*/
char select[6]; /*用于主菜单选择的字符*/
for (i=0; i
for (j=0; j<4; j++)
score[i][j]=0.00;
printf("学生考试成绩的统计管理\n");
main_mun();
gets(select);
while ((strcmp(select,"q")!=0)&&(strcmp(select,"Q")!=0))
{
in=atoi(select); /*将输入的字符串转换成整数*/
if( in != 0)
{
switch (in)
{
case 1:
{
input();
break;
}
case 2:
{
output();
break;
}
case 3:
{
average();
break;
}
case 4:
{
sum_score();
break;
}
case 5:
{
sort();
break;
}
default:
printf("输入的选择有错,请重输!\n");
}
main_mun();
}
gets(select);
}
printf("管理系统结束!!\n");
return 0;
}
/*学生考试成绩的统计管理主菜单*/
void main_mun()
{
printf("1: 输入学生的成绩\n");
printf("2: 显示学生的成绩\n");
printf("3: 计算学生的平均成绩\n");
printf("4: 计算学生的总成绩\n");
printf("5: 根据学生成绩排名次\n");
printf("请输入你的选择:(q(Q)退出)\n");
}
/*输入学生的成绩*/
void input()
{
float sc[4]; /*输入成绩的中间变量*/
int number; /*表示学号*/
int flag=0; /*输入成绩是否有误的标志*/
int i;
printf("输入学号:\n"); /*循环控制变量*/
printf("输入学生的成绩:\n");
scanf("%d",&number);
while((number<0)||(number>N))
{
printf("