收藏 分销(赏)

C++专业课程设计专业资料.doc

上传人:w****g 文档编号:2864557 上传时间:2024-06-07 格式:DOC 页数:34 大小:333.54KB
下载 相关 举报
C++专业课程设计专业资料.doc_第1页
第1页 / 共34页
C++专业课程设计专业资料.doc_第2页
第2页 / 共34页
C++专业课程设计专业资料.doc_第3页
第3页 / 共34页
C++专业课程设计专业资料.doc_第4页
第4页 / 共34页
C++专业课程设计专业资料.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、大 连 科 技 学 院面向对象程序设计(A)课程设计题 目 好学生C+成绩管理系统 学生姓名 安凯辰 专业班级 计算机08-1班 指引教师 王影 刘瑞杰 职 称 高工 讲师 所在单位 信息科学系计算机教研室 教学部主任 王立娟 完毕日期 9月9日课程设计报告单学号姓名安凯辰专业班级计算机08-1考 核 项 目评分备注1平时工作态度及遵守纪律状况(10分)2掌握基本理论、核心知识、基本技能限度和阅读参照资料水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高限度(20分)4完毕课程设计阐明书及软件状况与水平(小组分工状况、规范性、整洁清晰、论述完整性、思路清晰限度、

2、工作量及实际运营状况和创新性)(60分)总评成绩综 合 评 定:(优、良、中、及格、不及格) 指引教师签字:9月9日面向对象程序设计(A)课程设计任务书一、课程设计任务及规定:任务:为理解决中高学校信息混乱不易查找、减轻有关工作压力等问题。本次课程设计开发了这套稳定可靠、操作简朴、相对安全在校学生C+成绩管理系统。该系统将对学生成绩信息进行管理,输入N个学生成绩,涉及学号,姓名,成绩,通过插入、删除、修改、输出先进成绩人数等操作对系统进行操作。 规定:(1) 依照软件系统开发普通原则,完毕相应系统功能设计,完毕重要功能模块程序实现并进行测试训练,给出代码运营成果和相应设计文档。可以分组进行,但

3、所有学生必要经历整个系统开发全过程,以便加深对系统开发全过程结识。(2)提交课程设计报告。(3)指标:规定完毕课程设计报告3000字以上(约二十页);完毕所设计题目,设计题目语句行数在200行语句以上。二、工作量2周(10个工作日)时间三、筹划安排第1个工作日:查找有关资料、书籍,阅读示例文档,选取题目。第2个工作日第3个工作日:设计程序构造、模块图。第4个工作日第9个工作日:完毕程序编码,并且自己调试、测试。穿插进行课程设计报告撰写。第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指引教师签字:8月29日目录1需求分析12概要设计23详细设计33.1

4、主函数流程图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

5、 查询某个学生成绩;d 查询及格学生个数和先进成绩学生个数。(5) 修改功能对已经存在学生成绩进行修改,并保存。(6) 报表输出功能a 按学号输出一种学生信息:学号、姓名、C+成绩,到屏幕和文献。 2概要设计图2-1函数功能设计图设计思路:1.宏定义N,由于题目规定输入各种学生信息,在程序过程中比较繁琐。而使用宏定义可以大大减轻承担。2.定义一种学生构造体,声明构造体类型Student。涉及一种数组num,可以容纳6个字符,涉及6个整型变量。3.定义Student类型数组stu和数组stud。struct构造体名 成员表列;4.构建各个模块:输入模块,记录先进成绩模块,删除模块,修改模块,查找

6、模块,菜单模块。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请输入姓名:nam

7、e;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.s

8、tuNo Data.name 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;

9、coutstuNO name score endl;coutData.stuNo Data.name Data.scorenext;coutstuNO name score endl;while(p)coutData.stuNo Data.name Data.scorenext;4.2程序运营环境本系统是有VC+ 6.0中文版本编译,一方面创立了一种Student工程。图4-1在VC+中创立一种student工程另一方面,在Student工程中创立一种Student类,在student类中student.cpp中进行编译。图4-2在student.cpp中对程序进行编译图4-3编译成功,弹出c

