课程表C++课程设计.docx
- 文档编号:11031552
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:17
- 大小:23KB
课程表C++课程设计.docx
《课程表C++课程设计.docx》由会员分享,可在线阅读,更多相关《课程表C++课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
课程表C++课程设计
高校课程表设计
1、课程设计的的题目:
高校课程表设计
2、功能说明:
学生课表建立系统是学生日常生活中必不可少的实用型小工具,它对于学生平时的学习生活有着相当重要的帮助作用。
便于操作、显示精确、短小实用就是它的明显特点。
本次课程设计目的:
通过一个课程表建立系统,使学生的学业及其他事物的时间安排更加合理,从而达到提高日常工作、学习效率。
使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。
系统的基本模块:
根据系统功能的要求,课程表建立系统可以分为课程信息的输入,课程表的处理及建立等模块。
通过分析可以知道该软件主要有以下功能模块:
Ø学生课程名称显示
Ø总学周时间显示
Ø教师显示
Ø地点显示
Ø星期显示
Ø一天中具体时间显示
其中本次课程设计实现的档案模块又分为如下子模块:
Ø登陆界面:
主要是增加系统的人性化,使用户舒心
Ø信息录入:
主要是将课程相关信息录入
Ø信息处理
Ø显示项目:
对学生课程信息进行处理、列表、显示。
系统结构图1如下:
图1系统结构图
3、类的.设计:
各类的具体说明及描述
kecheng类的设计
为了实现管理系统的各功能首先定义了一个kecheng类,用来定义各种数据成员,声明这些功能函数。
比如:
说明为什么要这样设计
setvalue(),showke()等,同时声明一些私有成员。
classkecheng
{
public:
voidsetvalue();
voidshowke();
stringming[16];
stringjiao[16];
stringdi[16];
intqi[16];
intjie[16];
intxing[16];
inttang[16];
};
关键功能的实现
(1)信息的输入
setvalue()函数用来输入相关信息,包括课程名称、教师名称、教室地点、课程起始周、课程结束周、上课的星期、上课的具体时间。
输入一次信息之后可选择是否继续添加新的课程。
此函数代码如下:
1.基本信息输入
voidkecheng:
:
setvalue()
{
for(inti=0;i<16;i++)
{
cout<<"*请输入课程名称(请简写不要超过6个字)"< cin>>ming[i]; cout<<"*请输入课程教师"< cin>>jiao[i]; cout<<"*请输入教室"< cin>>di[i]; cout<<"*请输入课程的起始周"< cin>>qi[i]; 2.如果输入错误,系统会自检,提示错误 cout<<"*请输入课程的结束周"< cin>>jie[i]; if(jie[i]>20) { cout<<"输入错误! 请重新输入"< cin>>jie[i]; } 3.程序会对一课程多节课的现象进行处理 cout<<"*请输入课程一周有几天有"< ints; cin>>s; { for(intu=0;u { ming[i+u]=ming[i]; jiao[i+u]=jiao[i]; di[i+u]=di[i]; qi[i+u]=qi[i]; jie[i+u]=jie[i]; cout<<"*请输入第"< cin>>xing[i+u]; if(xing[i+u]>7) { cout<<"输入错误! 请重新输入"< cin>>xing[i+u]; } cout<<"*请输入课程是第几堂"< cin>>tang[i+u]; if(tang[i+u]>5) { cout<<"输入错误! 请重新输入"< cin>>tang[i+u]; } } } i=i+s; 4.输完一门课程之后,系统会自动提示是否进行下一课程的输入 cout<<"*请问是否继续下一个课程? (Y/N)"< charnum; cin>>num; if(num=='Y'||num=='y')continue; elsebreak; } } (2)信息的处理与输出 showke()函数,此部分用来实现课程相关信息的排序,包括表格的建立与信息的对应输出,此函数用来显示课程表的界面,用了一些“——”号建立表格, 在程序重的最后,通过for来实现整个程序的循环,并且使用了switch选择分支结构,使功能更容易实现。 1.基本课表表头的输出 此函数代码如下: voidkecheng: : showke() { cout<<"////////////////////////////////"< cout<<"//课程表//"< cout<<"////////////////////////////////"< cout<<"_____________________________________________________________________________________________________"< cout<<"|一|二|三|四|五|六|日|"< cout<<"_____________________________________________________________________________________________________"< 2.对一天时间(1~10节)的格式输出 此函数代码如下: for(inti=1;i<6;i++) { intl; switch(i) { case1: cout<<"一(1-2)|";break; case2: cout<<"二(3-4)|";break; case3: cout<<"三(5-6)|";break; case4: cout<<"四(7-8)|";break; case5: cout<<"五(9-10)|";break; } 3.循环输出课程信息,这里采用双循环,用于控制表格位置的对号输出及信息的循环输出 此函数代码如下: for(intj=1;j<8;j++) { l=0; for(intn=0;n<16;n++) { if(tang[n]==i&&xing[n]==j) { cout< l=1; } } if(l==0) { cout<<"|"; } } cout< cout<<"|"; cout<<"_____________________________________________________________________________________________________"< 软件测试与调试 进入本程序如图2所示 图2登陆界面 系统会提示输入相关信息,课程是星期几、第几堂是必须输入的,输入一次信息之后可选择是否继续添加新的课程如图3所示。 图3显示输入界面 如果选择不继续系统就会显示结果如图4所示 图4显示输出界面 程序在执行时经常会出现一些违反设计期望的异常情况(如数值过大),一些大型的应用系统的开发人员提出,可以在允许的范围内由应用程序自身来处理一般性的程序运行错误。 C++语言异常处理由三个部分构成。 异常检测的触发、异常检测的捕获和异常检测的处理。 在这里我通过添加检测函数来确保程序的正常运行 代码如下: if(xing[i+u]>7) { cout<<"输入错误! 请重新输入"< cin>>xing[i+u]; } 结束语 经过1周多的设计和开发,学生课程表建立基本开发完毕。 其功能基本符合用户需求,能够完成信息完整输入以及各类报表的打印。 对于数据的一致性的问题也通过程序进行了有效的解决。 但是由于课程设计时间较短,所以该系统还有许多不足之处: 比如系统维护功能,还不能让用户进行数据备份和恢复;用户界面不够美观;这些都有待进一步改善。 附录: 要注释 源程序清单 #include #include #include usingnamespacestd; classkecheng//模块一 { public: //公有数据 voidsetvalue();//输入函数 voidshowke();//处理、输出函数 stringming[16];//课程名 stringjiao[16];//教师名 stringdi[16];//教室地点 intqi[16];//课程起始周 intjie[16];//课程结束周 intxing[16];//星期 inttang[16];//第几堂 }; voidkecheng: : setvalue()//模块二 { for(inti=0;i<16;i++)//for循环控制输入 { cout<<"*请输入课程名称(请简写不要超过6个字)"< cin>>ming[i]; cout<<"*请输入课程教师"< cin>>jiao[i]; cout<<"*请输入教室"< cin>>di[i]; cout<<"*请输入课程的起始周"< cin>>qi[i]; if(qi[i]>20) { cout<<"输入错误! 请重新输入"< cin>>qi[i];//重新输入 } cout<<"*请输入课程的结束周"< cin>>jie[i]; if(jie[i]>20)//错误判断 { cout<<"输入错误! 请重新输入"< cin>>jie[i];//重新输入 } cout<<"*请输入课程一周有几天有"< ints; cin>>s;//输入节数 { for(intu=0;u { ming[i+u]=ming[i]; jiao[i+u]=jiao[i]; di[i+u]=di[i]; qi[i+u]=qi[i]; jie[i+u]=jie[i]; cout<<"*请输入第"< cin>>xing[i+u]; if(xing[i+u]>7) { cout<<"输入错误! 请重新输入"< cin>>xing[i+u]; } cout<<"*请输入课程是第几堂"< cin>>tang[i+u]; if(tang[i+u]>5) { cout<<"输入错误! 请重新输入"< cin>>tang[i+u]; } } } i=i+s; cout<<"*请问是否继续下一个课程? (Y/N)"< charnum; cin>>num; if(num=='Y'||num=='y')continue;//继续下一个 elsebreak;//结束输入 } } voidkecheng: : showke()//模块三 { cout<<"////////////////////////////////"< cout<<"//课程表//"< cout<<"////////////////////////////////"< cout<<"_____________________________________________________________________________________________________"< cout<<"|一|二|三|四|五|六|日|"< cout<<"_____________________________________________________________________________________________________"< for(inti=1;i<6;i++) { intl;//用l来检测此项是否有内容输出 switch(i)//课表的一天节数输出 { case1: cout<<"一(1-2)|";break; case2: cout<<"二(3-4)|";break; case3: cout<<"三(5-6)|";break; case4: cout<<"四(7-8)|";break; case5: cout<<"五(9-10)|";break; } for(intj=1;j<8;j++) { l=0; for(intn=0;n<16;n++) { if(tang[n]==i&&xing[n]==j) { cout< l=1; } } if(l==0) { cout<<"|";//若没有则输出空格 } } cout< cout<<"|"; for(j=1;j<8;j++) { l=0; for(intn=0;n<16;n++) { if(tang[n]==i&&xing[n]==j) { cout< l=1; } } if(l==0) { cout<<"|";//若没有则输出空格 } } cout< cout<<"|"; for(j=1;j<8;j++) { l=0; for(intn=0;n<16;n++) { if(tang[n]==i&&xing[n]==j) { cout< l=1; } } if(l==0) { cout<<"|";//若没有则输出空格 } } cout< cout<<"|"; for(j=1;j<8;j++) { l=0; for(intn=0;n<16;n++) { if(tang[n]==i&&xing[n]==j) { cout<<"("< (2)< (2)< cout<<"|"; l=1; } } if(l==0) { cout< cout<<"|"; } } cout< cout<<"_____________________________________________________________________________________________________"< } } intmain()//模块四 { cout<<"***************欢迎使用课程表建立系统^-^***************"< kechengke; cout<<"***************请输入相关课程信息***************"< ke.setvalue();//若没有则输出空格用 ke.showke(); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程表 C+ 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)