您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > c语言课程设计 成绩记录簿
上海交通大学课程设计课程设计2010~2011学年第二学期设计题目成绩记录簿院(系)理学院专业数学与应用数学班级学号学生姓名设计时间2011年6月5日——2011年6月15日指导教师提交日期2011年6月15日程序设计语言课程设计报告2上海应用技术学院课程设计任务书课程名称程序设计语言课程设计课程代码B704010设计题目1.算术练习2.个人收支管理3.通讯录4.成绩记录簿5.图书借阅管理6.日程表管理题目序号4设计时间2011年6月5日——2011年6月15日系(院)数学系专业数学与应用数学班级一、课程设计任务(条件)、具体技术参数(指标)1.在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)2.每个题目限一人完成,题目选定后不可更换。3.用户提供的主操作界面应该方便用户的操作。4.最后提交的课程设计成果包括:a)课程设计报告电子稿。c)源程序文件。d)可执行程序文件。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1.分析课程设计题目的要求;2.写出详细设计说明;3.编写程序代码,调试程序使其能正确运行;4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5.设计完成后提交课程设计报告和源代码文件的电子文档。三、课程设计工作进度计划:第一天选择课程设计题目,分析课题的要求,确定设计方案;第二天按功能模块编写详细设计说明和程序流程图;第三~六天编写与调试程序;第七天写课程设计报告;第八天提交课程设计报告并答辩;四、主要参考资料[1]谭浩强.C程序设计(第三版).北京:清华大学出版社,2005[2]谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社,2005[3]HerbertSchildt.C语言大全(第四版).北京:电子工业出版社,2004[4]程序设计语言课程设计指导书.指导教师(签名):教研室主任(签名):程序设计语言课程设计报告32011年6月5日2011年6月15日目录1概述........................................................................................................................41.1课程设计目的.........................................................41.2课程设计要求.........................................................41.3设计要求具体说明.....................................................52详细设计说明........................................................................................................52.1总体设计方案.........................................................62.2程序描述.............................................................72.3功能结构.............................................................72.4主要模块描述.........................................................82.5采用的算法...........................................................93程序测试..............................................................................................................104课程设计总结......................................................................................................145软件使用说明......................................................................................................156附录(参考文献,原代码:)............................................................................16程序设计语言课程设计报告41概述1.1课程设计目的1巩固和加深学生对C语言课程的基本知识的理解和掌握;2掌握C语言编程和程序调试的基本技能;3利用C语言进行基本的软件设计;4掌握书写程序设计说明文档的能力5提高运用C语言解决实际问题的能力。5.1课程设计要求基本功能a)添加成绩b)删除成绩c)查询学生成绩d)查询班级成绩e)退出拓展功能a)写入文件b)读取文件创新(自拟)功能:求平均成绩并由此排序。程序设计语言课程设计报告55.2设计要求具体说明基本功能:成绩记录簿中记录以下数据:学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分;输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0~100之间的整数,学分:1~5之间的实型数。添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示;查询(班级或个人)成绩:a)查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成的总学分。b)查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同学不同课程在不同分数段分布的人数及百分比。c)拓展功能:定义合适的结构体类型,使用链表或数组的方式组织数据。a)程序启动时先从文件读入数据,如果文件中没有数据则给出提示;b)每次修改的数据写入文件。6详细设计说明1,设计好算法,用流程图表示出来。2,分别做好主函数,和需要用到的各个函数。3,将他们拼接好,进行调试。4,美化界面环境。程序设计语言课程设计报告6主函数退出按平均值排序查询删除求平均值增加6.1总体设计方案主函数退出按平均值排序查询删除求平均值增加程序设计语言课程设计报告76.2程序描述(给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且还要说明本程序的特点)1,建立一个主界面2,用switch语句进行分类讨论3,分别进入录入,查询,删除,求平均值等子函数。4,将子函数与主函数相连即可。该程序可以建立学生的成绩记录。可以方便老师和同学方便的查阅成绩。这个程序有录入和删除的功能。还可以求出平均成绩,并排序。6.3功能结构(说明该程序应具有的功能,给出功能结构图)录入学生成绩查询成绩删除成绩求平均分按平均分排序退出主函数退出按平均值排序查询删除求平均值增加程序设计语言课程设计报告86.4主要模块描述(对主要模块包括主程序分别进行功能描述、设计说明、操作说明,并给出流程图)主程序提供一个界面,允许用户选择。使用switch语句,用时直接输入数字即可。增加函数,功能是插入学生成绩。使用一个无穷循环,直到录入”n”时结束。删除函数,功能是删除,分为两步,先找后删。找,用strcmp函数来做如果找到记录i值,反之记为-1;删除可以从i项开始将数组的后一项赋值给前一项。前一项自动被删掉。这样完成删除。查询函数与之类似,将删除改为输出即可;求平均值函数与查询类似只是输出时只输出平均值而已。按平均值排序只要加一个排序函数即可。退出函数什么都不写,即可。程序设计语言课程设计报告96.5采用的算法(详细分析说明本程序所选用的算法,具体的计算公式和计算步骤)程序设计语言课程设计报告10首先进入主函数,如果选一,进入Student_Insert();函数,用户录入数据。直到录入”n”时停止。如果选二,进入Student_modify();用户输入信息,然后系统求出平均值并且输出.如果选三,进入Student_Delete();先找到这条信息,然后删除,如果找不到,输出错误.如果选四,进入Student_Select();查询信息找到输出,找不到输出错误.如果选五,进入Student_SortByAverage();按平均值排序输出.如果选六,进入exit();直接跳出程序.7程序测试1,开始时2,输入13,按要求录入。程序设计语言课程设计报告11输入y时输入n时程序设计语言课程设计报告12选5时程序设计语言课程设计报告13显然输入2也可以得到正确结果。选择3时选择y选择4时选择6时程序设计语言课程设计报告14(说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果等。实际测试情况等等)8课程设计总结(通过二周课程设计进行自我总结,包括你学到了什么,哪里遇到了困难,解决的办法以及系统可以进行哪些功能的提升等等。)学到的东西4,原先写程序直接编,条理性太差。如果先做一个流程图就条理很多。5,学会了将文件保存在硬盘里。6,使用#includeconio.h和system(colore0)可以改变屏幕和字体颜色。7,我在查找学生姓名时遇到困难。从课本上找到了一个函数strcmp,问题解决困难1,我在定义学生的学号时首先用整型。发现输出与录入不同。改用长整型仍然不行。但是字符型却可以做到。2,当输入的学号大过8位时,学号会自动变为学号加姓名..不知道为什么?(如图所示)程序设计语言课程设计报告15功能的不足1,我的程序无法完成对输入数据的检查。在我加入一个“Ifgoto”语句时程序报错。所以我只好将这段程序删除。这样就无法检验数据正误。同时即使同一个学生的信息已经录入,再次录入时也不能报错。2,我的程序是将学生的姓名作为一个线索。所以当题目要求找到一个学生并输出其信息时毫无问题。但是这个程序无法在以某门课为线索找到所有学生成绩。3,开始写程序时未使用链表,程序冗杂。长度较大,不灵活。4,我的程序无法修改。一旦某个数据输入错误,就只好删除,然后重新输入。9软件使用说明输入时不要超过定义的字数,否则出错.程序设计语言课程设计报告16(对你所设计软件的使用进行说明)10附录(参考文献,原代码:)参考文献谭浩强.C程序设计(第三版).北京:清华大学出版社,2005原代码#includestdio.h#includeconio.h//定义学生结构体//structStudent{charID[8];charName[20];floatMark1;floatMark2;floatMark3;floatAverage;intmark1;intmark2;intmark3;longintkcbh1;longintkcbh2;longintkcbh3;charkecheng1[29];charkecheng2[29];charkecheng3[29];};//声明学生数组及学生数量//structStudentstudents[1000];intnum=0;//求平均值//floatAvg(structStudentstu){return(stu.mark1*stu.Mark1+stu.mark2+stu.Mark2+stu.mark3+stu.Mark3)/(stu.Mark1+stu.Mark2+stu.Mark3);}程序设计语言课程设计报告17//通过学号返回//intStudent_SearchByIndex(charid[]){inti;for(i=0;inum;i++){if(strcmp(students[i].ID,id)==0){re
本文标题:c语言课程设计 成绩记录簿
链接地址:https://www.777doc.com/doc-3422192 .html