课程表C++课程设计报告.docx

上传人:b****7 文档编号:8811020 上传时间:2023-02-01 格式:DOCX 页数:16 大小:145.60KB
下载 相关 举报
课程表C++课程设计报告.docx_第1页
第1页 / 共16页
课程表C++课程设计报告.docx_第2页
第2页 / 共16页
课程表C++课程设计报告.docx_第3页
第3页 / 共16页
课程表C++课程设计报告.docx_第4页
第4页 / 共16页
课程表C++课程设计报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

课程表C++课程设计报告.docx

《课程表C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《课程表C++课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。

课程表C++课程设计报告.docx

课程表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;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1