高级程序设计语言c--课程设计-天津城建大学医院药品管理信息系统大学论文.doc
《高级程序设计语言c--课程设计-天津城建大学医院药品管理信息系统大学论文.doc》由会员分享,可在线阅读,更多相关《高级程序设计语言c--课程设计-天津城建大学医院药品管理信息系统大学论文.doc(24页珍藏版)》请在咨信网上搜索。
学 号 高级程序设计语言C++课程设计 设计说明书 天津城建大学医院药品管理信息系统 起止日期: 201年 7 月 6日 至 201 年 7 月 17日 学生姓名 班级 成绩 指导教师(签字) 计算机与信息工程学院 201年 7月6日 高级程序设计语言C++课程设计 目 录 1、设计目的 1 2、总体设计 1 3、详细设计: 2 3.1、程序具体功能 2 3.2、调试分析 2 4、源程序和运行结果 3 4.1、源程序 3 4.2、运行结果 16 4.3、心得体会 24 天津城建大学医院药品管理信息系统 1、 设计目的 .通过实验实现对学生信息系统的管理操作; .进一步掌握和利用C++进行程设计的能力; .进一步理解和运用结构化程序设计的思想和方法; .初步掌握开发一个小型实用系统的基本方法; .学会利用流程图或N-S图表示算法; .掌握书写程设计开发文档的能力(书写课程设计报告); 天津城建大学药品管理信息系统 2、 总体设计 按ID大 小给 药品 排序 保存药品信息 按ID删除药品信息 读取药品信息 按ID或 生产商 查询 药品 信 息 按ID修改药品信息 浏览药品信息 录入药品信息 3、详细设计: 3.1、程序具体功能: ① 、录入 (按照提示录入药品信息); ② 、浏览(选择操作,就可以浏览药品的具体信息); ③ 、修改(输入一个药品的ID号码,修改其编号); ④ 、查询 (按输入的ID号码或者根据生产商查询相应的药品信息); ⑤ 、读取(选择相应操作,对文件中的信息进行读取); ⑥ 、保存(选择相应操作保存文件中的信息); ⑦ 、删除(按照输入的ID号删除对应的ID的药品信息); ⑧ 、排序(选择相应的排序方式进行升序或降序); 3.2、调试分析 上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如{ }没有搭配完整,漏写 ,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。而且还可以减少机器时间。往往一连串的错误是由于漏写或写错一个字符引起的。 在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题。 问题如下: 1. 文件进行保存否知道: 2. 文件读取功能实现不了,进行此操作无反应: 3. 项目的录入数量明明设置了为n,所以的操作都是以n作为条件进行,但是为什么输入超过两个的时候系统就发生了错误: 4. 对于修改功能,其他的信息都能够进行顺利的修改,但是选题类型修改后输出的还是之前的,而没有进行修改: 4、源程序和运行结果 4.1、源程序 #include <iostream> #include <string> #include <fstream> using namespace std; class Date { private: 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值 void set_all(int y,int m,int d); }; void Date::set_all(int y,int m,int d) { year = y; month = m; day =d ; } void Date::display() { cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; } int Date::get_year() { return year; } int Date::get_month() { return month; } int Date::get_day() { return day; } void Date::set_year() { cout<<endl<<"年:"; cin>>year; } void Date::set_month() { cout<<"月:"; cin>>month; } void Date::set_day() { cout<<"日:"; cin>>day; } class Drug { public: Drug(); Drug(int n,string na,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_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); private: int num; string name; string LB;//药品类别 string SCS;//生产商 string JX;//剂型 float ZL;//装量 string GG;//规格 Date date;//生产日期 }; string Drug::get_name() { return name; } int Drug::get_num() { return num; } Date Drug::get_date() { return date; } string Drug::get_LB() { return LB; } string Drug::get_JX() { return JX; } float Drug::get_ZL() { return ZL; } string Drug::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; 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=" "; } void Drug::input_Drug() { cout<<"药品编号:"; cin>>num; cout<<"药名:"; cin>>name; cout<<"类别:"; cin>>LB; cout<<"生产商 :"; cin>>SCS; cout<<"剂型 :"; cin>>JX; cout<<"装量 :"; cin>>ZL; cout<<"规格 :"; cin>>GG; cout<<"生产日期 :"; date.set_year(); date.set_month(); date.set_day(); } void Drug::output_Drug() { cout<<" 药品编号"<<"---"<<"药名"<<"----"<<"类别"<<"----"<<"生产商"<<"---"<<"剂型"<<"---"<<"装量"<<"----"<<"规格"<<"-----"<<"生产日期"<<endl; cout<<" "<<num<<"\t\t"<<name<<"\t"<<LB<<"\t"<<SCS<<"\t"<<JX<<"\t"<<ZL<<"\t"<<GG<<"\t"<<date.get_year()<<'-'<<date.get_month()<<'-'<<date.get_day()<<endl; } string Drug::get_SCS() { return SCS; } void Drug::set_num(int xnum) { num=xnum; } Drug::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::~Drug() { } class DrugSys{ private: Drug e[1000]; int m;//要输入数据的个数 public: DrugSys(); void menu();//显示菜单 void 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();//删除 void DrugSys::sort_ID_Drug(); //按ID进行排序 }; DrugSys::DrugSys() { } void DrugSys::menu() { system("color F1"); cout<<endl; cout<<" ********************************************"<<endl; cout<<" * *"<<endl; cout<<" * 欢迎进入天津城建大学药品信息管理系统 *"<<endl; cout<<" * *"<<endl; cout<<" ********************************************"<<endl; cout<<endl; cout<<" --------------------------------------------"<<endl; cout<<" | 主菜单 |"<<endl; cout<<" | |"<<endl; cout<<" | |"<<endl; cout<<" | 1、药品信息的录入 |"<<endl; cout<<" | 2、药品信息的显示 |"<<endl; cout<<" | 3、修改药品的ID信息 |"<<endl; cout<<" | 4、通过快捷功能进行药品查询 |"<<endl; cout<<" | 5、读取信息 |"<<endl; cout<<" | 6、保存信息 |"<<endl; cout<<" | 7、删除药品功能 |"<<endl; cout<<" | 8、排序功能 |"<<endl; cout<<" | 9、退出 |"<<endl; cout<<" --------------------------------------------"<<endl; cout<<endl<<endl<<endl; } void DrugSys::input_all() { cout<<"请输入需要录入的项目的数量(m):"; cin>>m; for(int i=0;i<m;i++) e[i].input_Drug(); } void DrugSys::output_all() { for(int i=0;i<m;i++) e[i].output_Drug(); } void DrugSys::modify_num()//修改函数 { int i=search_num(); if(i<m) { int xnum; cout<<"请输入新的药品编号:"; cin>>xnum; e[i].set_num(xnum); e[i].output_Drug(); } } int DrugSys::search_name()//按姓名查询功能 { string searchname; cout<<"请输入要查找的药品名:"; cin>>searchname; for(int i=0;i<m;i++) { if(e[i].get_name()==searchname) { e[i].output_Drug(); break; } } if(i>=m) cout<<"not find"; return i; } int DrugSys::search_num()//按ID查询功能 { int searchnum; cout<<"请输入要查找的药品ID:"; cin>>searchnum; for(int i=0;i<m;i++) { if(e[i].get_num()==searchnum) { e[i].output_Drug(); break; } } if(i>=m) cout<<"not find"; return i; } int DrugSys::search_SCS()//按生产商查询功能 { string searchSCS; cout<<"请输入要查找的生产商:"; cin>>searchSCS; for(int i=0;i<m;i++) { if(e[i].get_SCS()==searchSCS) { e[i].output_Drug(); break; } } if(i>=m) cout<<"not find"; return i; } void DrugSys::read_fromfile()//读取功能 { int num; string name; string LB;//药品类别 string SCS;//生产商 string JX;//剂型 float ZL;//装量 string GG;//规格 int year,month,day; ifstream infile("Drug.txt",ios::in); if(!infile) { cerr<<"err!"<<endl; exit(1); } infile>>m; for(int i=0;i<m;i++) { infile>>num>>name>>LB>>SCS>>JX>>ZL>>GG>>year>>month>>day; e[i].set_allE(num,name,LB,SCS,JX,ZL,GG,year,month,day); } infile.close(); DrugSys::output_all(); } void DrugSys::save_tofile()//保存功能 { ofstream outfile("Drug.txt",ios::out); if(!outfile) { cerr<<"err!"<<endl; exit(1); } outfile<<m<<endl; for(int i=0;i<m;i++) { outfile<<e[i].get_num()<<" "<<e[i].get_name()<<" "<<e[i].get_LB()<<" "<<e[i].get_SCS()<<" "<<e[i].get_JX()<<" "; outfile<<e[i].get_ZL()<<" "<<e[i].get_GG()<<" "<<e[i].get_date().get_year()<<" "<< e[i].get_date().get_month()<<" "<<e[i].get_date().get_day()<<endl; } outfile.close(); } void DrugSys::op() { while(1) { menu(); cout<<"请输入操作序号:"; int n; int a; cin>>n; switch(n) { case 1:input_all();break; case 2:output_all();break; case 3:modify_num();break; case 4: cout<<"1、通过药品名进行查询"<<endl; cout<<"2、通过生产商进行查询"<<endl; cout<<"请选择输入快捷查询的序号"<<endl; cin>>a; if(a==1) {search_name();break;} if(a==2) {search_SCS();break;} case 5:read_fromfile();break; case 6:save_tofile();break; case 7:DrugSys::delete_Drug();break; case 8:DrugSys::sort_ID_Drug();break; case 9:exit(0);break; } } } void DrugSys::delete_Drug() //删除功能 { int d,i;char c; cout<<"请输入需要删除的药品的ID:"; cin>>d; for( i=0;i<m;i++) { if(e[i].get_num()==d) { cout<<"该药品的具体信息如下:"<<endl; e[i].output_Drug(); break; } } if(i>=m) cout<<"对不起,您所查找的药品不存在哦!"<<endl; for( i=0;i<m;i++) { if(e[i].get_num()==d) { cout<<" --------------------------------------------"<<endl; cout<<" | 温馨提示:您确定真的需要删除该项目吗? |"<<endl; cout<<" --------------------------------------------"<<endl; cout<<" a.确定删除 "<<endl; cout<<" b.取消删除 "<<endl; cout<<"请选择:"; cin>>c; if(c=='a') { for(d=i;d<m-1;d++) { e[i]=e[i+1]; } m--; cout<<"删除成功!"<<endl; } if(c=='b') {exit(1);cout<<"现在将退出系统!";} } } } void DrugSys::sort_ID_Drug() //按ID进行排序 { char choose; cout<<"请选择:a-升序 b-降序"<<endl; cin>>choose; int j,i,k; Drug t; if(choose=='a') { for(i=0;i<m-1;i++) { k=i; for(j=i+1;j<m;j++) if(e[j].get_num()<e[k].get_num()) k=j; t=e[k]; e[k]=e[i]; e[i]=t; } cout<<" 排序结果如下所示:"<<endl; for( i=0;i<m;i++) { e[i].output_Drug(); } cout<<endl; } if(choose=='b') { for(i=0;i<m-1;i++) { k=i; for(j=i+1;j<m;j++) if(e[j].get_num()>e[k].get_num()) k=j; t=e[k]; e[k]=e[i]; e[i]=t; } cout<<" 排序结果如下所示: "<<endl; for( i=0;i<m;i++) { e[i].output_Drug(); } cout<<endl; } } int main() { DrugSys em; em.op(); return 0; } 4.2、运行结果 系统首界面: 项目信息录入功能: 显示功能: 修改功能: 查询功能: 排序功能: 删除功能: 4.3、心得体会 最开始的时候,知道有C++课设这个课,心里很烦躁千因为一个学期没有碰C++,都忘得差不多了,总觉得自己做不出来。当在看到老师给的例子时,心里觉得我怎么可能写的出来。但是我庆幸当时自己没有放弃。 虽然在一开始的时候,确实很困难(自我觉得),很多C++用法都忘了,然后我就回头又重新看书,比如冒泡排序的写法,我就是重新看了书才能写出来的。在写的过程中我遇到很多不一样的大大小小的问题。有时候弄得自己很烦,但是解决问题之后,心里又是不可抑制的激动与兴奋。 现在觉得,还真庆幸有这样一个课设,让我又学到很多,不光是专业知识,更重要的是,我学到了:没有什么是不能做的,自己能不能行?只要做了之后,你就会有答案------那就是只要肯下功夫,即使达不到最好,做不到完美,但是能完成50%,那也是进步。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 程序设计语言 课程设计 天津 城建 大学 医院 药品 管理信息系统 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文