C语言课程设计方案学生成绩管理系统软件.docx
- 文档编号:2592034
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:14
- 大小:18.87KB
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 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 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 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 j++) {for(k=0。 k 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 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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 方案 学生 成绩管理系统 软件