版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..>北華航天工業(yè)學院畢業(yè)論文課程設(shè)計成果設(shè)計題目:診所信息管理系統(tǒng)設(shè)計目錄1需求分析21.1問題描述21.2主體功能21.3問題的解決方案2開發(fā)環(huán)境32概要設(shè)計32.1數(shù)據(jù)設(shè)計32.2構(gòu)造設(shè)計33詳細設(shè)計43.1類實現(xiàn)43.2主函數(shù)實現(xiàn)53.3模塊設(shè)計64系統(tǒng)測試114.1測試數(shù)據(jù)11測試結(jié)果124.3課程設(shè)計過程中遇到的問題165總結(jié)17參考文獻18附錄源程序代碼191需求分析隨著經(jīng)濟的迅速開展,人們的生活水平得到顯著提高。醫(yī)療效勞行業(yè)也在人們生活中占據(jù)了最重要的一環(huán),隨著醫(yī)改的實施,看病難,看病貴的問題得到了解決,所以為了存儲患者信息以及醫(yī)生信息,為了小型診所管理的正規(guī)化,方便化,診所信息管理系統(tǒng)在此背景下誕生。面對開展的需要通過專門的管理系統(tǒng)來系統(tǒng)化、標準化以及高效地實現(xiàn)小型診所管理。并且隨著計算機技術(shù)的快速開展,計算機的應(yīng)用逐漸普及和深入,同時計算機軟件的需求特日益增長,C++語言是當前最流行的和實用的計算機程序語言。模擬診所信息管理系統(tǒng)就是對存儲患者信息以及醫(yī)生信息在個人PC上的編程實現(xiàn)。本系統(tǒng)采用了用戶身份的注冊、登陸、增加信息、查詢信息、帳單信息以及統(tǒng)計所有患者的總費用等功能。并分析在現(xiàn)實生活中遇到的問題并得到解決。1.1問題描述完成小型診所的簡單信息管理程序,掌握類的設(shè)計以及繼承和派生的應(yīng)用。1.2主體功能設(shè)計人類〔Person類〕和醫(yī)生類〔Doctor類〕,在此根底上,通過增加患者和賬單,使它們公用于表示一家診所的信息管理?!?〕在一條醫(yī)生記錄中,包括醫(yī)生的專業(yè)說明〔specialty〕,如內(nèi)科醫(yī)生〔surgeon〕、兒科醫(yī)生〔pediatrician〕、產(chǎn)科醫(yī)生〔obstetrician〕及全科醫(yī)生〔generalpractitioner〕。〔2〕Doctor記錄還含有診費〔office_vist_fee〕。〔3〕在一條患者記錄中,包括該患者產(chǎn)生的藥費(drug_fee),患者的診費〔即醫(yī)生的診費〕。〔4〕在一條賬單記錄中,包括一條患者對象、該患者對應(yīng)得主治醫(yī)生、該患者產(chǎn)生的診費和藥費。〔5〕應(yīng)用程序能夠顯示出診所中每個患者的信息和對應(yīng)主治醫(yī)生的信息?!?〕能夠統(tǒng)計出所有患者的總費用。1.3問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:〔1〕應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計;〔2〕分析系統(tǒng)中的各個實體及它們之間的關(guān)系;〔3〕根據(jù)問題描述,設(shè)計系統(tǒng)的類層次;〔4〕完成類層次中各個類的描述;〔5〕完成類中各個成員函數(shù)的定義;〔6〕完成系統(tǒng)的應(yīng)用模塊;〔7〕功能調(diào)試;〔8〕完成系統(tǒng)總結(jié)報告。開發(fā)系統(tǒng):Windows系統(tǒng),處理器要求最低奔騰處理器,內(nèi)存32m,建議在i5處理器,128m內(nèi)存配置下調(diào)試。編譯集成軟件:MicrosoftVisualC++6.0編譯器。MicrosoftVisualC++6.0編譯器。是一個強大的C/C++軟件開發(fā)工具,操作簡單,使用非常廣泛,為很多程序員的首選開發(fā)工具。2概要設(shè)計2.1數(shù)據(jù)設(shè)計2類設(shè)計分別定義了person人類、doctor醫(yī)生類、HuanZhe患者類以及帳單類;在person人類中,包含了數(shù)據(jù)成員姓名〔name〕、性別〔se*〕、年齡〔age〕以及診費〔office_vist_fee〕;在doctor醫(yī)生類中,增加了數(shù)據(jù)成員醫(yī)生的專業(yè)說明〔drug_fee〕,包含了成員函數(shù)input()增加醫(yī)生信息,zhangdanKind()按姓名查詢醫(yī)生信息;在HuanZhe患者類中,增加了數(shù)據(jù)成員患者的藥費〔drug_fee〕,包含了成員函數(shù)input()增加患者信息,zhangdanKind()按姓名查詢患者信息;在zhangdan帳單類中,包含了數(shù)據(jù)成員姓名〔name〕、診費〔office_vist_fee〕、藥費〔drug_fee〕、總費用〔totl_fee〕,包含了成員函數(shù)totl_pay()用于把總費用從"D:\\bb.t*t"文件移到"D:\\cc.t*t",pay()統(tǒng)計該系統(tǒng)中所有患者的總費用,addzhangdan()增加賬單信息,zhangdanKind()按姓名查詢賬單信息。2.1.2類之間的關(guān)系在該系統(tǒng)中醫(yī)生與患者都有數(shù)據(jù)成員姓名〔name〕、性別〔se*〕、年齡〔age〕以及診費〔office_vist_fee〕;所以把這些數(shù)據(jù)成員定義在基類person人類中,doctor醫(yī)生類與HuanZhe患者類公有繼承于基類person人類。2.1.3函數(shù)設(shè)計在doctor醫(yī)生類中,包含了成員函數(shù)input()增加醫(yī)生信息,zhangdanKind()按姓名查詢醫(yī)生信息;在HuanZhe患者類中,包含了成員函數(shù)input()增加患者信息,zhangdanKind()按姓名查詢患者信息;在zhangdan帳單類中,包含了成員函數(shù)totl_pay()用于把總費用從"D:\\bb.t*t"文件移到"D:\\cc.t*t",pay()統(tǒng)計該系統(tǒng)中所有患者的總費用,addzhangdan()增加賬單信息,zhangdanKind()按姓名查詢賬單信息。在該系統(tǒng)中,還包含了普通函數(shù)addinfor()增加信息界面實現(xiàn),select()查詢信息界面實現(xiàn),zhangdan*in*i()賬單信息界面實現(xiàn),add_zhuce()實現(xiàn)注冊用戶,welcome()驗證用戶登陸,登陸成功顯示歡迎信息,Please()診所信息管理系統(tǒng)主界面的實現(xiàn)。2.2構(gòu)造設(shè)計系統(tǒng)流程圖圖系統(tǒng)流程圖2.2.2界面設(shè)計addinfor()增加信息界面包括了1.增加醫(yī)生信息2.增加患者信息0.退出;select()查詢信息界面包括了1.查詢醫(yī)生信息2.查詢患者信息0.退出;zhangdan*in*i()賬單信息界面包括了1.增加賬單信息2.查詢賬單信息0.退出;Please()診所信息管理系統(tǒng)主界面包括了1.查詢信息2.賬單信息3.增加信息4.統(tǒng)計總費用0.退出系統(tǒng);main()主函數(shù)界面包括了1.用戶登錄2.用戶注冊0.退出系統(tǒng)。在這些界面的實現(xiàn)中用switch()語句做選擇。3詳細設(shè)計3.1類實現(xiàn)classperson//人類{protected: stringname; charse*; intage; doubleoffice_vist_fee;public:person(){} ~person(){}};classdoctor:publicperson//醫(yī)生類{private: charspeicialty[15];public: doctor(){} voidinput();//增加醫(yī)生信息 voidzhangdanKind();//按姓名查詢醫(yī)生信息 ~doctor(){}};classHuanZhe:publicperson//患者類{private: doubledrug_fee;public: HuanZhe(){} voidinput();//增加患者信息 voidzhangdanKind();//按姓名查詢患者信息~HuanZhe(){}};classzhangdan//帳單類{ stringname; doubledrug_fee; doubleoffice_vist_fee; doubletotl_fee;public:zhangdan(){} voidtotl_pay();//用于把總費用從"D:\\bb.t*t"文件移到"D:\\cc.t*t"voidpay();//實現(xiàn)統(tǒng)計所有患者總費用 voidzhangdanKind();//按姓名查詢賬單信息 ~zhangdan(){}};主函數(shù)實現(xiàn)voidmain()//主函數(shù){ //system("color3F"); intw; cout<<"\t\t☆*******************☆********************☆\n"; cout<<"\t\t**\n"; cout<<"\t\t☆☆\n"; cout<<"\t\t*1.用戶登錄*\n"; cout<<"\t\t☆2.用戶注冊☆\n"; cout<<"\t\t*0.退出系統(tǒng)*\n"; cout<<"\t\t☆☆\n"; cout<<"\t\t**\n"; cout<<"\t\t☆*☆*☆***********☆************☆*☆*☆\n"; while(1) { cout<<"請輸入數(shù)字<0-2>:"; cin>>w; switch(w) { case1:Please();break; case2:add_zhuce();break; case0:e*it(0);default:cout<<"輸入數(shù)字錯誤!"<<endl; } }}3.3模塊設(shè)計增加醫(yī)生信息如圖3.1所示;圖3.1增加醫(yī)生信息函數(shù)流程圖圖按姓名查詢醫(yī)生信息如圖按姓名查詢醫(yī)生信息函數(shù)流程圖賬單類如圖3.3所示圖3.3賬單函數(shù)統(tǒng)計所有患者總費用如圖3.4所示圖3.4統(tǒng)計所有患者總費用函數(shù)增加賬單信息如圖3.5所示圖3.5增加賬單信息函數(shù)實現(xiàn)注冊用戶如圖3.6所示圖3.6實現(xiàn)注冊用戶按姓名查詢賬單如圖3.7所示圖3.7按姓名查詢賬單函數(shù)驗證用戶登陸,登陸成功顯示歡迎信息如圖3.8所示圖3.8登錄成功顯示歡迎函數(shù)4系統(tǒng)測試4.1測試數(shù)據(jù)序號輸入內(nèi)容說明截圖12,zhangsan,123456輸2注冊,輸入姓名及密碼,顯示成功圖21輸1進入登錄界面圖31登錄后顯示診所信息管理系統(tǒng)主界面圖43在總界面輸3進增加信息界面圖51,lisi,f,32,4.5,erkeyisheng輸入要增加醫(yī)生的相關(guān)信息圖62,wangfang,m,12,4.5,10輸入要增加患者的相關(guān)信息圖71在總界面輸1進入查詢界面圖81,lisi輸1查詢醫(yī)生信息界面,輸入姓名得相關(guān)信息圖92,wangfang輸2查詢患者信息界面,輸入姓名得相關(guān)信息圖102主界面輸2進入帳單信息界面圖111,wangfang,輸1進入增加賬單界面,輸入相關(guān)信息圖122,wangfang輸2進入查詢賬單界面,輸患者姓名得到查詢結(jié)果圖134在主界面輸4進入統(tǒng)計總費用界面圖140在主界面輸0退出系統(tǒng)圖(1)用戶注冊界面如圖所示。(2)用戶登陸界面如圖所示。2.診所信息管理系統(tǒng)主界面如圖所示。圖3.增加信息界面如圖所示。圖(1)增加醫(yī)生信息如圖所示。圖(2)增加患者信息如圖所示。圖4.查詢信息界面如圖所示。圖(1)查詢醫(yī)生信息如圖所示。圖(2)查詢患者信息如圖所示。圖5.帳單信息界面如圖所示。圖(1)增加帳單信息如圖1所示。圖(2)查詢帳單信息如圖2所示。圖6.統(tǒng)計功能實現(xiàn)如圖所示。圖(7)退出系統(tǒng)界面如圖所示。圖課程設(shè)計過程中遇到的問題(1)在switch語句中注意break和return的使用,用return會出現(xiàn)Pressanykeytoconinue導(dǎo)致沒有執(zhí)行完的程序完畢。(2)數(shù)據(jù)類型在類中設(shè)的與后來添加的類型不一致,導(dǎo)致錯誤。(3)寫入文件與輸出時出現(xiàn)錯誤。5總結(jié)經(jīng)過一個多星期的C++課程設(shè)計的訓練,我學到了很多,最主要的一點是怎樣去運用自己學過的知識,怎樣去找到你所需要的資料,并在短時間把它運用到具體的實踐中,運用到你所需要的方面。這個過程是很困難的,要花費很多的時間和精力,但是,在事情過后,自己就會發(fā)現(xiàn)自己已經(jīng)在這個過程中學到了自己想要的東西,這種獲得是更深刻的。在做這個C++課程設(shè)計的時候,我原先也是學的不怎么好,什么是構(gòu)造體數(shù)據(jù),什么是定義類型,怎樣在一個main函數(shù)中調(diào)用別的定義函數(shù),等等,可以說是忘得差不多了。然而,在這門課程設(shè)計中,這些方面卻是特別重要的,可以說,掌握了這個,你就完全可以完成自己的任務(wù)。這就要求我們要自己去學,自己去探索。當然,看書、問同學是必不可少的,還有,身邊有非常豐富的網(wǎng)絡(luò)資源給我們好好利用,百度就是個很不錯的地方。這樣就從另一方面鍛煉了我們檢索知識獲取信息的能力,在這個過程中,可以學到的是一種提升自我的能力。當然,由于個人能力所限,這份課程設(shè)計有一些別的方面還是要參考人家的的資料,在讀懂別人材料的同時,自己取人所長,補己之短,經(jīng)過屢次的調(diào)試,總結(jié),最后交出一份自己比較滿意的答卷。在本次課程設(shè)計中,我發(fā)現(xiàn)我對知識的運用不是則準確,也就是說我對知識掌握的不夠熟練。課本上有的知識卻不會運用,雖然在本次C++課程設(shè)計中,顯示出一些我知識上的漏洞,經(jīng)過這次編寫診所信息管理系統(tǒng),我發(fā)現(xiàn)我熟練掌握了類的定義以及繼承與派生,并對文件操作有了初步的掌握,課下還應(yīng)該繼續(xù)努力,爭取熟練掌握一門編程設(shè)計語言,在次根底上,在學習多種編程語言,以便以后可以用到工作中去。通過這次的課程設(shè)計,終于我的診所信息管理系統(tǒng)完美告終,讓我進一步的了解到C++在我們?nèi)粘I钪械闹匾?,而且,也更進一步的激發(fā)了我學習這門語言的興趣.經(jīng)過這次的訓練,我相信自己以后會用更多的時間來把這門語言學好,掌握好這門必修的根底語言。參考文獻[1]李素假設(shè),杜華兵編,C++面向?qū)ο蟪绦蛟O(shè)計.中國水利水電出版社.2013年.[2]譚浩強編,C++面向?qū)ο蟪绦蛟O(shè)計.:清華大學出版社,2006年.[5]王繼明,C++程序設(shè)計與應(yīng)用開發(fā)[M].:清華出版社,2008.附錄源程序代碼#include<iostream>#include<string.h>#include<string>#include<fstream>#include<cmath>usingnamespacestd;classperson//人類{protected: stringname; charse*; intage; doubleoffice_vist_fee;public: person(){} ~person(){}};classdoctor:publicperson//醫(yī)生類{private: charspeicialty[15];public: doctor(){} voidinput()//增加醫(yī)生信息 { chart; cout<<"*****主治醫(yī)生根本信息*****"<<endl; fstreamoutfile("D:\\aa.t*t",ios::out|ios::app);//以寫方式翻開文件 if(!outfile) cout<<"翻開文件失敗!"<<endl; else { cout<<":"; cin>>name;outfile<<name<<""; cout<<"性別:";cin>>se*; if(se*=='m'||se*=='M') outfile<<"男"<<""; elseif(se*=='f'||se*=='F') outfile<<"女"<<""; else { cout<<"請重新輸入性別:"; cin>>se*; if(se*=='m'||se*=='M') outfile<<"男"<<""; elseif(se*=='f'||se*=='F') outfile<<"女"<<""; }cout<<"年齡:"; cin>>age;outfile<<age<<""; cout<<"診費:"; cin>>office_vist_fee;outfile<<office_vist_fee<<""; cout<<"專業(yè)說明:"; cin>>speicialty;outfile<<speicialty<<endl; outfile.close(); } cout<<"是否繼續(xù)添加醫(yī)生信息Y/N:"<<endl; cin>>t; if(t=='y') input(); else return; } voidzhangdanKind()//按姓名查詢醫(yī)生信息 { chart; fstreaminfile2("D:\\aa.t*t",ios::in);//以讀方式翻開文件 if(!infile2) { cout<<"翻開文件失敗!"<<endl; return; } intline=0; stringarr[100][100];//定義一個string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息 memset(arr,0,sizeof(arr));//將數(shù)組清空 while(!infile2.eof())//文件不為空的條件設(shè)置 { infile2>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4]; line++; } stringna; cout<<"請輸入要查詢的醫(yī)生姓名:"; cin>>na; for(inti=0;i<line;i++) { if(arr[i][0]==na) { cout<<"醫(yī)生姓名:"<<arr[i][0]<<""<<"性別:"<<arr[i][1]<<""<<"年齡:"<<arr[i][2]<<"" <<"診費:"<<arr[i][3]<<"元"<<""<<"專業(yè):"<<arr[i][4]<<endl; return; } } cout<<"記錄中沒有此醫(yī)生信息!"<<endl; cout<<"是否繼續(xù)查詢Y/N:"<<endl; cin>>t; if(t=='y') zhangdanKind(); else return; } ~doctor(){}};classHuanZhe:publicperson//患者類{private: doubledrug_fee;public: HuanZhe() {} voidinput()//增加患者信息 { chart; cout<<"*****患者根本信息*****"<<endl; fstreamoutfile("D:\\ee.t*t",ios::out|ios::app);//以寫方式翻開文件 if(!outfile) cout<<"翻開文件失??!"<<endl; else { cout<<":"; cin>>name;outfile<<name<<""; cout<<"性別:";cin>>se*; if(se*=='m'||se*=='M') outfile<<"男"<<""; elseif(se*=='f'||se*=='F') outfile<<"女"<<""; else { cout<<"請重新輸入性別:"; cin>>se*; if(se*=='m'||se*=='M') outfile<<"男"<<""; elseif(se*=='f'||se*=='F') outfile<<"女"<<""; }cout<<"年齡:"; cin>>age;outfile<<age<<""; cout<<"診費:"; cin>>office_vist_fee;outfile<<office_vist_fee<<""; cout<<"藥費:"; cin>>drug_fee;outfile<<drug_fee<<endl; outfile.close(); } cout<<"是否繼續(xù)添加患者信息Y/N:"<<endl; cin>>t; if(t=='y') input(); else return; } voidzhangdanKind()//按姓名查詢患者信息 { chart; fstreaminfile2("D:\\ee.t*t",ios::in);//以讀方式翻開文件 if(!infile2) { cout<<"翻開文件失敗!"<<endl; return; } stringarr[100][100];//定義一個string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息 intline=0; memset(arr,0,sizeof(arr));////將數(shù)組清空 while(!infile2.eof())//文件不為空的條件設(shè)置 { infile2>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流讀取數(shù)據(jù) line++; } stringna; cout<<"請輸入要查詢的患者姓名:"; cin>>na; for(inti=0;i<line;i++) { if(arr[i][0]==na) { cout<<"患者姓名:"<<arr[i][0]<<""<<"性別:"<<arr[i][1]<<""<<"年齡:"<<arr[i][2]<<"" <<"診費:"<<arr[i][3]<<"元"<<""<<"藥費:"<<arr[i][4]<<"元"<<endl; return; } } cout<<"記錄中沒有此患者的信息!"<<endl; cout<<"是否繼續(xù)查詢Y/N:"<<endl; cin>>t; if(t=='y') zhangdanKind(); else return; } ~HuanZhe(){}};classzhangdan//帳單類{ stringname; doubledrug_fee; doubleoffice_vist_fee; doubletotl_fee;public: zhangdan(){} voidtotl_pay()//用于把總費用從"D:\\bb.t*t"文件移到"D:\\cc.t*t" { stringa; fstreaminfile1("D:\\bb.t*t",ios::in);//以讀方式翻開文件 if(!infile1) { cout<<"翻開文件失??!"<<endl; return; } stringarr[100][100];//定義一個string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息 intline=0; memset(arr,0,sizeof(arr));//將數(shù)組清空 while(!infile1.eof())//文件不為空的條件設(shè)置 { infile1>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流讀取數(shù)據(jù) line++; } for(inti=0;i<line;i++) { fstreamoutfile4("D:\\cc.t*t",ios::out|ios::app);//以寫方式翻開文件 if(!outfile4) cout<<"翻開文件失敗!"<<endl; else a=arr[i][4]; outfile4<<a<<endl; outfile4.close(); } infile1.close(); } voidpay()//實現(xiàn)統(tǒng)計所有患者總費用 { doublea; doublez=0.0; fstreaminfile4("D:\\cc.t*t",ios::in);//以讀方式翻開文件 if(!infile4) { cout<<"翻開文件失??!"<<endl; return; } doubles[100]; intline=0; while(!infile4.eof())//文件不為空的條件設(shè)置 { infile4>>s[line];//文件流讀取數(shù)據(jù) line++; } for(inti=0;i<line-1;i++) { a=s[i]; z=z+a; } cout<<"所有患者的總費用為:"<<z<<"元"<<endl; infile4.close(); } voidaddzhangdan()//增加賬單信息 { fstreamoutfile3("D:\\bb.t*t",ios::out|ios::app);//以寫方式翻開文件 if(!outfile3) cout<<"翻開文件失??!"<<endl; else { cout<<"患者姓名:"; cin>>name;outfile3<<name<<""; cout<<"主治醫(yī)生:"; cin>>name;outfile3<<name<<""; cout<<"診費:"; cin>>office_vist_fee;outfile3<<office_vist_fee<<""; cout<<"藥費:"; cin>>drug_fee;outfile3<<drug_fee<<""; cout<<"總費用:"; cin>>totl_fee;outfile3<<totl_fee<<endl; outfile3.close(); } chart; cout<<"是否繼續(xù)添加賬單信息Y/N:"<<endl; cin>>t; if(t=='y') addzhangdan(); else return; } voidzhangdanKind()//按姓名查詢賬單信息 { chart; fstreaminfile1("D:\\bb.t*t",ios::in);//以讀方式翻開文件 if(!infile1) { cout<<"翻開文件失??!"<<endl; return; } stringarr[100][100];//定義一個string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息 intline=0; memset(arr,0,sizeof(arr));//將數(shù)組清空 while(!infile1.eof())//文件不為空的條件設(shè)置 { infile1>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流讀取數(shù)據(jù) line++; } stringna; cout<<"請輸入要查詢的患者姓名:"; cin>>na; for(inti=0;i<line;i++) { if(arr[i][0]==na) { string*m; *m=arr[i][1]; cout<<"患者姓名:"<<arr[i][0]<<""<<"醫(yī)生姓名:"<<arr[i][1]<<""<<"診費:"<<arr[i][2]<<"元"<<"" <<"藥費:"<<arr[i][3]<<"元"<<""<<"總費用:"<<arr[i][4]<<"元"<<endl; fstreaminfile2("D:\\aa.t*t",ios::in);//以讀方式翻開文件 if(!infile2) { cout<<"翻開文件失??!"<<endl; return; } intl=0; memset(arr,0,sizeof(arr));//將數(shù)組清空 while(!infile2.eof())//文件不為空的條件設(shè)置 { infile2>>arr[l][0]>>arr[l][1]>>arr[l][2]>>arr[l][3]>>arr[l][4];//文件流讀取數(shù)據(jù) l++; } for(intj=0;j<l;j++) { if(arr[j][0]==*m) { cout<<"醫(yī)生姓名:"<<arr[j][0]<<""<<"性別:"<<arr[j][1]<<""<<"年齡:"<<arr[j][2]<<"" <<"診費:"<<arr[j][3]<<""<<"專業(yè):"<<arr[j][4]<<endl; } } fstreaminfile3("D:\\ee.t*t",ios::in);//以讀方式翻開文件 if(!infile3) { cout<<"翻開文件失敗!"<<endl; return; } intlin=0; memset(arr,0,sizeof(arr));//將數(shù)組清空 while(!infile3.eof())//文件不為空的條件設(shè)置 { infile3>>arr[lin][0]>>arr[lin][1]>>arr[lin][2]>>arr[lin][3]>>arr[lin][4];//文件流讀取數(shù)據(jù) lin++; } for(intz=0;z<lin-1;z++) { if(arr[i][0]==na) { cout<<"患者姓名:"<<arr[z][0]<<""<<"性別:"<<arr[z][1]<<""<<"年齡:"<<arr[z][2]<<"" <<"診費:"<<arr[z][3]<<""<<"藥費:"<<arr[z][4]<<endl; } } return; } } cout<<"記錄中沒有此患者的帳單信息!"<<endl; cout<<"是否繼續(xù)查詢Y/N:"<<endl; cin>>t; if(t=='y') zhangdanKind(); else return; } ~zhangdan(){}};voidadd_zhuce()//實現(xiàn)注冊用戶{ stringname,code,code1; fstreamoutfile5("D:\\dd.t*t",ios::out|ios::app);//以寫方式翻開文件 if(!outfile5) cout<<"翻開文件失?。?<<endl; else { cout<<"☆*********請注冊用戶*********☆\n"; cout<<"請輸入您的用戶名:"; cin>>name; fstreaminfile6("D:\\dd.t*t",ios::in);//以讀方式翻開文件 if(!infile6) { cout<<"翻開文件失??!"<<endl; return; } stringa[100][2];//定義一個string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息 intline=0; memset(a,0,sizeof(a));//將數(shù)組清空 while(!infile6.eof())//文件不為空的條件設(shè)置 { infile6>>a[line][0]>>a[line][1];//文件流讀取數(shù)據(jù) line++; } for(inti=0;i<line;i++) { if(a[i][0]==name) { cout<<"此用戶已存在!謝謝使用本系統(tǒng)注冊用戶界面!歡迎下次使用!"<<endl; e*it(0); } } outfile5<<name<<""; cout<<"請輸入您的密碼:"; cin>>code; cout<<"請再次輸入您的密碼:"; cin>>code1; if(code!=code1) { cout<<"您兩次輸入的密碼不一致!謝謝使用本系統(tǒng)注冊用戶界面!歡迎下次使用!"<<endl; e*it(0); } else outfile5<<code1<<endl; } cout<<"謝謝使用本系統(tǒng)注冊用戶界面!您已注冊成功!"<<endl; outfile5.close();}voidwelcome()//驗證用戶登陸,登陸成功顯示歡迎信息{ stringname,code; intmark=0; fstreaminfile("D:\\dd.t*t",ios::in); if(!infile) { cerr<<"翻開文件錯誤"<<endl; return; }intline=0; stringa[100][100]; memset(a,0,sizeof(a));//將數(shù)組清空 while(!infile.eof())//文件不為空的條件設(shè)置 { infile>>a[line][0]>>a[line][1];//文件流讀取數(shù)據(jù) line++; } cout<<"\t\t☆*********用戶名☆*********:"; cin>>name;intm=-1; for(inti=0;i<line;i++) { if(a[i][0]==name) { m=i; mark=i; break; } } if(m==-1) { cout<<"\t\t☆*********該用戶不存在,請注冊用戶☆*********"<<endl; add_zhuce(); } cout<<"\t\t☆*********密碼☆*********:"; cin>>code; for(intj=0;j<2;j++) { if(a[mark][1]==code) { cout<<"成功登入☆*********"<<endl; break; }else { cout<<"密碼錯誤,請重新輸入☆*********"<<endl; cout<<"\t\t☆*********密碼☆*********:"; cin>>code; } }}voidaddinfor()//增加信息界面實現(xiàn){ inta; doctord; HuanZhew; cout<<endl; cout<<endl; cout<<"\t\t*********增加信息界面**********"<<endl; cout<<"\n"; cout<<"\t\t☆********************************☆\n"; cout<<"\t\t**\n";cout<<"\t\t☆1.增加醫(yī)生信息☆\n"; cout<<"\t\t☆2.增加患者信息☆\n"; cout<<"\t\t☆0.退出☆\n"; cout<<"\t\t**\n"; cout<<"\t\t☆********************************☆\n";cout<<"請輸入您選擇的數(shù)字<0-2>:"; cin>>a;switch(a) { case1:d.input();break; case2:w.input();break; case0:break; default:cout<<"輸入數(shù)字錯誤!"<<endl; }}voidselect()//查詢信息界面實現(xiàn){ intb; doctord; HuanZhew; cout<<endl; cout<<endl; cout<<"\t\t*********查詢信息界面**********"<<endl; cout<<"\n"; cout<<"\t\t☆********************************☆\n"; cout<<"\t\t**\n";cout<<"\t\t☆1.查詢醫(yī)生信息☆\n"; cout<<"\t\t☆2.查詢患者信息☆\n"; cout<<"\t\t☆0.退出☆\n"; cout<<"\t\t**\n"; cout<<"\t\t☆********************************☆\n";cout<<"請輸入您選擇的數(shù)字<0-2>:"; cin>>b; switch(b) { case1:d.zhangdanKind();break; case2:w.zhangdanKind();break; case0:break; default:cout<<"輸入數(shù)字錯誤!"<<endl; }}voidzhangdan*in*i()//賬單信息界面實現(xiàn){ intc; zhangdanz; cout<<endl; cout<<endl; cout<<"\t\t******
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3 關(guān)節(jié)置換術(shù)止血與抗凝的綜合管理
- 中小學開學典禮5
- 2025年度民政局官方認證的協(xié)議離婚書制作與咨詢服務(wù)合同4篇
- 現(xiàn)代城市規(guī)劃與發(fā)展
- 二零二五年度苗木種植基地土壤修復(fù)合同范本4篇
- 二零二五年度內(nèi)衣服裝類電子商務(wù)平臺運營合同規(guī)范4篇
- 2025年度新能源充電設(shè)備店鋪租賃合同2篇
- 2025年公司合同解除協(xié)議書
- 2025年度個人環(huán)保項目股份轉(zhuǎn)讓合同協(xié)議書3篇
- 二零二五年度智慧醫(yī)療信息系統(tǒng)租賃合同3篇
- 2023-2024學年度人教版一年級語文上冊寒假作業(yè)
- 2024醫(yī)療銷售年度計劃
- 稅務(wù)局個人所得稅綜合所得匯算清繳
- 人教版語文1-6年級古詩詞
- 上學期高二期末語文試卷(含答案)
- 軟件運維考核指標
- 空氣動力學仿真技術(shù):格子玻爾茲曼方法(LBM)簡介
- 2024版醫(yī)療安全不良事件培訓講稿
- 中學英語教學設(shè)計PPT完整全套教學課件
- 移動商務(wù)內(nèi)容運營(吳洪貴)項目五 運營效果監(jiān)測
- 比較思想政治教育學
評論
0/150
提交評論