1、移通学院 C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名: 学号: 座号: 时间 一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。二、实验内容运用所学的C语言知识编辑一个应用程序:学习成绩管理系统三系统软件环境:本程序主要运行在: Visual C+ 6.0 Turbo C/C+ 3.0四课程设计题目:学生成绩管理系统程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩 管理系统,使之能提供以
2、下功能:(1)主菜单学生成绩管理系统1. 成绩录入2. 成绩查询3. 成绩统计4. 退出(2)各菜单项功能成绩录入:输入学生的学号、姓名及三门课的成绩;成绩查询:*按学号查询学生记录。成绩统计:*计算学生的平均分;*根据学生的平均分高低,对学生的数据进行排序后输出;退出系统:退出整个系统(即主菜单)。五数据结构设计描述:主函数菜单函数Input函数 select函数 statistics函数 退出系统 六各变量的定义和作用int num;/*定义学号,变量为整型*/char name;/*定义姓名,变量为字符型*/int score;/*定义课程的成绩,变量为整型*/float average
3、;/*定义平均分,变量为浮点型*/七系统各函数的功能,、相互调用关系1.函数实现功能说明:(1)menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。(2)input函数是定义用于输入学生信息。(3)select 函数是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数计算学生的平均分。根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系:Main函数调用menu函数。Menu 函数可以调用input 函数、select函数和statistics函数八心得体会 C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言
4、的广泛应用相比较还有很大的差距。我们对于C语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序。 九程序:#include #include #include #define N 3/*学生人数*/#define M 3 /*课程门数*/struct student int num; /*学号*/char name20;/*姓名*/int score3;/*三门课成绩*/float average;stuN;/*学生数*/void input
5、();/*查询*/void select();/*统计*/void menu();void input()int i,j;printf(tt成绩录入nn);for(i=0;iN;i+)printf(请输入学号:);scanf(%d,&stui.num);printf(请输入姓名:);scanf(%s,&stui.name);for(j=0;jM;j+)printf(第%d门成绩的分数:,j+1);scanf(%d,&stui.scorej);printf(nn);printf(nn);printf(输入完毕!按任意键返回主菜单!);getch();/*2.查询*/void select(int
6、 no)int i;printf(学生%d号: n,no);printf(学号: %dn,stuno-1.num);printf(姓名: %sn,stuno-1.name);for (i=0;iM;i+)printf(第%d门课程的成绩为: ,i+1);printf(%dn,stuno-1.scorei);printf(n按任意键返回主菜单!);getch();/*3.统计*/void statistics()float temp=0;int i=0;int j=0;/*学生成绩平均分*/temp=0;printf(tt成绩统计nn);for(j=0;jN;j+)for(i=0;iM;i+)t
7、emp=temp+stuj.scorei; stuj.average=temp/N;printf(n学生%s的成绩平均成绩为:,stuj.name);printf(%0.2f分,stuj.average);temp=0;/*排序*/for (j=0;jN;j+)for(i=0;iN-j-1;i+)if(stui.averagestui+1.average) temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;printf(nn学生平均成绩前三名:);for(i=0;i3;i+)printf(n第%d名:%0.2f分
8、,i+1,stui.average);printf(nn按任意键返回主菜单!);getch();void menu() int num=0;int n=0;printf(nttt学生成绩管理系统nn);printf(nttt成绩录入nttt成绩查询nttt成绩统计nttt退出系统n);printf(tttchoose:);scanf(%d,&num);switch(num)case 1:system(cls);input();break;case 2:system(cls);printf(tt成绩查询nn);printf(请输入要查询的学生号(13):);scanf(%d,&n);select(n);break;case 3:system(cls);statistics();break;case 4:exit(0);default:;void main()while(1)system(cls);/*清屏*/menu();