10、md5调试分析本次c+课程设计,在指引教师辅导下,我学会了如何用C+编写一种简朴应用程序。一方面要对程序设计规定有一种比较明确结识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简朴查询界面,将各个功能集中出来按照程序编写原则,便于查询。依照C+课程所学概念、理论和办法,按照C+程序设计基本环节,设计出一种恰当规模程序;进一步加深对C+语言理解和掌握。理论联系实际,加深和巩固所学理论知识,提高实践能力和计算机综合运用能力。咱们编写程序过程是辛苦与高兴,程序编写原则很重要,只要咱们在编程,就必要不断改进,才干更好提高编程能力。尽管人们很认真了,但仍有些许局限性之处,这也正暴露了

11、咱们学习中诸多漏洞,在此后仍得继续努力,踏踏实实学好基本知识。由于对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+编辑器,将“高档语言”翻译成“机器语言(低档语言

12、)”程序。Visual C+6.0开发环境是基于windows操作系统可视化、面向对象集成开发环境(Integrated Development Environment,IDE)。在该环境下顾客可以开发关于C和C+各种应用程序,应用程序涉及建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单选项或工具栏按钮来完毕,使用以便、快捷。它还提供了项目工作区(WorkSpace)、应用程序向导(AppWizard)、类操作向导(ClassWizard)和WizardBar等实用编辑工具。Visual C+6.0最大长处就是提供了功能强大MFC类库,MFC是一种很大C+类层次构造,

13、其中封装了大量类及其函数,诸多windows程序所共有原则内容可以由MFC类来提供,MFC类为这些内容提供了顾客接口原则实现办法,程序员所需要做就是通过预定义接口把详细应用程序特有东西填入这个轮廓。命令提示符窗口(cmd.exe)是Windows“标配”组件,它可以实现顾客与操作系统直接交流,并负责顾客输入所有命令解释和支持。参照文献1 谭浩强.C+面向对象程序设计.北京:清华大学出版社.2 谭浩强.C程序设计(第三版).北京:清华大学出版社.3 谭浩强编著.C程序设计题解与上机指引(第三版).北京:清华大学出版社.4 StanleyB.Lippman,JoseeLaijoie等.C+ pri

14、mer(中文版).人民邮电出版.5 夏云庆,Visual C+6.0数据库高档编程.北京:但愿电子出版社.6 Dcoder编著.C/C+程序设计.北京:中华人民共和国铁道出版社.课程设计总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼解决实践能力重要环节,是对学生实际工作能力详细训练和考察重要环节,是对学生实际工作能力详细训练和考察过程。回顾本次课程设计,至今我感触颇多,确,自从拿到题目到完毕整个编程,从理论到实践,在整整两个星期日子里,可以学到诸多在课本上没有学到知识,并且巩固了此前学过知识。通过这次课程设计是我懂得了理论与实践相结合时很重要,只有理论知识是远远不

15、够,只有把所学理论知识与实践结合起来,从理论中得出结论,才干真正提高自己实际动手能力。在此,感谢这两个星期里教师对我悉心指引,帮我分析代码,解决问题。附录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

16、) /返回链表长度,这样可以很容易计算学生编号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

17、(LinkList *head,char * name,int score,int stuNo)LinkList *p = NULL;LinkList *q = NULL;p= new LinkList;p-Data.stuNo = calcStuNo(head);strcpy(p-Data.name,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-输入成绩*end

18、l;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请输入姓名

19、: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

20、.stuNo Data.name 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

21、;coutstuNO name score endl;coutData.stuNo Data.name Data.scorenext;coutstuNO name score endl;while(p)coutData.stuNo Data.name Data.scorenext;5 记录输出某些代码void count(LinkList *head) /记录及格和先进成绩人数。LinkList *p = NULL;p=head-next;int jige = 0;int youxiu = 0;while(p)if(p-Data.score = 60)jige+;if(p-Data.score

22、 =90) /假设不不大于等于90为先进。youxiu+;p = p-next;cout及格人数为:jigeendl;cout先进人数为:youxiuendl;void exitSys() /退出系统。char temp;couttemp;cin.get();if(temp = y | temp =Y)coutexit success!n;coutBYE BYEn;exit(0);elsereturn;int main()int selectnum;LinkList *head = NULL;head = createLinkList(head);while(1)selectnum = menu();switch(selectnum)case 1:inputData(head);break;case 2:searchScore(head);break;case 3:modifyScore(head);break;case 4:outputData(head);break;case 5:count(head);break;case 6:exitSys();break;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服