c语言课程设计学生成绩管理系统设计_第1页
c语言课程设计学生成绩管理系统设计_第2页
c语言课程设计学生成绩管理系统设计_第3页
c语言课程设计学生成绩管理系统设计_第4页
c语言课程设计学生成绩管理系统设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课程设计说明书4第一章设计任务分析511课程设计意义512课程设计目的513课程设计所培养的能力514学生成绩管理系统设计要求615学生成绩管理系统实现的功能6第二章技术文档721程序的总体设计722主要数据7221库文件7222调用函数及函数文件8223结构体数组及宏定义823模块设计及具体的算法分析9231输入模块9232删除多余数据模块11233搜索模块12234插入成绩15235显示函数16236数据保存函数16237成绩排序16238统计分数17239主函数17第三章用户文档18第四章源程序代码清单19MAINC文件19COMMONC文件21DELETEITEMC文件21FINDC文件22INPUTC文件26INSERTC文件28OUTPUTC文件29PAINTC文件31SAVEC文件32SORTC文件33STATC文件38COMMONH文件44DELETEITEMH文件45FINDH文件46INPUTH文件46INSETH文件47OUTPUTH文件47PAINTH文件48SAVEH文件48SORTH文件49STATH文件49第五章测试数据和测试过程记录。50第六章遇到的问题及解决方法分析。52C语言课程设计说明书专业电子科学与技术班级学生姓名指导教师设计题目学生成绩管理系统设计条件自主设计设计内容学生成绩管理下达日期完成日期第一章设计任务分析11课程设计意义C语言是电子科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。12课程设计目的掌握和利用C语言进行程序设计的能力。用C语言合理地开发简洁有效的程序代码来实现该设计。提高用程序设计解决实际问题的能力。理解和运用结构化程序设计的思想和方法。通过提出算法、指定输入输出来设计一个解决方案。掌握开发一个小型实用系统的基本方法。学会调试一个较长程序的基本方法。测试程序是否工作且满足设计指标并评价其效率。掌握书写程序设计开发文档的能力(书写课程设计报告)。13课程设计所培养的能力A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。C、把一个算法变为用C语言编写的结构化程序。D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。G、调试程序、测试数据过程成功。14学生成绩管理系统设计要求用C语言实现系统。利用结构体数组实现学生成绩的数据结构设计。系统具有增加、查询、排序等基本功能。系统的各个功能模块要求用函数的形式实现。将学生成绩信息存在文件中。完成设计任务并书写课程设计报告。15学生成绩管理系统实现的功能(1)每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。(2)添加功能可以一次完成若干条记录的输入。(3)显示功能完成全部学生记录的显示。(4)查找功能完成按姓名、学号查找学生记录,并显示。(5)排序功能按学生学号或平均成绩进行排序。(6)保存功能将学生记录存在自定义文件名的文件中。(7)退出功能退出系统(8)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观第二章技术文档21程序的总体设计学生管理系统输入成绩插入成绩删除成绩查询成绩成绩排序统计输出保存文件退出系统22主要数据221库文件INCLUDEINCLUDEINCLUDE222调用函数及函数文件INCLUDE“COMMONH“INCLUDE“INPUTH“INCLUDE“OUTPUTH“INCLUDE“SORTH“INCLUDE“FINDH“INCLUDE“INSERTH“INCLUDE“DELETEITEMH“INCLUDE“STATH“INCLUDE“SAVEH“INCLUDE“PAINTH“VOIDDELETE_ITEMSTUDENTDATA,INTLEN/用以删除错误或多余成绩VOIDFINDSTUDENTDATA,INTLEN/用于以姓名或学号搜索成绩VOIDINPUTSTUDENTDATA,INTLEN/输出函数VOIDINSERTSTUDENTDATA,INTLEN/插入新的成绩VOIDOUTPUTSTUDENTDATA,INTLEN/输出成绩VOIDPAINT/显示界面函数VOIDSAVESTUDENTDATA,INTLEN/保存文件函数VOIDSORTSTUDENTDATA,INTLEN/成绩排序总函数VOIDSORT_NUMBERSTUDENTDATA,INTLEN/以下为成绩排序的子函数VOIDSORT_CHINESESTUDENTDATA,INTLEN/包括各科成绩、平均分及总分VOIDSORT_MATHSTUDENTDATA,INTLENVOIDSORT_ENGLISHSTUDENTDATA,INTLENVOIDSORT_AVERAGESTUDENTDATA,INTLENVOIDSORT_TOTALSTUDENTDATA,INTLENVOIDSTATSTUDENTDATA,INTLEN/统计输出223结构体数组及宏定义DEFINEMAXN35DEFINEMAX_NAME256TYPEDEFSTRUCTSTUDENT/学生信息INTNO/定义学生学号CHARNAMEMAX_NAME/学生姓名数组DOUBLECHINESE/以下分别定义语文、数学、英语、平均分、总分DOUBLEMATHDOUBLEENGLISHDOUBLEMARK_AVEDOUBLEMARK_TOTSTUDENT/定义结构体类型名23模块设计及具体的算法分析231输入模块用于成绩首次输入,需按固定格式输入但输入各科成绩中有超过100或小于0的的即为错误返回,无需再次输入学号,从课程姓名处开始输入在储存各科成绩的同时,计算总分于平均分但输入结束时,输入1可返回主界面主界面输入1按格式输入成绩判断是否有打渔100或小于0的数有则返回重新输入无则数据输入成功,接着输入下组数据输入完成后,输入1返回主界面【程序代码】INTNOPUTCHARNPRINTF“SN“,“请输入新的记录,成绩输入完成请输入1“PRINTF“SN“,“格式N学号N“PRINTF“SN“,“姓名语文数学英语“PUTCHARNPRINTF“如N“PRINTF“1N“PRINTF“黄纬宏999999N“SCANF“D“,WHILENO1DATALENNONOSCANF“SLFLFLF“,DATALENNAME,IFDATALENCHINESE100|DATALENMATH100|DATALENENGLISH100|DATALENCHINESELEN/如果计数值大于学生数,则说明未找到需要删除的学生,返回重新输入学号PRINTF“SN“,“未找到需要删除的学生“GOTOLAB/GOTO语句,跳到之前所做的节点ELSEFORIPOS1ILEN/如果检索次数大于学生数,说明没有这个学生PRINTF“SN“,“未查询到相关信息“GOTOLABELSESYSTEM“CLS“/清屏指令PRINTF“SN“,“查询信息如下“FORI0IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“INPUTH“INCLUDE“OUTPUTH“INCLUDE“SORTH“INCLUDE“FINDH“INCLUDE“INSERTH“INCLUDE“DELETEITEMH“INCLUDE“STATH“INCLUDE“SAVEH“INCLUDE“PAINTH“VOIDMAINSTUDENTDATAMAXNINTLEN0CHARCTRL_CH1PAINTSCANF“C“,WHILECTRL_CH18SWITCHCTRL_CH1CASE1INPUTDATA,/输入函数OUTPUTDATA,LEN/输出函数BREAKCASE2INSERTDATA,/插入成绩BREAKCASE3DELETE_ITEMDATA,/删除无用成绩BREAKCASE4FINDDATA,LEN/搜索成绩BREAKCASE5SORTDATA,LEN/排序函数OUTPUTDATA,LENBREAKCASE6STATDATA,LEN/统计函数BREAKCASE7SAVEDATA,LEN/保存文件BREAKDEFAULTIFCTRL_CH1NPRINTF“SN“,“输入错误“BREAKIFCTRL_CH1NPAINTSCANF“C“,COMMONC文件INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“DEFINEMAXN35DEFINEMAX_NAME256DELETEITEMC文件INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“DELETEITEMH“/删除子程序/VOIDDELETE_ITEMSTUDENTDATA,INTLENINTNO,I,POS/定义临时学号变量、计数变量LABPOS0/LAB用来作为GOTO语句的返回点PRINTF“SN“,“输入需要删除的学生的学号,退出当前菜单请输入1“SCANF“D“,IFNO1RETURN/输入为1是返回主界面WHILEDATAPOSNONOGOTOLAB/GOTO语句,跳到之前所做的节点ELSEFORIPOS1IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“FINDH“/搜索子程序/VOIDFINDSTUDENTDATA,INTLENINTFIND_NO,RESULT/定义临时学号和指针INTICHARSTR256/用来做输入值临时存放空间LABRESULT0IFLEN0/学生个数为0时,输出没有可被查找的记录PRINTF“没有可被查找的记录N“RETURNELSEPRINTF“请选择查找的方式1姓名2学号N“GETSSTRIFSTR02/如果输入值为2,即是要使用学号搜索PRINTF“SN“,“请输入需要查找的学生的学号,退出当前菜单请输入1“SCANF“D“,IFFIND_NO1RETURN/输入1时返回主界面WHILEDATARESULTNOFIND_NOGOTOLABELSESYSTEM“CLS“/清屏指令PRINTF“SN“,“查询信息如下“FORI0IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“INPUTH“/输入信息子程序/VOIDINPUTSTUDENTDATA,INTLENINTNOPUTCHARNPRINTF“SN“,“请输入新的记录,成绩输入完成请输入1“PRINTF“SN“,“格式N学号N“PRINTF“SN“,“姓名语文数学英语“PUTCHARNPRINTF“如N“PRINTF“1N“PRINTF“嘉嘉999999N“SCANF“D“,WHILENO1DATALENNONOSCANF“SLFLFLF“,DATALENNAME,IFDATALENCHINESE100|DATALENMATH100|DATALENENGLISH100|DATALENCHINESEINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“INSERTH“/插入子程序/VOIDINSERTSTUDENTDATA,INTLENINTNO,POSDOUBLECHINESE,MATH,ENGLISH,MARK_AVE,MARK_TOTINTICHARNAMEMAX_NAMELABPRINTF“SN“,“输入新的记录,退出当前菜单请输入1“PRINTF“SN“,“格式学号“PRINTF“SN“,“姓名语文数学英语“SCANF“D“,IFNO1RETURNDATALENNONOSCANF“SLFLFLF“,NAME,MARK_AVECHINESEMATHENGLISH/30MARK_TOTCHINESEMATHENGLISHPOS0WHILEDATAPOSMARK_AVEPOSIDATAI1DATAIDATAPOSNONOSTRCPYDATAPOSNAME,NAMEDATAPOSCHINESECHINESEDATAPOSMATHMATHDATAPOSENGLISHENGLISHDATAPOSMARK_AVEMARK_AVEDATAPOSMARK_TOTMARK_TOTLENGOTOLABOUTPUTC文件INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“OUTPUTH“/输出信息子程序/VOIDOUTPUTSTUDENTDATA,INTLENINTISYSTEM“CLS“PRINTF“8S“,“学号“PRINTF“8S“,“姓名“PRINTF“8S“,“语文“PRINTF“8S“,“数学“PRINTF“10S“,“英语“PRINTF“12S“,“平均分“PRINTF“10S“,“总分“PUTCHARNFORI0IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“PAINTH“/显示信息子程序/VOIDPAINTINTISYSTEM“CLS“PRINTF“50SN“,“XX学生学校成绩管理系统N“PRINTF“制作者N“FORI0IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“SAVEH“/将数据保存到文件/VOIDSAVESTUDENTDATA,INTLENINTIFILEFPFPFOPEN“成绩统计表TXT“,“W“FPRINTFFP,“8S“,“学号“FPRINTFFP,“8S“,“姓名“FPRINTFFP,“8S“,“语文“FPRINTFFP,“8S“,“数学“FPRINTFFP,“10S“,“英语“FPRINTFFP,“12S“,“平均分“FPRINTFFP,“10SN“,“总分“FPRINTFFP,“N“PUTCHARNFORI0IINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“SORTH“/排序子程序/VOIDSORTSTUDENTDATA,INTLENINTICHARCTRL_CH2SYSTEM“CLS“FORI0IDATAJNOKJIFKITEMPDATAIDATAIDATAKDATAKTEMPRETURNVOIDSORT_CHINESESTUDENTDATA,INTLENINTI,J,KSTUDENTTEMPFORI0IDATAJCHINESEKJIFKITEMPDATAIDATAIDATAKDATAKTEMPVOIDSORT_MATHSTUDENTDATA,INTLENINTI,J,KSTUDENTTEMPFORI0IDATAJMATHKJIFKITEMPDATAIDATAIDATAKDATAKTEMPVOIDSORT_ENGLISHSTUDENTDATA,INTLENINTI,J,KSTUDENTTEMPFORI0IDATAJENGLISHKJIFKITEMPDATAIDATAIDATAKDATAKTEMPVOIDSORT_AVERAGESTUDENTDATA,INTLENINTI,J,KSTUDENTTEMPFORI0IDATAJMARK_AVEKJIFKITEMPDATAIDATAIDATAKDATAKTEMPVOIDSORT_TOTALSTUDENTDATA,INTLENINTI,J,KSTUDENTTEMPFORI0IDATAJMARK_TOTKJIFKITEMPDATAIDATAIDATAKDATAKTEMPSTATC文件INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“INCLUDE“STATH“/统计子程序/VOIDSTATSTUDENTDATA,INTLENINTNO_590,NO_690,NO_790,NO_890,NO_1000/设定处于哪个分数段的人数INTIFORI0IINCLUDEINCLUDEDEFINEMAXN35DEFINEMAX_NAME256TYPEDEFSTRUCTSTUDENT/学生信息INTNOCHARNAMEMAX_NAMEDOUBLECHINESEDOUBLEMATHDOUBLEENGLISHDOUBLEMARK_AVEDOUBLEMARK_TOTSTUDENTENDIFDELETEITEMH文件IFNDEF_DELETEITEM_H_DEFINE_DELETEITEM_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDDELETE_ITEMSTUDENTDATA,INTLENENDIFFINDH文件IFNDEF_FIND_H_DEFINE_FIND_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDFINDSTUDENTDATA,INTLENENDIFINPUTH文件IFNDEF_INPUT_H_DEFINE_INPUT_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDINPUTSTUDENTDATA,INTLENENDIFINSETH文件IFNDEF_INSET_H_DEFINE_INSET_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDINSERTSTUDENTDATA,INTLENENDIFOUTPUTH文件IFNDEF_OUTPUT_H_DEFINE_OUTPUT_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDOUTPUTSTUDENTDATA,INTLENENDIFPAINTH文件IFNDEF_PAINT_H_DEFINE_PAINT_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDPAINTENDIFSAVEH文件IFNDEF_SAVE_H_DEFINE_SAVE_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDSAVESTUDENTDATA,INTLENENDIFSORTH文件IFNDEF_SORT_H_DEFINE_SORT_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDSORTSTUDENTDATA,INTLENVOIDSORT_NUMBERSTUDENTDATA,INTLENVOIDSORT_CHINESESTUDENTDATA,INTLENVOIDSORT_MATHSTUDENTDATA,INTLENVOIDSORT_ENGLISHSTUDENTDATA,INTLENVOIDSORT_AVERAGESTUDENTDATA,INTLENVOIDSORT_TOTALSTUDENTDATA,INTLENENDIFSTATH文件IFNDEF_STAT_H_DEFINE_STAT_H_INCLUDEINCLUDEINCLUDEINCLUDE“COMMONH“VOIDSTATSTUDENTDATA,INTLENENDIF第五章测试数据和测试过程记录。直接打开C语言EXE可以看到以下界面输入1并按回车。可开始输入成绩输入1返回主界面,开始输出输入的数据。输入2开始插入成绩输入1返回主界面输入3开始删除成绩,输入1返回主界面输入4开始成绩查询,包括姓名查询及学号查询,退出输入1在主界面输入5,在选择按什么方式排序输入6,将所有成绩统计输出选择输入7,为将成绩保存为TXT文件第六章遇到的问题及解决方法分析。遇到的比较多的问题是语法错误,比如在调试程序经常会出现不小心多按了哪个键或者把某个字母删掉的事情,像下面这样F课程设计C语言FINDC9ERRORC2059SYNTAXERRORF课程设计C语言FINDC9ERRORC2146SYNTAXERRORMISSINGBEFOREIDENTIFIERSULTF课程设计C语言FINDC9ERRORC2065SULTUNDECLAREDIDENTIFIERF课程设计C语言FINDC10ERRORC2143SYNTAXERRORMISSINGBEFORETYPEF课程设计C语言FINDC11ERRORC2143SYNTAXERRORMISSINGBEFORETYPEF课程设计C语言FINDC12ERRORC2065RESULTUNDECLAREDIDENTIFIERF课程设计C语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论