- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
选修课系统--C课程设计
第一章 课程设计的目的
该课程设计的总体目的是:通过设计一个设计一个小的系统,进一步熟悉C++中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
本组课程设计选择的题目是学生选修课程系统设计,因为题目的关系涉及C++的知识并不多,我们只定义了学生类和课程类,增加删除学生、课程信息等主要模块都是通过指向两个类的结构体指针实现的,在我们四个成员的分工合作下还是基本实现了该系统的要求。
通过本次课程设计,我们达到了以下几个目的:
① 在课程设计中巩固了以前学过的知识,并且把它们综合运用起来。这次我们的系统设计关于c++中的类封装和继承基本不涉及,但对链表的应用体会更深了,能够方便使用指向类的指针实现课程,学生信息增删等函数了。要知道链表可是以前C语言课程设计中的知识点,现在知识捡回来了。
② 调动了我们主动学习的积极性, 并引导我们根据实际编程要求, 训练自己实际分析问题的能力及编程能力, 并养成良好的编程习惯。通过完成整个完整的系统设计, 算法和源程序分开, 为我们创造独立思考的条件,在充分理解要求和算法的前提下,设计自己的应用程序。
③ 课程设计能顺利完成,是靠各自组的分工合作的结果,让我们领会到团结合作精神的力量强大,学会共赢,实践能力也增强了。
第二章 课程设计题目问题描述和要求
2.1 题目的问题描述
题目名称:学生选修课系统
题目内容:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课设计选修课程系统,使之能提供以下功能:系统以菜单方式工作课程信息录入功能(课程信息用文件保存)--输入课程信息浏览功能--输出查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询学生选修课程(可选项)第三章 系统分析与设计
3.1 系统的总体设计
如图1.1所示为一个学生选修课系统,它包含了增加学生、增加课程、删除学生、删除课程、课程信息、课程信息编码查询、学生情况、保存数据、退出系统共十个子系统,该系统的总体框架结构大致如此。
图1.1 学生选修课程系统
3.2 系统的详细设计
3.3.1如图1.2为课程信息流程图,该课程信息图包含一个if条件语句和一个while循环语句,前者用于判断是否有课程信息,后者用输出所有课程信息(其中课程类中输出函数没详细表示在该图中了)。
图1.2 课程信息流程图
3.2.2如图1.3为选课情况流程图,该函数前面第一个if和while语句是显示所有选课情况,后面是显示查询的课程选课信息,getkname(),retfirst()等课程类的成员函数限于篇幅而没详细画出来了。
图1.3 选课情况流程图
3.2.3 如图1.4为保存数据流程图,其中的数据写入所建文件是通过调用ostream的成员函数write()来完成的。
图1.4 保存数据流程图
3.3 源程序编制
3.3.1如下程序代码所示,为课程信息的程序代码,程序不是很复杂,“//”后为注释,解释得清楚了,最后附带了show-kmessage()的具体内容。
int menu_2_5(subjectdb *P)//课程信息
{
system(cls);
subjectdb *q=P-Next;
if(q!=NULL)
cout课程信息如下:endl;
else
{
cerr对不起,暂无课程信息,按任意键继续endl;
return 1;
}
while(q)//通过指针q一个一个显示课程信息
{
q-sub.show_kmessage();
q=q-Next;
}
cout按任意键继续endl;
return 1;
}
注:
void show_kmessage()//课程类里的显示课程信息的成员函数
{
cout课程名称:kname 课程编号:knum 课程学分:credit 课程总学时:khours 课程授课学时ktehours 课程实验学时课程klab 开课学期ktimeendl;
}
3.3.2如下程序代码所示,为选课情况代码,其中有3个if语句和3个while语句,而且是相互嵌套的,稍显复杂,注释解释的还是基本清楚的。
int menu_2_8(subjectdb *P) //选课情况
{
subjectdb *q = P-Next;
char M[20],N[20];
system(cls);
cout\n\n\t\t\t\t选课情况操作endl;
您可能关注的文档
- 中国玩具批发群起争雄.pdf
- 《送东阳马生序》导学案Microsoft Word 文档.doc
- 我市民生档案管理情况调查...doc
- 亳州市人口社会事务综合服务信息系统工作方案.doc
- Windows Vista蓝屏代码含义和解决方案.doc
- NRC6系列接触器式继电器.pdf
- 蓝屏代码分析及解决方法.doc
- 欧姆龙触摸屏NT31手册6-11-4.pdf
- 欧姆龙触摸屏NT31手册6-11-5.pdf
- 欧姆龙触摸屏NT31手册7-6.pdf
- 2026中国工商银行江苏省分行校园招聘备考题库含答案详解(精练).docx
- 2026中国农业银行海南省分行校园招聘173人备考题库附答案详解(完整版).docx
- 2026中国农业银行深圳市分行校园招聘133人备考题库附答案详解(黄金题型).docx
- 2026中国工商银行天津市分行秋季校园招聘备考题库含答案详解(培优).docx
- 2026中国工商银行厦门市分行校园招聘195人备考题库及答案详解(有一套).docx
- 2026中国工商银行工银科技校园招聘备考题库带答案详解(名师推荐).docx
- 2026中国农业银行重庆市分行校园招聘384人备考题库带答案详解.docx
- 2026中国工商银行大连市分行秋季校园招聘备考题库含答案详解(夺分金卷).docx
- 2026中国农业银行江苏省分行校园招聘1198人备考题库及参考答案详解.docx
- 2026中国建设银行厦门市分行秋季校园招聘120人备考题库含答案详解(巩固).docx
最近下载
- 城市总体规划水资源论证报告书.pdf VIP
- ZSMC之山智控 G2系列伺服驱动器使用手册.pdf VIP
- 2024球墨铸铁管外表面锌基涂层第1部分:带终饰层的金属锌及锌合金涂层.docx VIP
- 剑桥英语PU1-Unit 1 知识清单.pptx VIP
- 全国高考10年(2015-2024)地理真题分类汇编 专题16城市、产业与区域发展含详解.docx
- 第18课 辛亥革命(共28张PPT)必修 中外历史纲要(上).pptx VIP
- 形考作业1:实训3 完成App项目原型的制作.doc VIP
- TB∕T 1010-2016 铁道车辆轮对及轴承型式与基本尺寸(可复制版).pdf
- (2025年)事业单位会计面试真题及答案.docx VIP
- 剑桥PU1-Unit 4 知识清单.pdf VIP
原创力文档


文档评论(0)