




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习资料收集于网络,仅供参考4、偏旁加部件组成新字或连线。美丽的鲜花 美丽的春天 美丽的孔雀三、句子彳双人旁 (徐 往) 目 目字旁(眼 睛 盯)走字旁:赶、起(4)、照样子写出来。公(公共)元(一元)亮(明亮)很(很好)队(中队)间(时间)名(名字)汽(汽水)定时 时间 房间 帮忙 早晚 送给 干净 伙伴 起立 得到 得意又说又笑 又高又大 又香又甜大 连 科 技 学 院面向对象程序设计(A)课程设计题 目 好学生C+成绩管理系统 学生姓名 安凯辰 专业班级 计算机08-1班 指导教师 王影 刘瑞杰 职 称 高工 讲师 所在单位 信息科学系计算机教研室 教学部主任 王立娟 完成日期 2011年9月9日学习资料课程设计报告单学号0801020112姓名安凯辰专业班级计算机08-1考 核 项 目评分备注1平时工作态度及遵守纪律情况(10分)2掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度(20分)4完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)(60分)总评成绩综 合 评 定:(优、良、中、及格、不及格) 指导教师签字:2011年9月9日面向对象程序设计(A)课程设计任务书一、课程设计任务及要求:任务:为了解决中高学校信息混乱不易查找、减轻相关工作压力等问题。本次课程设计开发了这套稳定可靠、操作简单、相对安全的在校学生C+成绩管理系统。该系统将对学生成绩信息进行管理,输入N个学生的成绩,包括学号,姓名,成绩,通过插入、删除、修改、输出优秀成绩人数等操作对系统进行操作。 要求:(1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。(2)提交课程设计报告。(3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数在200行语句以上。二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。第2个工作日第3个工作日:设计程序结构、模块图。第4个工作日第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字:2011年8月29日目录1需求分析12概要设计23详细设计33.1主函数流程图33.2类的设计33.3函数的设计34编码44.1功能函数代码44.2程序运行环境75调试分析96测试结果及运行效果107系统开发所用到的技术14参考文献15课程设计实践总结16附录171需求分析用链表数据结构完成一个学生C+成绩管理系统,此系统具体功能如下:(1) 学生成绩输入功能用户从键盘输入每个学生的信息:学号、姓名、C+成绩。(2) 文件保存功能a 学生成绩等信息存为一个数据文件,数据文件可在程序中打开、修改和重新保存。b 用户输入学生成绩可随时保存数据文件。(3) 文件打开功能a 程序只能对当前打开的数据文件进行编辑。(4) 查询功能a 浏览所有学生成绩;b 按学号查询学生成绩;c 查询某个学生成绩;d 查询及格学生个数和优秀成绩学生个数。(5) 修改功能对已经存在的学生成绩进行修改,并保存。(6) 报表输出功能a 按学号输出一个学生信息:学号、姓名、C+成绩,到屏幕和文件。 2概要设计图2-1函数的功能设计图设计思路:1.宏定义N,因为题目要求输入多个学生信息,在程序过程中比较繁琐。而使用宏定义可以大大减轻负担。2.定义一个学生结构体,声明结构体类型Student。包括一个数组num,可以容纳6个字符,包括6个整型变量。3.定义Student类型的数组stu和数组stud。struct结构体名 成员表列;4.构建各个模块:输入模块,统计优秀成绩模块,删除模块,修改模块,查找模块,菜单模块。5调试验证,运行修改程序,及时查漏补缺。3详细设计3.1主函数流程图图3-1主函数流程图3.2类的设计类:Student数据成员:编号、学生姓名、C+成绩3.3函数的设计函数:inputData(输入成绩) searchScore(查询成绩) modifyScore(修改成绩) outputData(打印成绩) count(统计及格人数和优秀成绩人数) exitSys(退出系统)4编码4.1功能函数代码(1)输入成绩代码:void inputData(LinkList *head) /输入成绩int score;char name20;int stuNo;cout请输入姓名:name;cout请输入C+成绩:score;cout请输入编号:stuNo;insertLinkList(head,name,score,stuNo);(2)查询成绩代码: void searchScore(LinkList *head) /查询成绩。int stuNo;cout请输入编号:stuNo;LinkList * p =NULL;p =head-next;while(p & p-Data.stuNo != stuNo)p = p-next;if(!p)coutNO RESULT!Data.stuNo = stuNo)coutstuNO name score endl;coutData.stuNo D Data.scoreendl;(3)修改程序代码:void modifyScore(LinkList *head) /修改成绩。int stuNo;cout请输入编号:stuNo;cin.get();LinkList * p =NULL;p =head-next;while(p & p-Data.stuNo != stuNo)p = p-next;if(!p)coutNO RESULT!Data.stuNo = stuNo)int score;cout请输入成绩:score;cin.get();p-Data.score = score;cout改后的信息:endl;coutstuNO name score endl;coutData.stuNo D Data.scorenext;coutstuNO name score endl;while(p)coutData.stuNo D Data.scorenext;4.2程序运行环境本系统是有VC+ 6.0中文版本编译的,首先创建了一个Student的工程。图4-1在VC+中创建一个student工程其次,在Student工程中创建一个Student的类,在student类中的student.cpp中进行编译。图4-2在student.cpp中对程序进行编译图4-3编译成功,弹出cmd5调试分析此次c+课程设计,在指导教师的教导下,我学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。尽管大家很认真了,但仍有些许不足之处,这也正暴露了我们学习中的诸多漏洞,在今后仍得继续努力,踏踏实实的学好基础知识。由于对C+知识的了解不够透彻以及时间问题,本程序没有能够实现排序功能,在今后我会继续努力不断完善本程序功能。6测试结果及运行效果图6-1程序的主页面图6-2程序的第一个功能:输入学生信息及成绩图6-3程序的第二个功能:查询功能图6-4程序的第三个功能:输出所有学生的成绩图6-5修改功能界面图6-6 退出系统界面图6-7输出优秀成绩和及格人数功能7系统开发所用到的技术本程序是使用C+语言编写的。通过VC+ 6.0进行编译的,是通过cmd运行的。Visual C+6.0简称VC或VC6.0,是微软推出的一款C+编辑器,将“高级语言”翻译成“机器语言(低级语言)”的程序。Visual C+6.0开发环境是基于windows操作系统的可视化、面向对象的集成开发环境(Integrated Development Environment,IDE)。在该环境下用户可以开发有关C和C+的各种应用程序,应用程序包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单选项或工具栏按钮来完成,使用方便、快捷。它还提供了项目工作区(WorkSpace)、应用程序向导(AppWizard)、类操作向导(ClassWizard)和WizardBar等实用编辑工具。Visual C+6.0的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C+类层次结构,其中封装了大量的类及其函数,很多windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所需要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。命令提示符窗口(cmd.exe)是Windows的“标配”组件,它可以实现用户与操作系统的直接交流,并负责用户输入的所有命令的解释和支持。参考文献1 谭浩强.C+面向对象程序设计.北京:清华大学出版社.20062 谭浩强.C程序设计(第三版).北京:清华大学出版社.20053 谭浩强编著.C程序设计题解与上机指导(第三版).北京:清华大学出版社.20054 StanleyB.Lippman,JoseeLaijoie等.C+ primer(中文版).人民邮电出版.5 夏云庆,Visual C+6.0数据库高级编程.北京:希望电子出版社.20026 Dcoder编著.C/C+程序设计.北京:中国铁道出版社.2002课程设计总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼解决实践能力的重要环节,是对学生实际工作能力的具体训练和考察的重要环节,是对学生实际工作能力的具体训练和考察过程。回顾此次课程设计,至今我感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整两个星期的日子里,可以学到很多在书本上没有学到的知识,而且巩固了以前学过的知识。通过这次课程设计是我懂得了理论与实践相结合时很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践结合起来,从理论中得出结论,才能真正提高自己的实际动手能力。在此,感谢这两个星期里老师对我的悉心指导,帮我分析代码,解决问题。附录1 主函数部分代码#include#include#includeusing namespace std;struct studentstrint stuNo;char name20;int score; /这里假设为整型,其实为实数比较妥当;typedef struct linkstruct studentstr Data;struct link * next;LinkList;int linkListLen(LinkList * head) /返回链表长度,这样可以很容易计算学生编号int len =0;LinkList * p =NULL;p = head-next;while(p)len+;p=p-next;return len;LinkList * createLinkList(LinkList *head)head = new LinkList;head-Data.stuNo = -1;head-next = NULL;return head;int calcStuNo(LinkList *head)return 1000+linkListLen(head); /设置学号的一个起始值void insertLinkList(LinkList *head,char * name,int score,int stuNo)LinkList *p = NULL;LinkList *q = NULL;p= new LinkList;p-Data.stuNo = calcStuNo(head);strcpy(p-D,name);p-Data.score = score;p-next = NULL;q=head;while(q-next)q = q-next;q-next = p;int menu()cout好学生C+成绩管理系统endl;cout*endl;cout*endl;cout*1-输入成绩*endl;cout*2-查询成绩*endl;cout*3-修改成绩*endl;cout*4-输出所有学生成绩*endl;cout*5-统计及格和优秀人数*endl;cout*6-退出系统*endl;cout*endl;int innum;while(1)cout请输入你的选择:innum;cin.get();if(innum = 1 & innum = 6)break;elsecout输入有误!endl;return innum;2 输入成绩部分代码void inputData(LinkList *head) /输入成绩int score;char name20;int stuNo;cout请输入姓名:name;cout请输入C+成绩:score;cout请输入编号:stuNo;insertLinkList(head,name,score,stuNo);3 查询成绩部分代码void searchScore(LinkList *head) /查询成绩int stuNo;cout请输入编号:stuNo;LinkList * p =NULL;p =head-next;while(p & p-Data.stuNo != stuNo)p = p-next;if(!p)coutNO RESULT!Data.stuNo = stuNo)coutstuNO name score endl;coutData.stuNo D Data.scoreendl;4 修改成绩部分代码void modifyScore(LinkList *head) /修改成绩int stuNo;cout请输入编号:stuNo;cin.get();LinkList * p =NULL;p =head-next;while(p & p-Data.stuNo != stuNo)p = p-next;if(!p)coutNO RESULT!Data.stuNo = stuNo)int score;cout请输入成绩:score;cin.get();p-Data.score = score;cout改后的信息:endl;coutstuNO name score endl;coutData.stuNo D Data.scorenext;coutstuNO na
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政府财务报告相关问题研究
- 浙江省农村信用社改制问题研究
- 收楼合同(标准版)
- 给付性保险合同(标准版)
- 城市定向赛策划方案
- 长短句变换课件
- 电商客服规则考核试题(附答案)
- 安防工程监控安装售后服务及技术支持方案
- 长沙水电八局安全培训课件
- 2025年建筑施工企业安管人员考试(专职安全生产管理人员C1类)能力提高训练题及答案
- 2025版全新舞台租赁及演出项目管理合同
- 行政执法检查规范课件
- QC/T 983-2025汽车变速器总成清洁度检测方法
- 2025海南省纪委监委所属事业单位招聘事业编制人员8人(第1号)笔试参考题库附答案解析
- 行政法专业毕业论文
- 2025年中国银行考试题目及答案
- 小学德育工作会议记录
- 战略客户管理办法
- 2025年《临床输血技术规范》
- 男女平等宣传课件
- 顾客信息保密管理办法
评论
0/150
提交评论