学生成绩信息管理系统课程设计报告.doc
2013年7月7日C程序设计课程设计报告(20122013学年第二学期)题目学生成绩信息管理系统专业信息管理与信息系统班级姓名学号指导教师一、题目学生成绩管理系统二、程序设计要求(1)要求用VISUALC语言来实现一个简单的学生成绩管理系统,该系统完成之后,基本上要能够无错运行,能达到学生成绩管理系统的基本要求。(2)各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的CPP文件中,要求使用头文件。(3)准备系统模拟的数据,不得少于10条。(4)成绩管理程序至少应具备以下功能1)输入学生的基本信息,包括学号姓名性别籍贯VISUALC成绩英语成绩物理成绩等;2)计算每个学生的总成绩平均成绩所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;3)查询可以按学号姓名VISUALC成绩查询4)排序可以按学号姓名VISUALC成绩英语成绩物理成绩总成绩平均成绩等进行排序并输出;5)删除删除某条记录;6)按学分绩点计算办法计算每个学生学分绩点,并从高到低输出;7)按奖学金评定办法,从特等开始输出获得奖学金学生名单及其成绩与绩点;8)按三好学生评定办法,输出三好学生名单;9)帮助和关于;10)退出退出整个系统的运行。三、程序的运行1进入系统2系统选择界面3管理系统的运行1、增加学生成绩2、显示学生成绩3、排序统计成绩4、查找学生成绩5、删除学生成绩6、修改学生成绩7、获奖学金学生8、查看三好学生9、帮助与关于0、安全退出系统四、心得与体会在此次的课程设计的活动中,我大大加强了自己的动手能力,更进一步的学习了C的编程的方面的学习,熟练了自己的编程技巧,这次课程设计,提高了我独立分析解决问题的能力和培养了我的创新精神。五、程序的编写INCLUDEINCLUDEINCLUDEINCLUDEINCLUDE//用GETCHUSINGNAMESPACESTD//STUDENT类CLASSSTUDENTPUBLICCHARNAME20CHARID20CHARSEX10CHARORIGIN30INTCNUM//C课程得分INTENUM//英语课程得分INTPNUM//物理课程得分INTSUM//个人总分FLOATAVERAGE//个人平均分FLOATPOINTS//个人学分积点STUDENTNEXTVOIDSYSTEM“CLS“COUTNAMECOUTIDCOUTSEXCOUTORIGINCOUTCNUMCOUTENUMCOUTPNUMSUMCNUMENUMPNUMAVERAGESUM/3POINTSCNUMENUMPNUM/1015VOIDREADFILEISTREAMVOIDSHOWCOUTNEXTPENDPPNEXTPSHOWAPCNUMBPENUMCPPNUMXIFSSSUMSSPSUMSTRCPYXA,PNAMEIFCCCNUMCCPCNUMSTRCPYXB,PNAMEIFEEENUMEEPENUMSTRCPYXC,PNAMEIFPPPNUMPPPPNUMSTRCPYXD,PNAMEAA/XBB/XCC/XCOUTNEXTPENDPPNEXTIFMPOINTSSTRCPYMM,PNAMECOUTCNUMENUMPNUMSUMAVERAGEPOINTSNEXTPENDPPNEXTIFPCNUM80COUTENDNEXTNEWSTUDENTENDENDNEXTCOUTNEXTENDPPNEXTIFSTRCMPPNEXTNAME,NAMERETURNPRETURNNULLSTUDENTFINDIDCHARIDFORSTUDENTPHEADPNEXTENDPPNEXTIFSTRCMPPNEXTID,IDRETURNPRETURNNULLSTUDENTFINDSEXCHARSEXFORSTUDENTPHEADPNEXTENDPPNEXTIFSTRCMPPNEXTSEX,SEXRETURNPRETURNNULLSTUDENTFINDORIGINCHARORIGINFORSTUDENTPHEADPNEXTENDPPNEXTIFSTRCMPPNEXTORIGIN,ORIGINRETURNPRETURNNULL//构造函数STUDENTMASSAGESTUDENTMASSAGEHEADNEWSTUDENTHEADNEXTNEWSTUDENTENDHEADNEXTINOPEN“SORTTXT“IFINCOUTREADFILEINIFENDNAME00BREAKENDNEXTNEWSTUDENTENDENDNEXTINCLOSECOUTNEXTENDTEMPHEADNEXTHEADNEXTHEADNEXTNEXTDELETETEMPDELETEHEAD,END//菜单VOIDSTUDENTMASSAGESHOWMENUCOUT“XSWITCHXCASE1COUTNAMEIFPFINDITEMNAMEPNEXTSHOWCOUTIDIFPFINDIDIDPNEXTSHOWCOUTNAMEIFPFINDITEMNAMECOUTNEXTCOUTNAMEIFPFINDITEMNAMETEMPPNEXTPNEXTPNEXTNEXTDELETETEMPCOUTNAME,P1NAMESTRCPYTEMPID,P1IDSTRCPYTEMPSEX,P1SEXSTRCPYTEMPORIGIN,P1ORIGINTEMPCNUMP1CNUMTEMPENUMP1ENUMTEMPPNUMP1PNUMTEMPSUMP1SUMTEMPAVERAGEP1AVERAGETEMPPOINTSP1POINTSSTRCPYP1NAME,P2NAMESTRCPYP1ID,P2IDSTRCPYP1SEX,P2SEXSTRCPYP1ORIGIN,P2ORIGINP1CNUMP2CNUMP1ENUMP2ENUMP1PNUMP2PNUMP1SUMP2SUMP1AVERAGEP2AVERAGEP1POINTSP2POINTSSTRCPYP2NAME,TEMPNAMESTRCPYP2ID,TEMPIDSTRCPYP2SEX,TEMPSEXSTRCPYP2ORIGIN,TEMPORIGINP2CNUMTEMPCNUMP2ENUMTEMPENUMP2PNUMTEMPPNUMP2SUMTEMPSUMP2AVERAGETEMPAVERAGEP2POINTSTEMPPOINTS//INTSTUDENTMASSAGELISTCOUNT//统计当前链表的记录总数,返回一个整数IFHEADRETURN0INTN0FORSTUDENTPHEADNEXTPENDPPNEXTNRETURNN//VOIDSTUDENTMASSAGESORT//对当前链表进行排序COUTTSWITCHTCASE1FORPHEADNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPSUMKSUMSTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPCNUMKCNUMSTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPENUMKENUMSTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPPNUMKPNUMSTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPAVERAGEKAVERAGESTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTFORKPNEXTKENDKKNEXTIFPPOINTSKPOINTSSTUDENTMASSAGESWAPK,PCOUTNEXTPENDPPNEXTOUTNAMEIDSEXORIGINCNUMENUMPNUMSUMAVERAGEPOINTSXSWITCHXCASE0QUITTRUEBREAKCASE1GRADEADDITEMBREAKCASE2GRADEDISPLAYBREAKCASE3GRADESORTBREAKCASE4GRADEFINDBREAKCASE5GRADEREMOVEITEMBREAKCASE6GRADEMODIFYITEMBREAKCASE7GRADESCHOLARSHIPBREAKCASE8GRADEMERITBREAKCASE9GRADEHELPBREAKRETURN0