《面向对象程序设计(VC++)》
课程设计报告
设计题目:
教室信息管理系统
班
学
姓
级:
号:
名:
指导教师:
开始日期:
完成日期:
XXXX 大学 软件学院
一、课程设计题目
教室信息管理系统
二、功能说明
教室信息管理系统对教室信息进行管理,教室信息包括教室号、地点、楼层、
容量、类别等。此信息管理系统的功能包括:浏览数据、增加数据、修改数据、
查询数据(按教室号、按容量)退出等。
三、数据描述
本系统设计了一个教室类,其中教室类中主要存储了公有数据成员:教室号、
地点、楼层、容量、类别等,还包括构造函数、析构函数等共有成员函数,head
指针是教室类的对象指针。各成员函数(浏览数据的函数、增加数据的函数、修
改数据的函数、查询数据的函数)可以通过教室类的对象在主程序中进行调用,
相关操作包括浏览数据、增加数据、修改数据、查询数据、退出等。
本程序还应用了多重选择结构(if…else if 语句 )、指针等。
在主程序中,用户可以通过输入不同的数。进行相应的操作。
四、概要设计
在该教室信息管理系统的设计中,首先建立类,将数据成员封装起来,接着
建立成员函数实现函数的功能,在主函数中定义教室类的对象指针,调用成员函
数,从而实现教室信息管理系统的功能。
主程序流程图。
欢 迎 界 面
一、
浏
览
数
据
二、
增
加
数
据
三、
修
改
数
据
四、
查
询
数
据
五、
退
出
五、源程序
#include
#include
using namespace std;
class classroom {
public:
int room_num;
char room_adrees[30];
int louceng;
int rongliang;
char object[10];
classroom *next;
classroom();
};
//声明classroom类
//定义classroom类的指针next
//构造函数
//构造函数初始化数据成员
classroom::classroom() {
room_num=0;
strcpy(room_adrees,"NULL");
louceng=0;
rongliang=0;
strcpy(object,"NULL");
}
//浏览数据的函数
int display_room(classroom *Head) {
while(Head->next!=NULL) {
cout<<"教室号:";
cout<next->room_num<next->room_adrees<next->louceng<next->rongliang<next->object<next;
}
return 0;
}
int add_room(classroom *Head) {
classroom *s=new classroom;
//增加数据的函数
s->next=Head->next;
Head->next=s;
cout<<"教室号:";
cin>>s->room_num;
cout<<"地点:";
cin>>s->room_adrees;
cout<<"楼层:";
cin>>s->louceng;
cout<<"容量:";
cin>>s->rongliang;
cout<<"类别:";
cin>>s->object;
return 0;
}
int modify_room(classroom *Head,int num) {
while(Head->next!=NULL) {
if(Head->next->room_num==num) {
cout<<"教室号:";
cin>>Head->next->room_num;
cout<<"地点:";
cin>>Head->next->room_adrees;
cout<<"楼层:";
cin>>Head->next->louceng;
cout<<"容量:";
cin>>Head->next->rongliang;
cout<<"类别:";
cin>>Head->next->object;
}
else
Head=Head->next;
}
return 0;
}
//修改数据的函数
int base_on_room_num(classroom *Head,int num) {
数据的函数
while(Head->next!=NULL) {
if(Head->next->room_num==num) {
cout<<"教室号:";
cout<
next->room_num</*按容量查
cout<next->room_adrees<next->louceng<next->rongliang<next->object<next;
}
return 0;
}
int base_on_rongliang(classroom *Head,int rongliang) {
询数据的函
数*/
while(Head->next!=NULL) {
if(Head->next->rongliang==rongliang) {
cout<<"教室号:";
cout<next->room_num<next->room_adrees<next->louceng<next->rongliang<next->object<next;
}
return 0;
}
void main() {
classroom *head=new classroom;
head->next=NULL;
int n=1;
//调用浏览数据的函数
//调用增加数据的函数
//调用修改数据的函数
while(n) {
cout<<"1.浏览数据\n";
cout<<"2.增加数据\n";
cout<<"3.修改数据\n";
cout<<"4.按教室号查询数据\n";
cout<<"5.按教室容量查询数据\n";
cout<<"6.退出\n\n";
cout<<"请选择菜单项:";
int a;
cin>>a;
if(a==1) {
display_room(head);
}
else if(a==2) {
add_room(head);
cout<<"\n增加成功!\n\n";
}
else if(a==3) {
cout<<"请输入要修改的教室号:";
int num;
cin>>num;
modify_room(head,num);
cout<<"\n修改成功!\n\n";
}
else if(a==4) {
cout<<"请输入教室号:";
int room_num;
cin>>room_num;
if(base_on_room_num(head,room_num))
cout<<"\n\n查询完毕!\n\n";
else
cout<<"\n\n没有查询到相关信息\n\n";
}
else if(a==5) {
cout<<"请输入容量:";
int rongliang;
cin>>rongliang;
if(base_on_rongliang(head,rongliang))
cout<<"\n\n查询完毕!\n\n";
else
cout<<"\n\n没有查询到相关信息\n\n";
}
//按教室号查询数据
/*按教室容量查询数据*/
else if(a==6) {
cout<<"谢谢使用!再见!\n";
n=0;
}
else
cout<<"菜单错误\n";
}
}
六、测试分析
1、运行程序进入教室信息管理系统,界面显示
1.浏览数据
2.增加数据
3.修改数据
4.按教室号查询数据
5.按教室容量查询数据
6.退出
请选择菜单项:
用户可以根据需要选择所需服务类别,并根据提示进行操作。
2、存在的问题及解决的方法
基本实现了课程设计目标。但指针运用不太熟悉。
七、总结
通过这次的课程设计,使我更加深刻的了解了面向对象程序设计的主要思想
和特点。在面向对象的程序设计中,用类封装数据,程序模块化设计。
思路清晰明了,易于理解。通过面向对象的学习,在今后的程序设计中可以
拓宽思路,更加熟练掌握面向对象程序设计的方法,以及其他编程语言的使用。