内蒙古科技大学课程设计说明书.docx
《内蒙古科技大学课程设计说明书.docx》由会员分享,可在线阅读,更多相关《内蒙古科技大学课程设计说明书.docx(13页珍藏版)》请在冰点文库上搜索。
内蒙古科技大学课程设计说明书
C++设计报告
班级:
08电信一班
姓名:
赵同景
学号:
0867118135
一、前言……………………………………………………
二、程序功能介绍…………………………………………
三、类设计………………………………………………….
四、程序流程图…………………………………………….
五、源程序…………………………………………………
六、调试及运行结果………………………………………
七、重点难点体会
参考文献……………………………………………………
前言:
此程序使用C++语言设计,运行软件选择MicrosoftVisualC++6.0。
计算机系统环境为windowsXP。
一、程序功能介绍
此程序主要功能可分为6个模块:
1输入功能
2查询功能
3按价格排序
4显示信息
5退出系统
所有功能模块均设计为car类或者manage的成员函数,通过switch函数选择语句调用不同的成员函数而实现各个功能,switch中的选项输错时自动返回重新输入
通过manage类中的成员函数对系统进行管理;
二、类设计
本程序中只含有2个类,即car和manage在主程序中用manage类定义一个对象a,通过此对象调用各模块对系统的各成员函数进行调用,以此实现各个功能
Car类所包含的成员:
私有成员:
1.carname字符数组//用于储存汽车名
2.numberr长整型数据//用于储存汽车型号
公有成员:
price双精度数据//用于储存汽车价格
1.getcar()函数//用于将存于内存中的信息保存到文件中2.display()函数//用于添加新的联系人
manage类包含的成员:
私有成员:
1:
choice
2:
ncar
公有成员:
manage()//构造函数为ncar赋初值
dismenu()//管理菜单
input()//为系统输入信息
output()//输出查询信息
showall()//显示信息
run()//为系统选择所要调用的函数
sort()//为系统排序
carcars[50]
三、程序流程图
五.源程序代码
#include
#include
classcar
{
public:
voidgetcar(char*cn,longnum,doublep)//记录输入
{
strcpy(carname,cn);number=num;price=p;
}
voiddisplay();
doubleprice;//价格
private:
charcarname[20];//汽车名
longnumber;//型号
};
voidcar:
:
display()
{
cout<<"汽车名:
"<"<"<}
classmanage//管理功能
{
public:
manage(){ncar=1;}
voiddispMenu();
voidsort();
voidinput();
voidoutput();
voidshowall();
voidrun();
carcars[50];
private:
intchoice;
intncar;
};
voidmanage:
:
dispMenu()//管理菜单
{
cout<<"===========车辆管理系统=========="<cout<<"1.输入记录"<cout<<"2.查询记录"<cout<<"3.按价格排序"<cout<<"4.显示信息"<cout<<"5.退出"<cout<<"输入选项(1—5):
";
cin>>choice;
}
voidmanage:
:
input()//输入功能
{
charcarname[20];longnumber;doubleprice;
cout<<"输入汽车名字:
";cin>>carname;
cout<<"输入型号:
";cin>>number;
cout<<"输入价格:
";cin>>price;
cars[ncar].getcar(carname,number,price);
ncar++;
}
voidmanage:
:
output()//输出查询信息
{inta;
cout<<"显示第几号数据(1~10):
";
cin>>a;
cars[a].display();
}
voidmanage:
:
sort()//排序功能
{
cartemp;
for(intj=1;jfor(intk=j;kif(cars[j].price{
temp=cars[j];
cars[j]=cars[k];
cars[k]=temp;
}
showall();
}
voidmanage:
:
showall()
{
for(intj=1;jcars[j].display();
}
voidmanage:
:
run()
{
do
{
dispMenu();
switch(choice)
{
case1:
input();break;
case2:
output();break;
case3:
sort();break;
case4:
showall();break;
}
}while(choice!
=5);
}
intmain()
{
managea;
a.run();
return0;
}
六.调试及运行结果
程序运行调用dismenu()函数打印菜单,如图6-1.
图6-1
选择1系统运行输入功能,,如图6-2
图6-2
选择2,运行查询记录功能模块,如图6-3。
图6-3
选择3,运行价格排序功能模块,如图6-4。
图6-4
选择4,运行修改信息功能模块,如图6-5。
图6-5
选择5,运行退出系统功能模块,如图6-6。
图6-6
七:
感悟体会:
通过这次编程真正体会到理论和实际结合的难度,平时接触的纯理论真正到自己运用的时候方知甚少以及两者的区别,不过通过这次的设计实践到让自己看到了自己哪些方面的不足,由于平时动手的少,在做这次设计的时候遇到了很多困难,比如如何实现系统连续性以及某些函数的合理实现更好的服务系统,但是在平时可能遇到这些困难也就退缩了,但是这是任务,我必须完成,多亏互联网的共享资源,我多方寻址终的其解,完成之后有很大的成就感,也让我明白大学生压力的重要性,如果没有压力什么事都干不成的,虽然我做的设计可能并不能达到老师的要求但是我很欣慰这是我自己动手做出的设计,里面倾注了自己大量的心血,所以不管别人怎么看我的程序,我都会心地暗暗自豪,当然不会自傲,也希望老师能针对我的设计给予标准的评断和好的建议,帮助我少走弯路,认识到自己那些区域的缺陷,以便早日弥补。
参考文献
1.《C++面向对象程序设计》,吴敏、杨国林主编,内蒙古大学出版社
2.《C++语言程序设计(第三版)》,郑莉,清华大学出版社
3.《C++Primer中文版第五版》Prata.S