C++程序设计实习报告模板.docx
《C++程序设计实习报告模板.docx》由会员分享,可在线阅读,更多相关《C++程序设计实习报告模板.docx(52页珍藏版)》请在冰点文库上搜索。
C++程序设计实习报告模板
北华大学
电气信息工程学院
《C++程序设计实习》报告
课题名称:
1、门诊挂号管理系统
2、成绩查询管理系统
专业班级:
通信09-1
学 号:
2
姓 名:
索明
时间:
2011.11.7-2011.11.18
一、课程设计目的
了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境
的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
二、设计题目
题目1门诊挂号管理系统
1.需求分析
旨在开发一个统一的医院信息管理平台,利用信息化手段辅助医院管理,达到提升医院信息化管理水平的目的。
医院管理人员能够更方便的进行管理工作,包括患者信息管理、医师信息管理、医院信息管理、收费信息管理等。
患者用户能够利用该系统进行信息查询、挂号;医师则能够更方便的获取患者信息;医院可以更方便的对患者和本院医师的信息进行管理。
2.设计思路
1.)系统模块图
2.)系统采用的关键(难点)技术
a.病人个人信息类
#definePERSON_H
//定义一个病人个人信息类
classperson
{
public:
//输入个人信息及确定挂号单编号
voidinput();
//统计普通门诊与专家门诊的人数
voidoutput();
//统计各科人数
voidcount();
//统计内科科室中各诊室的人数
voidroomall();
//查询病人信息
voidchaxun();
3.程序说明
使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。
所以系统主要涉及两大类:
仓库类、商品类。
系统框架就是仓库类和商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。
考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。
仓库类包含:
所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。
所有货物都具有的公共信息及操作可以使用仓库类进行描述。
由于系统具有3类货物且3类货物信息数据,操作基本相同,所以可以为他们创立相同的类,并且采用继承和派生。
4.测试运行的结果
1.)商场库存货物管理系统首页
2).商品入库
3).商品查询
4).按商品名查询
5).按商品价格查询
6).按商品大类查询
7).商品报损
1.需求分析
小型公司有经理、技术员、销售员以及销售经理等四类员工。
该系统可对各个员工的各种情况(包括名字、年龄、性别、职工号、工资状况、工作时间、销售额)进行输入。
然后可以输出。
可以按姓名或职工号对员工基本信息进行查询。
系统可以对销售经理下属的销售员的各种情况进行统计,并可以对销售经理按销售总额由高到低进行排序。
系统可以对各类员工的各种情况进行统计。
系统可以将员工所有的基本信息进行保存备份。
2.
设计思路
首先,创建了一个Employer基类.然后派生出四个类:
Manager、Technician、Seller、Salemanager.在基类定义了四个虚函数用于对派生类所有数据进行输入、输出、统计、打印、排序、查询等。
其次,在总体结构上,建立一级菜单,用于选择各种功能.
数据输入:
输入员工的各种数据.
数据统计:
将员工的总数据进行对比排序,然后输出.
数据打印:
显示输入的各种数据.
数据备份:
对输入的数据进行保存备份.
信息检索:
对员工的信息进行检索并输出。
退出程序:
执行退出程序命令.
3.程序说明
此系统是面向小型公司的工资管理系统,可用于有四个经理、四个技术员、四个销售经理及下属的十六个销售员的工资管理。
此系统含有多级菜单,一级菜单共包括六个控件。
控件一:
信息输入,按“1”并按回车键进入下级菜单,二级菜单包括五个控件,可以分别对经理、技术员、销售员、销售经理的姓名、性别、职工号、年龄、工资等基本信息进行输入,可根据屏幕的提示进行相关信息的输入。
控件二:
信息统计,按“2”并按回车键,直接对每个销售经理下属的四位销售员的姓名、性别、职工号、年龄、工资等基本信息进行统计,并对四位销售经理按工资又高到低排序并输出。
控件三:
数据打印,按“3”并按回车键进入下一级菜单,此时可分别选择对经理、技术员、销售员和销售经理的职工号、姓名、性别、年龄、工资等信息进行打印,按“5”并按回车返回主菜单。
控件四:
数据备份,按“4”并按回车可直接将所有员工的基本信息保存到c盘下“公司员工基本信息.txt”文件中。
控件五:
员工信息检索,按“5”并按回车进入下级菜单,此时可选择按职工号或按姓名检索。
按“3”返回上一级菜单。
控件六:
结束程序。
4.运行结果
三、
心得体会
四、附录A商场库存货物管理系统程序代码清单
//main.cpp
#include
#include
#include
#include
#include
#include
usingnamespacestd;
//仓库管理员类
classadmin
{
public:
admin();
private:
stringname;
};
//仓库货架类
classshelf
{
public:
shelf();
private:
adminmen;//管理员
stringstoreNo;//仓库编号
stringkinds;//商品大类
stringshelfNo;//货架号
};
//electricalclass
classele
{
public:
ele();
private:
stringname;//商品名
doubleprice;//介格
shelfsh;//所属货架
longcount;//商品数量
};
//管理(组合类)
classmana
{
public:
mana();
charfirst_face();//首页
voidin_storage();//入库
voidout_storage();//出库
voidselect_ele();//查询
voidselect_name();//按商品名称查询
voidselect_price();//按商品价格查询
voidselect_kind();//按大类查询
voidcall_break();//商品报损
private:
eleaele;
shelfashelf;
adminabs;
};
//电器类默认构造函数
ele:
:
ele():
sh()
{
name="xxx";//商品名
price=0.0;//介格
count=0;//商品数量
}
//
//仓库货架类默认构造函数
shelf:
:
shelf():
men()
{
storeNo="xxx";//仓库编号
kinds="xxx";//商品大类
shelfNo="xxx";;//货架号
}
//仓库管理员类
admin:
:
admin()
{
name="xxx";
}
//管理类默认构造函数
mana:
:
mana():
aele(),ashelf(),abs()
{
}
charmana:
:
first_face()
{
system("cls");
cout<cout<<<<<<<<<<<<<<<returngetch();
}
//入库
voidmana:
:
in_storage()
{
system("cls");
stringname;//商品名
doubleprice;//介格
stringstoreNo;//仓库编号
stringkinds;//商品大类
stringshelfNo;//货架号
longcount=0;//商品数量
cout<"<cout<<"\t商品名称:
";
cin>>name;
cout<";
cin>>price;
cout<";
cin>>count;
cout<";
cin>>storeNo;
cout<";
cin>>kinds;
cout<";
cin>>shelfNo;
ofstreamstoreFile("store.txt",ios:
:
app);
storeFile<:
left)<<<<storeFile.close();
cout<system("pause");
}
//出库
voidmana:
:
out_storage()
{
system("cls");
stringname;//商品名
cout<"<cout<<"\t商品名称:
";
cin>>name;
ifstreamstoreFile("store.txt");
if(!
storeFile)
{
ofstreamstoreFile1("store.txt");
storeFile1.close();
cout<!
!
!
"<system("pause");
return;
}
boolflag=false;
stringname1;//商品名
doubleprice1;//介格
stringstoreNo1;//仓库编号
stringkinds1;//商品大类
stringshelfNo1;//货架号
longcount1=0;//商品数量
ofstreamtempFile("temp.txt");
while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1)
{
if(name1==name)
flag=true;
else
{
tempFile<:
left)<<<<}
}
tempFile.close();
storeFile.close();
if(!
flag)
{
cout<!
!
"<system("pause");
return;
}
ofstreamstoreFile1("store.txt");
ifstreamtempFile1("temp.txt");
storeFile1<storeFile1.close();
tempFile1.close();
cout<!
!
"<system("pause");
}
//查询
voidmana:
:
select_ele()
{
while
(1)
{
system("cls");
cout<cout<<"\t============================================================="<<<"\t||||"<<<"\t||商品查询||"<<<"\t||||"<<<"\t||1.按商品名称查询||"<<<"\t||||"<<<"\t||2.按商品价格查询||"<<<"\t||||"<<<"\t||3.按大类查询||"<<<"\t||||"<<<"\t||4.返回||"<<<"\t||||"<<<"\t============================================================="<charselect=getch();
switch(select)
{
case'1':
select_name();
break;
case'2':
select_price();
break;
case'3':
select_kind();
break;
case'4':
return;
default:
break;
}
}
}
//按商品名称查询
voidmana:
:
select_name()
{
system("cls");
cout<"<cout<<"\t输入商品名:
";
stringname;
cin>>name;
stringname1;//商品名
doubleprice1;//介格
stringstoreNo1;//仓库编号
stringkinds1;//商品大类
stringshelfNo1;//货架号
longcount1=0;//商品数量
ifstreamstoreFile("store.txt");
if(!
storeFile)
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1)
{
if(name1==name)
{
flag=true;
cout<:
left)<<<<}
}
storeFile.close();
if(!
flag)
cout<!
!
";
cout<system("pause");
}
//按商品价格查询
voidmana:
:
select_price()
{
system("cls");
cout<"<cout<<"\t输入价格:
";
doubleprice;
cin>>price;
stringname1;//商品名
doubleprice1;//介格
stringstoreNo1;//仓库编号
stringkinds1;//商品大类
stringshelfNo1;//货架号
longcount1=0;//商品数量
ifstreamstoreFile("store.txt");
if(!
storeFile)
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1)
{
if(price1==price)
{
flag=true;
cout<:
left)<<<<}
}
storeFile.close();
if(!
flag)
cout<!
!
";
cout<system("pause");
}
//按大类查询
voidmana:
:
select_kind()
{
system("cls");
cout<"<cout<<"\t输入大类名:
";
stringkinds;
cin>>kinds;
stringname1;//商品名
doubleprice1;//介格
stringstoreNo1;//仓库编号
stringkinds1;//商品大类
stringshelfNo1;//货架号
longcount1=0;//商品数量
ifstreamstoreFile("store.txt");
if(!
storeFile)
{
cout<!
!
"<system("pause");
return;
}
boolflag=false;
cout<<<"商品大类"<<"货架号"<while(storeFile>>name1>>price1>>count1>>storeNo1>>kinds1>>shelfNo1)
{
if(kinds1==kinds)
{
flag=true;
cout<:
left)<<<<}
}
storeFile.close();
if(!
flag)
cout<!
!
";
cout<system("pause");
}
//商品报损
voidmana:
:
call_break()
{
system("cls");
stringname;//商品名
cout<"<cout<<"\t商品名称:
";
cin>>name;
ifstreamstoreFile("store.txt");
if(!
storeFile)
{
ofstreamstoreFile1("store.txt");
storeFile1.close();
cout<!
!
!
"<