C++输入函数和成绩显示函数,并计算每位同学的总分和平均分,对成绩排名输出等

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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("输入学号有误.\n");

return;

}

printf("输入学生%s的成绩\n",student[number]);

printf("数学、语文、英语、政治\n");

scanf("%f%f%f%f",&sc[0],&sc[1],&sc[2],&sc[3]);

getchar();

/*判断成绩输入是否越界*/

for (i=0; i<4; i++)

if ((sc[i]>100.00)||(sc[i]<0.00))

{

flag=1;

printf("输入成绩有误!!\n");

return;

}

/*成绩未越界后,进行赋值*/

for (i=0; i<4; i++)

score[number][i]=sc[i];

}

/*显示学生的成绩*/

void output()

{

int i; /*循环控制变量*/

for(i=0;i

{

printf("输出%s各门成绩:\n数学、语文、英语、政治\n",student[i]);

相关文档
最新文档