C语言课程设计学生成绩管理系统软件.docx
- 文档编号:30130232
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:14
- 大小:18.79KB
C语言课程设计学生成绩管理系统软件.docx
《C语言课程设计学生成绩管理系统软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统软件.docx(14页珍藏版)》请在冰豆网上搜索。
C语言课程设计学生成绩管理系统软件
《课程名称》
课程设计报告
题目
学生成绩管理系统
学号
姓名
年级专业
09电子信息工程
(2)班
同组人员
指导教师
完成日期
2010
年
6
月
28
日
报告目录
一、课程设计题目
二、程序要求
三、设计要求
四、程序分工
五、程序介绍
六、程序ns图
七、程序代码
八、实验心得和体会
九、参考文献
一、课程设计题目
《学生成绩管理系统》的设计与实现
二、程序要求
1)每条记录包括:
学号、姓名、专业和5门课程的成绩;
2)能够实现添加、删除、修改功能;
3)能够计算某学生的总分和平均分;
4)能按照总分排序输出。
(一)主菜单
学生成绩管理系统
1、成绩录入
2、排名输出
3、 修改功能
4、删除功能
5、添加功能
(二)各菜单项功能
(1) 成绩录入:
输入学生的学号、姓名及五门课的成绩;
(2) 排名输出:
● 计算学生的平均分;
● 根据学生的平均分高低,对学生的数据进行排序后输出;
(3)修改功能:
对学生信息进行修改;
(4)删除功能 :
删除某个学生的信息;
(5)添加功能:
在原来的名单中再添加某个学生的信息;
三、设计要求
1、在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。
通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。
四、程序分工
我负责前面四个函数,以及总体设计。
陶建勇则负责剩下的三个函数,以及程序调试。
五、程序介绍
学生成绩管理系统由7个函数组成,包括main函数、choice函数等;
main函数主要是对Menu函数、choice函数、shanchu函数、xiugai函数进行声明,
Menu函数是界面函数,有两个功能。
一是输出一个界面,二是作为进入其它函数的入口。
输入1则执行enter函数;输入2则执行printf函数,输入3则执行xiugai函数,输入4则执行删除函数,输入5则执行添加函数。
六.程序NS图
1学生信息录入:
调用input()函数
for(i=0;i 输入学生学号、姓名、五门成绩 2成绩排序: 调用scort()函数 if(stu[k].sum 显示出学生排序结果 3学生成绩处理: 调用xiugai()函数,修改已录入的学生成绩。 调用delete()函数,删除已录入的某个学生的成绩。 调用into()函数,在原有的基础上,添加新的学生成绩。 七.程序源码 #include #include inti; structstudent { charname[20]; intnum; intphy; intmaths; intenglish; intcomputer; intvc; intsum; floataver; }stu[100]; voidmain() { voidchoice(); voidscan(); voidfind(); voidprint(); voidxiugai(); voiddelete1(); voidinto(); intu; for(u=0;u<100;u++) {strcpy(stu[u].name,"/0"); stu[u].num=0; stu[u].phy=0; stu[u].maths=0; stu[u].english=0; stu[u].computer=0; stu[u].vc=0; } choice(); } voidchoice() { inta; clrscr(); printf("********************chioce********************\n"); printf("1.Enterthemessageofthestudent\n"); printf("2.Printfthemessageofthestudent\n"); printf("3.Xiugaithemessageofthestudent\n"); printf("4.Deletethemessageofthestudent\n"); printf("5.Intothemessageofthestudent\n"); printf("**********************************************\n"); printf("pleasegiveyourchoice: "); scanf("%d",&a); switch(a) { case1: scan();break; case2: print();break; case3: xiugai();break; case4: delete1();break; case5: into();break; } } voidscan() {intu,xe; i=0; do { printf("pleaseenterthemessageofthestudent\n"); printf("pleaseenterthenameofstudent\n"); scanf("%s",&stu[i].name); printf("pleaseenterthenumofstudent\n"); scanf("%d",&stu[i].num); printf("pleaseenterthescoreofstudent\n"); printf("phy: "); scanf("%d",&stu[i].phy); printf("maths: "); scanf("%d",&stu[i].maths); printf("computer: "); scanf("%d",&stu[i].computer); printf("English: "); scanf("%d",&stu[i].english); printf("VC: "); scanf("%d",&stu[i].vc); if(i>=100){printf("Thesytermisfull,youcan'tcontinue.sorry");choice();} printf("1.tocontinueenterthemessageofstudent\n2.toreturn\n"); i++; scanf("%d",&xe); while(xe! =1&&xe! =2) printf("pleaseentertherightchoice"); if(xe==1)printf("pleasecontinueenter\n"); }while(xe! =2); choice(); } voidxiugai() { intza,num2,j3; if(i==0){choice();printf("pleaseenterthemessageofthestudent\n");} while(i! =0) {printf("what'sthenumofthestudentthatyouwanttoxiugai? \n"); scanf("%d",&num2); for(j3=0;j3<=i;j3++) if(stu[j3].num==num2) {strcpy(stu[j3].name,"/0"); printf("Enterthenewmessageofthestudent\n"); printf("pleaseenterthenameofstudent\n"); scanf("%s",&stu[j3].name); printf("pleaseenterthenumofstudent\n"); scanf("%d",&stu[j3].num); printf("pleaseenterthescoreofstudent\n"); printf("phy: "); scanf("%d",&stu[j3].phy); printf("maths: "); scanf("%d",&stu[j3].maths); printf("computer: "); scanf("%d",&stu[j3].computer); printf("English: "); scanf("%d",&stu[j3].english); printf("VC: "); scanf("%d",&stu[j3].vc); printf("Thexiugaiissucessfull"); } else{choice();printf("Can'tfindthenumofthestudentpleaseentertherightnum\n");} printf("1.continue\n2.return\n"); scanf("%d",&za); while(za! =1&&za! =2)printf("pleaseentertherightchoice"); if(za==1)printf("pleasecontinueenter\n"); if(za==2)choice(); } } voiddelete1() {intnum3,j4,i3,za; if(i==0)printf("pleaseenterthemessageofthestudent\n"); while(i! =0) {printf("pleaseenterthenumofthestudentthatyouwanttodelete\n"); scanf("%d",&num3); for(j4=0;j4<=i;j4++) if(num3==stu[j4].num) {for(i3=j4;i3 {stu[i3].num=stu[i3+1].num; strcpy(stu[i3].name,stu[i3+1].name); stu[i3].computer=stu[i3+1].computer; stu[i3].english=stu[i3+1].english; stu[i3].maths=stu[i3+1].maths; stu[i3].phy=stu[i3+1].phy; stu[i3].vc=stu[i3+1].vc; } i--; printf("deletesucessfull\n"); } else{printf("Can'tfindthenumofthestudentpleaseentertherightnum\n");choice();} printf("1.continue\n2.return"); scanf("%d",&za); while(za! =1&&za! =2) printf("pleaseentertherightchoice"); if(za==1)printf("pleasecontinueenter\n"); if(za==2)choice(); } } voidinto() { intza; for(;;) {if(i==100){choice();printf("Thesytermisfull,youcan'tcontinue.sorry\n");} else{ printf("pleaseenterthemessageofthestudent\n"); printf("pleaseenterthenameofthestudent\n"); scanf("%s",&stu[i].name); printf("pleaseenterthenumofthestudent\n"); scanf("%d",&stu[i].num); printf("pleaseenterthescoreofthestudent\n"); printf("phy: "); scanf("%d",&stu[i].phy); printf("maths: "); scanf("%d",&stu[i].maths); printf("computer: "); scanf("%d",&stu[i].computer); printf("English: "); scanf("%d",&stu[i].english); printf("VC: "); scanf("%d",&stu[i].vc); i++; if(i>=100){choice();printf("Thesytermisfull,youcan'tcontinue.sorry\n");} printf("0.continue\n1.return"); scanf("%d",&za); while(za! =0&&za! =1) printf("pleaseentertherightchoice"); if(za==0)printf("pleasecontinueenter\n"); if(za==1)choice(); } } } voidprint() { intk,j,m,a; structstudenttemp; while (1) { printf("Doyouwanttocontinue? \n1.continue\n2.return\n"); scanf("%d",&a); if(a==1) { for(k=0;k { stu[k].sum=stu[k].phy+stu[k].maths+stu[k].english+stu[k].computer+stu[k].vc; stu[k].aver=stu[k].sum/5; } for(j=0;j {for(k=0;k if(stu[k].sum { temp=stu[k]; stu[k]=stu[k+1]; stu[k+1]=temp; }} printf("Thelistofthestudent's: \n"); printf("==============================================\n"); for(k=0;k { printf("%d.",k+1); m=k+1; printf("%dthstudentnameis%s\nnumis%d\nphyis%d\nmathsis%d\nenglishis%d\ncomputeris%d\nvcis%d\nsumis%d\naveris%f\n",m,stu[k].name,stu[k].num,stu[k].phy,stu[k].maths,stu[k].english,stu[k].computer,stu[k].vc,stu[k].sum,stu[k].aver); } } elsechoice(); } 八.课程设计心得体会 几周的课程设计就这样的过去了,可以说这几周过的很艰难,自己和同组同学经历了构思、设计、上机调试、运行,经过一遍又一遍的上机调试、运行才使得课程设计做的相对完满,当遇到不会不懂不明白的地方就通过翻阅书籍,上网找资料,问老师,和同学一起讨论等一些方式来解决问题。 通过几周对c语言的深入研究,我知道,学好c语言的思想是最重要的,因为c语言是对代码研究的一种语言,有些语法句法研究就可以通过对c语言这种基本的语言来进行实现,函数是c语言的基本结构,所以对函数的调用和使用都需小心。 总之,这次的课程让我学了不少东西,也让我对编程更有兴趣,虽然学得不太好,不过知道了努力的方向。 由于本人的实力有限,经验不足,恳请老师能多多指点,我将虚心领教。 九、参考文献 [1]谭浩强著.C程序设计(第三版).北京: 清华大学出版社,2005 [2]田淑清主编.二级教程-C语言程序设计08版.高等教育出版社 安徽师范大学物理与电子信息学院 安徽师范大学物理与电子信息学院 CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity 物理与电子信息学院课程设计评定意见 指导教师评语 主要内容包括: 设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。 成绩: 签名: 年 月 日 注: 本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 成绩管理系统 软件