1、大学c 设计方案学生信息管理系统程序设计基础(C语言)课程设计说明书学院:交通学院班级:机械1201学号:20122815606姓名:田亮日 期: 2013年7月题目名称:学生信息管理系统算法分析:说明: 该系统包括五个模块,分别是1.成绩显示,2.各科最好成绩,3.成绩查询,4.每人的平均成绩,5.成绩修改。1. 成绩显示void show (struct student *stu)。:当从键盘上输入1时,进入成绩显示系统,将每个人的成绩输出;2. 各科最好成绩void max (struct student *stu)。:当从键盘上输入2时,进入循环比较,输出每科的最好成绩;3. 成绩查询
2、:void search (struct student *stu)。当从键盘上输入3时,输出“请输入学号”,输入学号后与之进行匹配,匹配成功,输出该生信息,不成功输出“对不起,没有该生”;4. 每人的平均成绩void average (struct student *stu)。:当从键盘上输入4时,求每人的总分,然后再求平均值,并通过循环,依次输出,每人的平均成绩;5. 成绩修改void update (struct student *stu)。:当从键盘上输入5时,开始修改成绩,然后将改好成绩6. 当从键盘上输入0时,退出系统。流程设计:代码设计:#include void show (s
3、truct student *stu)。 /显示成绩单/void max (struct student *stu)。 /各科最好成绩/void search (struct student *stu)。 /成绩查询/void average (struct student *stu)。 /每个人平均成绩/void update (struct student *stu)。 /成绩修改/struct student /定义结构体/ char name20。 int num。 int age。 char sex4。 float score1。 float score2。 float score3
4、。stu10=张三,1,18,男,86,95,92,李四,2,19,女,85.5,89,92,小红,3,19,女,86,91,90,小华,4,17,男,86,89,95,小明,5,19,男,78,88,93.5,小亮,6,20,男,74,78,88,小浩,7,19,男,66,67,95.5,小敏,8,20,女,83,79,90,小杰,9,19,男,56,89,90.5,小洁,10,18,女,84,77,86。/定义数组/ int main (void) int m。 do /do循环/ printf(t*学生信息管理*n)。 printf(n)。 printf(_n)。 printf(1:显示
5、成绩信息 2:各科最好成绩n)。 printf(n)。 printf(3:成绩查询 4:每个人平均成绩n)。 printf(n)。 printf(5:成绩修改 0:退出系统n)。 printf(n)。 printf(_n)。 printf(tt请在上述功能中选择(05)n)。 scanf(%d,&m)。 switch (m) case 1: show (stu)。 break。 case 2:max(stu)。 break。 case 3:search (stu)。 break。 case 4: average(stu)。 break。 case 5: update(stu)。break。 c
6、ase 0: break。 default: printf(选择错误!请重选。n)。break。 while (m!=0)。 /show (stu)。 /max( stu)。 /search (stu)。 /average(stu)。 /update(stu)。 return 0。void show (struct student *stu) /显示成绩单函数/ int i,j。 printf(姓名t学号t年龄t性别t语文t数学t英语n)。 for (j=0。j60。j+) printf(%c,-)。 /输出横线/ printf(n)。 for (i=0。i10。i+) printf(%st
7、%dt %dt %st %4.2ft %4.2ft %4.2fn, /输出各科成绩/ stui.name,stui.num,stui.age,stui.sex,stui.score1,stui.score2,stui.score3)。 printf(n)。void max (struct student *stu) /各科最好成绩函数/ int i。 float max1,max2,max3。 max1=stu0.score1。 for (i=0。i10。i+)/循环 / if (max1stui.score1) max1=stui.score1。 printf(语文最好成绩是:%6.2f,
8、,max1)。/语文最好成绩/ printf(n)。 printf(n)。 max2=stu0.score2。 for (i=0。i10。i+) if (max2stui.score2) max2=stui.score2。 printf(数学最好成绩是:%6.2f, ,max2)。 /数学最好成绩/ printf(n)。 printf(n)。 max3=stu0.score3。 for (i=0。i10。i+) if (max3stui.score3) max3=stui.score3。 printf(英语最好成绩是:%6.2f, ,max3)。/英语最好成绩 / printf(n)。 pri
9、ntf(n)。void search (struct student *stu) /定义成绩查询函数/ int i,a。 printf(n请输入要查询的学号:n)。 scanf(%d,&a)。 if (1=a&a=10)/确保输入值在范围之内/ for (i=0。i10。i+) if (a=stui.num) printf(姓名t学号t年龄t性别t语文t数学t英语n)。printf(%st %dt %dt %st %4.2ft %4.2ft %4.2fn,stui.name,stui.num,stui.age,stui.sex,stui.score1,stui.score2,stui.scor
10、e3)。 else printf (n对不起,没有这个学生n)。 printf(n)。void average (struct student *stu) /求每个人得平均成绩函数/ int i。 float sum, ave。 for (i=0。i10。i+) sum=0。 sum=sum+stui.score1+stui.score2+stui.score3。/求和 / ave=sum/3。/求平均值/ printf(%s:%4.2fn,stui.name,ave)。 printf(n)。void update (struct student *stu) /修改成绩函数 / int i,n
11、,j。 printf(请输入要修改成绩学生的学号:n)。 scanf(%d,&n)。 if (1=n&n=10) for (i=0。i10。i+) if (n=stui.num)/判断/ printf(%s:n,stui.name)。 /输入新成绩/ printf(请输入该生语文成绩:n)。 scanf(%f,&stui.score1)。 printf(请输入该生数学成绩:n)。 scanf(%f,&stui.score2)。 printf(请输入该生英语成绩:n)。 scanf(%f,&stui.score3)。 else printf (n对不起,没有这个学生n)。 printf(n)。 printf(n)。 printf(姓名t学号t年龄t性别t语文t数学t英语n)。 for (j=0。j60。j+) printf(%c,-)。 printf(n)。 for (i=0。i10。i+) printf(%st %dt %dt %st %4.2ft %4.2ft %4.2fn, /输出修改后的成绩单/ stui.name,stui.num,stui.age,stui.sex,stui.score1,stui.score2,stui.score3)。 printf(n)。 printf(n)。运行结果:显示成绩单:各科最好成绩成绩查询:平均成绩:修改成绩:退出系统:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1