1、进一步掌握和利用C+进行程设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会利用流程图或N-S图表示算法;掌握书写程设计开发文档的能力(书写课程设计报告);2、总体设计3.1、程序具体功能:1、录入 (按照提示录入药品信息);2、浏览(选择操作,就可以浏览药品的具体信息);3、修改(输入一个药品的ID号码,修改其编号);4、查询 (按输入的ID号码或者根据生产商查询相应的药品信息);5、读取(选择相应操作,对文件中的信息进行读取);6、保存(选择相应操作保存文件中的信息);7、删除(按照输入的ID号删除对应的ID的药品信息);8、排序(选择相应
2、的排序方式进行升序或降序);3.2、调试分析上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如 没有搭配完整,漏写 ,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。而且还可以减少机器时间。往往一连串的错误是由于漏写或写错一个字符引起的。在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题。问题如下:1.文件进行保存否知道:2.文件读取功能实现不了,进行此操作无反应:3.项目的录入数量明明设置了为n,所以的操作都是以n作为条件进行,但是为什么输入超过两个的时候系统就发生了错误:4.对于修改功能,其他的信息都能够进行顺利的
3、修改,但是选题类型修改后输出的还是之前的,而没有进行修改:4、源程序和运行结果4.1、源程序#include stringfstreamusing namespace std;class Dateprivate: int year,month,day;public: void display(); int get_year();/获取year值 int get_month();/获取month值 int get_day();/获取day值 void set_year();/设置year值 void set_month();/设置month值 void set_day();/设置day值 voi
4、d set_all(int y,int m,int d);void Date:set_all(int y,int m,int d) year = y; month = m; day =d ;display() coutyear年month月day日endl;int Date:get_year() return year;get_month() return month;get_day() return day;set_year()endlyear;set_month()月:month;set_day()日:day;class Drug Drug(); Drug(int n,string na,
5、string lb,string scs,string jx,float zl,string gg,Date d);/举个例子吧,某药品,0.2mg/支,10ml/支,10支/盒。那0.2mg就是规格。 /某药品,0.。1mg/粒,10支/盒。0.1mg就是规格。 Drug(); void input_Drug(); void output_Drug(); int get_num();/获取药品编号 string get_name(); string get_LB(); string get_SCS(); string get_JX(); float get_ZL(); string get_
6、GG(); void set_num(int xnum);/设置编号 Date get_date(); void set_allE(int n,string na,string lb,string scs,string jx,float zl,string gg,int year, int month,int day); int num; string name; string LB;/药品类别 string SCS;/生产商 string JX;/剂型 float ZL;/装量 string GG;/规格 Date date;/生产日期string Drug:get_name() retur
7、n name;int Drug:get_num() return num;Date Drug:get_date() return date;get_LB() return LB; string Drug:get_JX() return JX; float Drug:get_ZL() return ZL;get_GG() return GG;void Drug:set_allE(int n,string na,string lb,string scs,string jx,float zl,string gg,int year, int month,int day) num=n; name=na;
8、 LB=lb; SCS=scs; JX=jx; ZL=zl; GG=gg; date.set_all(year,month,day);Drug:Drug() num=0; name= LB= SCS= JX= ZL=0; GG=input_Drug()药品编号:num;药名:name;类别:LB;生产商 :SCS;剂型 :JX;装量 :ZL;规格 :GG;生产日期 : date.set_year(); date.set_month(); date.set_day();output_Drug() 药品编号-药名-类别生产商剂型装量规格-生产日期numttnametLBSCSJXZLGGdate.
9、get_year()-date.get_month()date.get_day()get_SCS() return SCS;set_num(int xnum) num=xnum;Drug(int n,string na,string lb,string scs,string jx,float zl,string gg,Date d):num(n),name(na),LB(lb),JX(jx),ZL(zl),GG(gg),date(d)Drug()class DrugSys Drug e1000; int m;/要输入数据的个数 DrugSys(); void menu();/显示菜单 void
10、 input_all();/输入所有药品信息 void output_all();/输出所有药品信息 void modify_num();/修改指定药品ID int search_num(); int search_name();/查找指定药品编号 int search_SCS(); void read_fromfile(); void save_tofile(); void op();/所有操作 void DrugSys:delete_Drug();/删除sort_ID_Drug(); /按ID进行排序DrugSys:DrugSys()void DrugSys:menu() system(color F1); * * * * 欢迎进入天津城建大学药品信息管理系统 * - | 主菜单 | | | |