1、C语言课程研究设计学生成绩管理系统封面作者:PanHongliang仅供个人学习C 语言课程设计报告标题:学生成绩管理系统学号:姓名:年级专业:09电子信息工程指导老师:完成日期:2010/6/28目 录一、 课题要求 二、 课题分析与设计三、 程序介绍四、 源程序代码与调试五、 设计NS图六、 心得与体会七、 参考书目一、课题要求有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统1、 成绩录入2、 成绩查询3、 成绩统计4、 成绩排名5、 退 出(2)各菜单项功能 成绩录入:输入学生的学号、姓
2、名及三门课的成绩; 成绩查询: 查询不及格学生的记录。成绩统计:l 计算学生的平均分;2 根据学生的平均分高低,对学生的数据进行排序后输出;(3)设计要求1、 用C语言实现系统;2、 利用结构体数组实现学生成绩统计管理的数据结构设计;3、 系统具有增加,查询,排序等基本功能;4、 系统的各个功能模块要求用函数的形式实现;二、课题分析与设计程序是数值计算型算法设计,设计出了学生成绩管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、计算等。这个学生成绩管理系统也初步实现了学生成绩信息的显示
3、、删除、查找、添加、修改等必要的功能。三、程序介绍学生成绩管理系统由8个函数组成,包括main函数、input函数、display函数、look函数、delete函数,其中change函数又包括一个sumandave子函数,paixu函数。 main函数主要是打印选择界面,选择并调用其他几个函数。input函数是输入学生信息函数(包括姓名、学号、性别、5门学科的成绩)。完成后调用display函数并返回界面选择。display函数的功能是对输入学生的信息进行界面输出。完成后返回main函数进行下一个功能的选择。并返回界面选择。look函数的功能是查找。按提示信息输入学号和姓名两种方式可实现查找
4、。完成后调用display函数输出结果。并返回界面选择。 delete函数的功能是删除学生的信息,根据想删除的学号进行删除功能,删除的结果会显示在屏幕上。然后再调用display函数显示结果。并返回界面选择。Change函数功能是实现学生成绩的修改,其中对于每个想修改的工程(学号、性别、名字、分数)都有是否修改的提示。选择并完成后再调用display函数输出修改后的结果。Sumandave函数是计算每个学生成绩的总分、平均分。完成后调用display函数输出所求结果。并返回界面选择。Paixu函数是将所有学生成绩的总分降序排列,再是调用display函数。并返回界面选择。 四、源程序代码与调试
5、1.程序代码#include#include#includestruct student char num10。char name20。char sex5。int grade5。float v。int sum。stu50。int k=0。void input()。void display()。void look()。void change()。void delete()。void sumandave()。void paixu()。void main()int a。 doprintf(nn *n)。printf( *)。 printf(ttwelcome enter the student ma
6、nagement system)。 printf(t*)。printf(n *n)。printf( *)。 printf(t 1.Access student information)。 printf(tttt*n)。printf( *)。 printf(t 2.look student information)。 printf(tttt*n)。printf( *)。 printf(t 3.Change student information)。 printf(tttt*n)。printf( *)。 printf(t 4.delete student information)。printf(t
7、ttt*n)。printf( *)。 printf(t 5.By sum Sort student information and output)。 printf(tt*n)。printf( *)。 printf(t 6. exit )。 printf(tttttt*n)。printf( *n)。printf( Enter you choice : )。scanf(%d,&a)。switch(a)case 1:printf(n)。input()。break。case 2:printf(n)。look()。break。case 3:printf(n)。change()。break。case 4:
8、printf(n)。delete()。break。 case 5:printf(n)。paixu()。break。case 6:printf(n)。exit(0)。break。default:printf(nThe choice is between 1 to 6.n)。while(a!=0)。void input() int j。char ch20。printf(nenter student information:n)。do printf(nnum: )。scanf(%s,stuk.num)。printf(nname: )。scanf(%s,stuk.name)。printf(nsex:
9、)。scanf(%s,stuk.sex)。for(j=0。j5。j+) printf(ngrade%d: ,j+1)。scanf(%d,&stuk.gradej)。 k+。printf(nif want continue input student information(y/n): )。scanf(%s,ch)。while(strcmp(ch,y)=0|strcmp(ch,Y)=0)。sumandave()。display()。void display() int i。printf( the student information is:n)。for(i=0。ik。i+) printf(%-
10、10s %-10s %-5s %2d %2d %2d %2d %2d%5d %5fn,stui.num,stui.name,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v)。printf(n)。 void sumandave() int i,j。for(i=0。ik。i+) stui.sum=0。for(j=0。j5。j+)stui.sum=stui.sum+stui.gradej 。stui.v=stui.sum/5.0。 void look() int i。char a
11、20。printf(nenter you want look student num:)。scanf(%s,a)。for(i=0。ik。i+)if(strcmp(stui.num,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,stui.name,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v)。printf(nenter you want look student name:)。sca
12、nf(%s,a)。for(i=0。ik。i+)if(strcmp(stui.name,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,stui.name,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v)。display()。 void change() int i,j。 char a20,ch10。 printf(nenter you want change student num:)。
13、 scanf(%s,a)。 for(i=0。ik。i+)if(strcmp(stui.num,a)=0) printf(nyou sure want change student num(y/n): )。scanf(%s,ch)。if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nnum:)。 scanf(%s,stui.num)。printf(nyou sure want change student name(y/n): )。scanf(%s,ch)。if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nname:)。 scanf(%s,stui.name)。printf(nyou sure want change student sex(y/n): )。scanf(%s,ch)。if(strcmp(ch,y)=0|strcmp(ch,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1