![軟件工程課程設(shè)計自來水收費(fèi)管理系統(tǒng)_第1頁](http://file4.renrendoc.com/view/d123d3ca39173b9913fc96675431bc32/d123d3ca39173b9913fc96675431bc321.gif)
![軟件工程課程設(shè)計自來水收費(fèi)管理系統(tǒng)_第2頁](http://file4.renrendoc.com/view/d123d3ca39173b9913fc96675431bc32/d123d3ca39173b9913fc96675431bc322.gif)
![軟件工程課程設(shè)計自來水收費(fèi)管理系統(tǒng)_第3頁](http://file4.renrendoc.com/view/d123d3ca39173b9913fc96675431bc32/d123d3ca39173b9913fc96675431bc323.gif)
![軟件工程課程設(shè)計自來水收費(fèi)管理系統(tǒng)_第4頁](http://file4.renrendoc.com/view/d123d3ca39173b9913fc96675431bc32/d123d3ca39173b9913fc96675431bc324.gif)
![軟件工程課程設(shè)計自來水收費(fèi)管理系統(tǒng)_第5頁](http://file4.renrendoc.com/view/d123d3ca39173b9913fc96675431bc32/d123d3ca39173b9913fc96675431bc325.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)學(xué)與計算機(jī)學(xué)院課程設(shè)計說明書課程名稱:軟件工程課程設(shè)計課程代碼:8404131題目:自來水收費(fèi)管理系統(tǒng)年級/專業(yè)/班:09級軟件工程四班學(xué)生姓名:學(xué)號:開始時間:2011年05月27日完成時間:2011年06月12日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績(30)技術(shù)水平與實(shí)際能力(20)創(chuàng)新(5)說明書(計算書、圖紙、分析報告)撰寫質(zhì)量(45)總分(100)指導(dǎo)教師簽名:年月日軟件工程課程設(shè)計任務(wù)書學(xué)院名稱:數(shù)學(xué)與計算機(jī)學(xué)院課程代碼:___8404131_______專業(yè):軟件工程年級:09級一、設(shè)計題目自來水收費(fèi)管理二、主要內(nèi)容用戶管理、抄表數(shù)據(jù)錄入、用戶繳費(fèi)、各項信息統(tǒng)計查詢等多個方面。三、具體要求及應(yīng)提交的材料1、完成系統(tǒng)的需求分析通過需求分析確定系統(tǒng)需要處理的數(shù)據(jù)的需求,要求使用數(shù)據(jù)庫的輔助設(shè)計工具(PowerDesigner等),建立業(yè)務(wù)處理模型2、完成系統(tǒng)概念結(jié)構(gòu)設(shè)計 概念數(shù)據(jù)模型(CDM)用于完成數(shù)據(jù)庫的設(shè)計,與人和數(shù)據(jù)庫平臺和具體數(shù)據(jù)存儲結(jié)構(gòu)和工具無關(guān)。首先選擇局部應(yīng)用畫出分E-R圖,最終形成系統(tǒng)的E-R圖3、完成系統(tǒng)邏輯結(jié)構(gòu)設(shè)計按照E-R圖轉(zhuǎn)換成關(guān)系模式的規(guī)則,將CDM轉(zhuǎn)換成邏輯數(shù)據(jù)模型,并為每個關(guān)系模式實(shí)際主鍵、外鍵。分析關(guān)系模式中的依賴關(guān)系,對關(guān)系模式規(guī)范化處理4、完成系統(tǒng)物理結(jié)構(gòu)設(shè)計為每個關(guān)系分配存儲長度,建立數(shù)據(jù)庫的索引和視圖,定義關(guān)系中的主碼和外碼,寫出關(guān)系創(chuàng)建和查詢的SQL語句。 5、編碼 選擇你自己熟悉的開發(fā)工具完成一個DBS系統(tǒng)的編碼工作。 應(yīng)上交的材料: 1、課程設(shè)計報告 2、程序源代碼清單四、主要技術(shù)路線提示 1、面向?qū)ο蠓治龇椒?,認(rèn)真閱讀相關(guān)知識,完成系統(tǒng)的功能分析和系統(tǒng)設(shè)計 2選用ACCESS作為DBMS, 3選用你熟悉的語言完成數(shù)據(jù)庫的讀寫操作 如java通過ODBCJDBC橋完成數(shù)據(jù)庫的操作簡單代碼: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncon=DriverManager.getConnection("jdbc:odbc:student","",""); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("SELECT*FROMstu"); while(rs.next()) System.out.println(rs.getString("name")); rs.close(); stmt.close(); con.close();五、進(jìn)度安排 1、第一周完成系統(tǒng)分析和設(shè)計,并進(jìn)行程序開發(fā) 2、第二周完成程序開發(fā),進(jìn)行測試并分析結(jié)果,最后撰寫課程設(shè)計報告六、推薦參考資料(不少于3篇)1張海藩.軟件工程導(dǎo)論.北京:清華大學(xué)出版社,20042陳明.實(shí)用軟件工程基礎(chǔ).北京:清華大學(xué)出版社,20033殷人昆.實(shí)用軟件工程.北京:清華大學(xué)出版社,2003指導(dǎo)教師簽名日期年月日系主任審核日期年月日
目錄1前言 72需求分析 7需求概要 72.1功能分析 7用戶管理 7抄表管理 7水費(fèi)管理 7統(tǒng)計查詢 8系統(tǒng)維護(hù) 82.2方案分析 8各角色的用例圖 8用戶用例圖 8管理員用例圖 8操作示意圖 9用戶操作示意圖 9管理員操作示意圖 103概要設(shè)計 103.1數(shù)據(jù)結(jié)構(gòu) 103.2邏輯結(jié)構(gòu)與物理結(jié)構(gòu) 133.3功能模塊劃分 13抽象數(shù)據(jù)類定義 154詳細(xì)設(shè)計 154.1數(shù)據(jù)類型定義 154.2主要模塊內(nèi)部設(shè)計 17模塊1設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱) 174.2.2模塊2設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱) 204.2.3模塊3設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱) 23源代碼: 245實(shí)現(xiàn)與調(diào)試分析 255.1實(shí)現(xiàn)環(huán)境 255.2語言選擇 25調(diào)試分析 256測試分析 256.3性能分析 277用戶手冊 28總結(jié) 28參考文獻(xiàn) 28
1前言隨著科學(xué)技術(shù)的發(fā)展,社會進(jìn)步,計算機(jī)迅速的發(fā)展,自來水收費(fèi)的方法也日新月異,以前全是由人管理的方法現(xiàn)存在很多的缺點(diǎn):管理效率低,勞動強(qiáng)度大,信息處理速度低而且準(zhǔn)確率也不夠令人滿意。為了提高自來水收費(fèi)管理效率,減輕勞動強(qiáng)度提高,信息處理速度和準(zhǔn)確性;為自來水公司提供更方便、科學(xué)的服務(wù)項目。為他們提供的一種更先進(jìn)、科學(xué)的服務(wù)系統(tǒng)。于是我們便選擇了由計算機(jī)來設(shè)計一個自來水收費(fèi)管理系統(tǒng)的方案。讓計算機(jī)對自來水收費(fèi)進(jìn)行自動管理,自來水公司可以直接在計算機(jī)上實(shí)現(xiàn)關(guān)于自來水的一些信息管理,并能在一定程度上實(shí)現(xiàn)自動化。我們在現(xiàn)行系統(tǒng)初步調(diào)查的基礎(chǔ)上提出了新系統(tǒng)目標(biāo),即新系統(tǒng)建立后所要求達(dá)到的運(yùn)行指標(biāo),這是系統(tǒng)開發(fā)和評價的依據(jù)。2需求分析需求概要針對在收費(fèi)過程中出現(xiàn)的各類問題,我對該自來水公司從自身特點(diǎn)出發(fā)設(shè)計一個自來水收費(fèi)管理系統(tǒng),系統(tǒng)主要包含用戶管理,抄表管理,水費(fèi)管理,統(tǒng)計查詢和系統(tǒng)維護(hù)。2.1功能分析用戶管理用戶管理模塊是系統(tǒng)的基本功能模塊,管理員能夠?qū)崿F(xiàn)對用戶的基本信息檔案及用戶表計的設(shè)置和管理,能夠添加或刪除用戶。抄表管理抄表管理模塊提供了對手工抄表數(shù)據(jù)的采集錄入功能。水費(fèi)管理水費(fèi)管理模塊是該收費(fèi)系統(tǒng)的核心模塊,它主要是對抄表數(shù)據(jù)進(jìn)行加工處理,并根據(jù)用戶用水性質(zhì)計算水量和水費(fèi),打印水費(fèi)通知單。并能提供用戶上月用水和本月用水情況的查詢。統(tǒng)計查詢可進(jìn)行損漏統(tǒng)計分析,生成統(tǒng)計分析圖;
能進(jìn)行日供水、周供水、月供水統(tǒng)計分析及查詢用戶任何一個月的用水情況;從而支持領(lǐng)導(dǎo)辦公。實(shí)現(xiàn)辦公的現(xiàn)代化。系統(tǒng)維護(hù)該模塊提供了操作員的權(quán)限管理,并提供系統(tǒng)備份、恢復(fù)、修復(fù)、報告等功能,以確保系統(tǒng)穩(wěn)定安全。通過以上幾個模塊從而實(shí)現(xiàn)自來水收費(fèi)過程的自動化管理。滿足了當(dāng)前該縣供水收費(fèi)的需要,使供水企業(yè)能夠合理、及時、準(zhǔn)確的收費(fèi),保證供水業(yè)務(wù)正常進(jìn)行2.2方案分析各角色的用例圖用戶用例圖
圖STYLEREF1\s2SEQ圖表\*ARABIC\s11用戶用例圖管理員用例圖圖STYLEREF1\s2SEQ圖表\*ARABIC\s12管理員用例圖操作示意圖用戶操作示意圖圖STYLEREF1\s2SEQ圖表\*ARABIC\s13用戶操作示意圖管理員操作示意圖圖STYLEREF1\s2SEQ圖表\*ARABIC\s14管理員操作示意圖3概要設(shè)計3.1數(shù)據(jù)結(jié)構(gòu)分析畫出自來水收費(fèi)的數(shù)據(jù)流圖,根據(jù)數(shù)據(jù)流圖可以知道自來水公司和各個終端用戶,其中可以查詢用戶信息和關(guān)于自來水使用和繳費(fèi)的一些信息。說明:自水公司可根據(jù)自來水收費(fèi)管理軟件完成自來水信息的錄入、并且完成繳費(fèi)清單,自來水管理系統(tǒng)可以根據(jù)自來水價格和水表度數(shù)打印水費(fèi)單,發(fā)放清單給用戶。E-R圖相關(guān)設(shè)計:公司公司公司名稱公司地址聯(lián)系公司名稱公司地址聯(lián)系圖3.2公司實(shí)體用戶用戶用戶登錄帳號用戶消費(fèi)信息用戶用戶地址用戶名用戶登錄帳號用戶消費(fèi)信息用戶用戶地址用戶名圖用戶實(shí)體圖公司管理員公司管理員管理員聯(lián)系方式管理員編號管理員登錄帳號管理員聯(lián)系方式管理員編號管理員登錄帳號圖公司管理員實(shí)體密碼帳號地址密碼帳號地址編號編號事務(wù)管理員公司1n事務(wù)管理員公司m名稱管理系統(tǒng)名稱管理系統(tǒng)用戶n用戶帳號地址帳號地址用戶名消費(fèi)用戶名消費(fèi)3.2邏輯結(jié)構(gòu)與物理結(jié)構(gòu)通過上述E-R圖的相關(guān)分析,現(xiàn)在將E-R圖轉(zhuǎn)換成實(shí)體關(guān)系模型:公司實(shí)體(公司名稱,公司地址,公司聯(lián)系)用戶實(shí)體(用戶名稱,用戶地址,用戶,用戶消費(fèi)情況,用戶登錄帳號)公司管理員實(shí)體(管理員帳號,管理員編號,管理員聯(lián)系)3.3功能模塊劃分3.3.系統(tǒng)結(jié)構(gòu)框圖:自來水收費(fèi)系統(tǒng)自來水收費(fèi)系統(tǒng)信息查詢水費(fèi)管理抄表管理用戶管理信息查詢水費(fèi)管理抄表管理用戶管理各個模塊描述:用戶管理:管理用戶,增加用戶或者刪除用戶。抄表管理:記錄水表度數(shù)錄入系統(tǒng)。水費(fèi)管理:記錄用戶消費(fèi)信息。信息查詢:查詢用戶消費(fèi)信息。程序流圖開始開始管理員?管理員?NY輸入用戶名和密碼輸入用戶名和密碼輸入用戶名和密碼輸入用戶名和密碼查詢消費(fèi)信息查詢消費(fèi)信息打印繳費(fèi)單刪除用戶增加用戶打印繳費(fèi)單刪除用戶增加用戶模塊功能分析及外部設(shè)計自來水收費(fèi)管理系統(tǒng):用于記錄智能增加、刪除自來水公司用戶,并且記錄用戶每個月的消費(fèi)信息和繳納水費(fèi),管理員可以增刪用戶,打印用戶水費(fèi)單,用戶可以登錄系統(tǒng)查詢用戶消費(fèi)信息。用戶管理功能:管理員可以通過此功能增加或者刪除用戶,管理自來水公司的各個用戶。抄表功能:抄表員抄表之后,管理員將數(shù)據(jù)錄入系統(tǒng),記錄用戶當(dāng)月消費(fèi)情況。水費(fèi)管理功能:管理員根據(jù)水費(fèi)價格和錄入的抄表數(shù)據(jù),系統(tǒng)自動得出用戶所需繳納的水費(fèi)。系統(tǒng)查詢功能:用戶可以根據(jù)此功能查詢抄表數(shù)據(jù)和所需繳納水費(fèi)。classuser{public:user*next;public:stringaddr;//用戶地址longnum;//用戶編號};4詳細(xì)設(shè)計4.1數(shù)據(jù)類型定義classuser{public:user*next;public:stringaddr;//用戶地址longnum;//用戶編號voidplay(){cout<<"用戶的地址是"<<addr<<"用戶的編號是"<<num<<endl;};user(stringsaddr,longsnum){addr=saddr;num=snum;}};classcla{public:cla()//構(gòu)造函數(shù){s=0;sload();}~cla()//析構(gòu)函數(shù){user*p;p=s;while(p){p=p->next;deletes;s=p;}s=0;}voidsadd();//添加voidsremove();//刪除voidsamend();//修改voidmanagement();//水費(fèi)管理voidssearch();//查詢voidssave();//保存voidsload();//讀取private:user*s;//頭接點(diǎn)};4.2主要模塊內(nèi)部設(shè)計模塊1設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱).1模塊算法管理員登錄自來水管理系統(tǒng)之后,可以增加、刪除用戶,并且可以根據(jù)自來水管理系統(tǒng)查詢用戶的詳細(xì)信息。并且將用戶的一系列詳細(xì)信息保存在文件之中。.2流程圖開始開始輸入用戶名、密碼輸入用戶名、密碼NoYes查看用戶信息刪除用戶增加用戶查看用戶信息刪除用戶增加用戶結(jié)束結(jié)束源代碼:voidcla::sadd()//添加{user*q;stringaddr1;longnum1;system("cls");cout<<"\n**增加的用戶**\n"<<endl;cout<<"請輸入用戶的(中間用空格間隔)"<<endl;cout<<"用戶地址用戶編號:"<<endl;cin>>addr1>>num1;q=newuser(addr1,num1);q->next=0;if(s){user*t;t=s;if(t->num==num1){cout<<"用戶編號已存在,請重新輸入"<<endl;return;}while(t->next){if(t->num==num1){cout<<"用戶編號已存在,請重新輸入"<<endl;return;}t=t->next;}t->next=q;}else{s=q;}cout<<"輸入完畢"<<endl;}voidcla::sremove()//刪除{system("cls");intnum1;cout<<"\n**刪除用戶信息**\n";cout<<"請輸入想要刪除用戶的編號:";cin>>num1;//查找要刪除的結(jié)點(diǎn)user*p1,*p2;p1=s;while(p1){if(p1->num==num1)break;else{p2=p1;p1=p1->next;}}//刪除結(jié)點(diǎn)if(p1!=NULL)//若找到結(jié)點(diǎn),則刪除{p1->play();cout<<"確定刪除嗎?[Y/N]"<<endl;charc;cin>>c;if(toupper(c)!='Y')return;if(p1==s)//若要刪除的結(jié)點(diǎn)是第一個結(jié)點(diǎn){s=p1->next;deletep1;}else//若要刪除的結(jié)點(diǎn)是后續(xù)結(jié)點(diǎn){p2->next=p1->next;deletep1;}cout<<"找到用戶編號為"<<num1<<"的用戶,并刪除\n";}else//未找到結(jié)點(diǎn)cout<<"未找到想要刪除用戶!\n";}4.2.2模塊2設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱)模塊算法:管理員通過抄表員的抄表數(shù)據(jù)和自來水單價,可以得出用戶本月應(yīng)該繳納的自來水水費(fèi),并且可以打印繳費(fèi)單,用戶可以根據(jù)此繳費(fèi)單查詢用戶本月消費(fèi)情況并且繳費(fèi)。開始開始正確登錄?正確登錄?Noyes輸入單價和抄表數(shù)據(jù)輸入單價和抄表數(shù)據(jù)得出用戶當(dāng)月應(yīng)繳水費(fèi)得出用戶當(dāng)月應(yīng)繳水費(fèi)打印繳費(fèi)單打印繳費(fèi)單結(jié)束結(jié)束源代碼:voidcla::management(){system("cls");longprice,read,sum;cout<<"請輸入自來水價格"<<endl;cin>>price;cout<<"請輸入抄表度數(shù)"<<endl;cin>>read;sum=price*read;cout<<"應(yīng)繳納水費(fèi)"<<sum;}模塊3設(shè)計(實(shí)際寫時用本題目對應(yīng)的模塊名稱)開始開始正確登錄?No正確登錄?yes錄入用戶信息錄入用戶信息保存嗎?保存嗎?Noyes保存用戶信息保存用戶信息結(jié)束結(jié)束源代碼:voidcla::ssave()//保存到文件{system("cls");charc;cout<<"\n保存用戶信息(將覆蓋原文件),是否繼續(xù)?[Y/N]:";cin>>c;if(toupper(c)!='Y')return;ofstreamtfile("date.txt",ios_base::binary);user*p=s;while(p)//寫入文件{tfile<<p->addr<<"\t"<<p->num<<"\t"<<p->sum;tfile<<endl;p=p->next;}tfile.close();cout<<"保存完畢..."<<endl;}5實(shí)現(xiàn)與調(diào)試分析5.1實(shí)現(xiàn)環(huán)境硬件:裝有WindowsXP的微型計算機(jī)。軟件:MicrosoftVisualC++6.0。5.2語言選擇本系統(tǒng)采用面向?qū)ο驝++語言設(shè)計,實(shí)現(xiàn)較為方便。5.3調(diào)試分析在本程序的調(diào)試中發(fā)現(xiàn)了一些隱蔽的錯誤:例如:當(dāng)用戶編號已經(jīng)存在的時候,輸入同樣的編號卻可以輸入用戶。當(dāng)添加這段代碼之后就不能輸入相同編號的用戶了:if(t->num==num1){cout<<"用戶編號已存在,請重新輸入"<<endl;return;}while(t->next){if(t->num==num1){cout<<"用戶編號已存在,請重新輸入"<<endl;return;}6測試分析6.1測試用例以及測試結(jié)果:功能模塊正確輸入預(yù)期結(jié)果錯誤輸入預(yù)期結(jié)果測試結(jié)果添加新用戶管理員帳號:輸入管理員身份證號管理員密碼:輸入管理員預(yù)設(shè)密碼正確登陸管理員帳號:錯誤輸入(正確輸入)管理員密碼:正確輸入(錯誤輸入)對不起!輸入錯誤,請重新輸入!性能正常刪除用戶管理員帳號輸入管理員身份證號管理員密碼:輸入管理員預(yù)設(shè)密碼正確登陸管理員帳號錯誤輸入(正確輸入)管理員密碼:正確輸入(錯誤輸入)對不起!輸入錯誤,請重新輸入!性能正常修改用戶信息管理員帳號輸入管理員身份證號管理員密碼:輸入管理員預(yù)設(shè)密碼正確登陸管理員帳號錯誤輸入(正確輸入)管理員密碼:正確輸入(錯誤輸入)對不起!輸入錯誤,請重新輸入!性能正常用戶水費(fèi)管理管理員帳號輸入管理員身份證號管理員密碼:輸入管理員預(yù)設(shè)密碼用戶帳號:123456用戶密碼:123正確輸入管理員帳號錯誤輸入(正確輸入)管理員密碼:正確輸入(錯誤輸入)用戶帳號:其它帳號用戶密碼:其它密碼對不起!輸入錯誤,請重新輸入!輸入錯誤,請重新輸入!性能正常查詢用戶信息管理員帳號輸入管理員身份證號管理員密碼:輸入管理員預(yù)設(shè)密碼正確輸入管理員帳號錯誤輸入(正確輸入)管理員密碼:正確輸入(錯誤輸入)對不起!輸入錯誤,請重新輸入!性能正常保存至文檔管理員帳號:123456用戶密碼:123正確輸入管理員帳號其它帳號用戶密碼:其它密碼對不起!輸入錯誤,請重新輸入!性能正常6.3性能分析采用黑盒測試分析方法,黑盒測試法用于測試軟件功能,經(jīng)測試之后,性能如下:添加新用戶:管理員通過此功能完成新用戶的添加工作。刪除用戶:管理員通過此功能可以完成刪除已經(jīng)不存在的用戶。修改用戶信息:管理員通過此功能完成對已經(jīng)存在的用戶信息的修改工作。用戶水費(fèi)管理:管理員通過此功能可以錄入抄表數(shù)據(jù),計算用戶本月消費(fèi)信息并且可以打印報表,用戶通過此功能可以查詢本月消費(fèi)等方面的信息。查詢用戶信息:管理員通過此功能可以查詢用戶的信息,用戶編號、住址等。保存至文檔:管理員通過此功能可以保存用戶信息至文檔。由于技術(shù)上的限制,只能做出如此簡單的系統(tǒng),系統(tǒng)雖簡單,但是基本能完成自來水管理方面的信息,還無法設(shè)計登錄界面的問題,但是通過此次實(shí)訓(xùn),了解了很多制作軟件的流程,希望以后能夠制作出更加精致的系統(tǒng)。7用戶手冊管理員方面:管理員需注意,登錄系統(tǒng)的時候,管理員帳號需采用管理員身份證號碼,管理員密碼由管理員設(shè)置。正確登錄之后方可進(jìn)入管理員管理界面。用戶方面:用戶需注意,用戶帳號乃系統(tǒng)自動設(shè)置,帳號是123456,用戶密碼是123三位數(shù),其它帳號和密碼均不能登錄此系統(tǒng)。總結(jié)本系統(tǒng)是自來水收費(fèi)管理系統(tǒng),能智能實(shí)現(xiàn)自來水收費(fèi)方面的功能,自來水公司管理員可以實(shí)現(xiàn)管理用戶功能,用戶申報許可之后,管理員可以添加用戶,當(dāng)用戶不存在的時候,管理員可以通過此系統(tǒng)刪除用戶,還可以查詢用戶方面的信息,并且將用戶的一些信息保存之文檔之中。此系統(tǒng)可以在裝有WindowsXP的微型計算機(jī)上實(shí)現(xiàn)。采用的語言是VisualC++面向?qū)ο笳Z言。通過本次課程設(shè)計,了解了很多軟件設(shè)計的流程。雖然運(yùn)用的時候還是有一些生疏,但是還是能大致完成。希望通過本次課程設(shè)計能為自來水管理方面出一份力。在這次實(shí)訓(xùn)中,獲得了很多制作經(jīng)驗(yàn),但是需要知道,系統(tǒng)還是不完善了,由于能力有限,因此還有待完善。參考文獻(xiàn)1張海藩.軟件工程導(dǎo)論.北京:清華大學(xué)出版社,20042陳明.實(shí)用軟件工程基礎(chǔ).北京:清華大學(xué)出版社,20033殷人昆.實(shí)用軟件工程.北京:清華大學(xué)出版社,2003#include<iostream>#include<iomanip>#include<fstream>#include<string>usingnamespacestd;classuser{public:user*next;public:stringadd;//地址longnum;//編號intx,y,z;//月份,用水量,自來水價格voidplay(){cout<<add<<"編號是"<<num<<endl;};user(stringsadd,longsnum,intsx,intsy,intsz){add=sadd;num=snum;x=sx;y=sy;z=sz;}};classcla{public:cla()//構(gòu)造函數(shù){stu=0;sload();}~cla()//析構(gòu)函數(shù){user*p;p=stu;while(p){p=p->next;deletestu;stu=p;}stu=0;}voidsadd();//添加voidsremove();//刪除voidsamend();//修改voidssearch();//查詢voidssave();//保存voidsload();voidsmoney();//用戶水費(fèi)計算private:user*stu;//頭接點(diǎn)};voidcla::smoney()//用戶水費(fèi)計算{user*p1,*p2;p1=stu;longnum1;intx1;//消費(fèi)月份system("cls");cout<<"請輸入用戶編號"<<endl;cin>>num1;cout<<"請輸入用戶用水月份"<<endl;cin>>x1;while(p1){if(p1->num==num1&&p1->x==x1)break;else{p2=p1;p1=p1->next;}}if(p1!=NULL&&p1->num==num1&&p1->x==x1){p1=p1->next;cout<<"此月用戶繳納水費(fèi)是:"<<p1->y*p1->z<<endl;cout<<"計算完畢"<<endl;}}voidcla::sadd()//添加{user*q;stringadd1;longnum1;intx1,y1,z1;system("cls");cout<<"\n**增加的用戶**\n"<<endl;cout<<"請輸入用戶的(中間用空格間隔)"<<endl;cout<<"地址編號月份用水量自來水價格:"<<endl;cin>>add1>>num1>>x1>>y1>>z1;q=newuser(add1,num1,x1,y1,z1);q->next=0;if(stu){user*t;t=stu;if(t->x==x1&&t->num==num1){cout<<"該用戶該月份已存在,請重新輸入"<<endl;return;}while(t->next){if(t->x==x1&&t->num==num1){cout<<"該用戶該月份已存在,請重新輸入"<<endl;return;}t=t->next;}t->next=q;}else{stu=q;}cout<<"輸入完畢"<<endl;}voidcla::sremove()//刪除{system("cls");intnum1;intx1;cout<<"\n**刪除用戶信息**\n";cout<<"請輸入想要刪除用戶編號:";cin>>num1;cout<<"請輸入需要刪除的該用戶月份"<<endl;cin>>x1;//查找要刪除的結(jié)點(diǎn)user*p1,*p2;p1=stu;while(p1){if(p1->num==num1&&p1->x==x1)break;else{p2=p1;p1=p1->next;}}//刪除結(jié)點(diǎn)if(p1!=NULL&&p1->num==num1&&p1->x==x1)//若找到結(jié)點(diǎn),則刪除{p1->play();cout<<"確定刪除嗎?[Y/N]"<<endl;charc;cin>>c;if(toupper(c)!='Y')return;if(p1==stu)//若要刪除的結(jié)點(diǎn)是第一個結(jié)點(diǎn){stu=p1->next;deletep1;}else//若要刪除的結(jié)點(diǎn)是后續(xù)結(jié)點(diǎn){p2->next=p1->next;deletep1;}cout<<"找到編號為"<<num1<<"的用戶,并刪除該月份的信息\n";}else//未找到結(jié)點(diǎn)cout<<"未找到想要刪除的用戶!\n";}voidcla::samend()//修改{system("cls");longnum1;intx1;cout<<"\n**修改用戶信息**\n";cout<<"輸入要修改用戶的編號";cin>>num1;cout<<"請輸入該用戶月份"<<endl;cin>>x1;//查找要修改的結(jié)點(diǎn)user*p1,*p2;p1=stu;while(p1){if(p1->num==num1&&p1->x==x1)break;else{p2=p1;p1=p1->next;}}if(p1!=NULL&&p1->num==num1&&p1->x==x1){cout<<"編號是"<<num1<<"月份是"<<p1->x<<"的用戶的信息"<<endl;cout<<"地址"<<p1->add<<"用水量"<<p1->y<<"水價"<<p1->z<<endl;cout<<"請輸入修改后的信息:用戶地址月份用水量水價"<<endl;cin>>p1->add>>p1->x>>p1->y>>p1->z;cout<<"修改成功"<<endl;}else//未找到接點(diǎn)cout<<"未找到!\n";}voidcla::ssearch()//查詢{system("cls");cout<<"\n**查詢用戶信息**\n"<<endl;cout<<"請輸入查詢方式:"<<endl;cout<<"1.按編號查詢"<<endl;cout<<"2.按用戶地址查詢"<<endl;cout<<"3.返回"<<endl;charc;cin>>c;switch(c){case'1':{longnum1;intx1;cout<<"要查詢的用戶編號"<<endl;cin>>num1;cout<<"要查詢的用戶月份"<<endl;cin>>x1;//查找要查詢的結(jié)點(diǎn)user*p1,*p2;p1=stu;while(p1){if(p1->num==num1&&p1->x==x1)break;else{p2=p1;p1=p1->next;}}if(p1!=NULL&&p1->num==num1&&p1->x==x1){cout<<"編號是"<<num1<<"的用戶,月份是"<<p1->x<<"月。該用戶的消費(fèi)的信息"<<endl;cout<<"地址是:"<<p1->add<<"用水量是:"<<p1->y<<"噸繳納的水費(fèi)是:"<<p1->z*p1->y<<"元"<<endl;p1=p1->next;cout<<"查詢完畢"<<endl;}else//未找到接點(diǎn)cout<<"未找到!\n";break;}case'2':{stringadd1;intx1;cout<<"要查詢的用戶地址"<<endl;cin>>add1;cout<<"請輸入你需要查詢的月份"<<endl;cin>>x1;//查找要查詢的結(jié)點(diǎn)user*p1,*p2;p1=stu;while(p1){if(p1->add==add1&&p1->x==x1)break;else{p2=p1;p1=p1->next;}}if(p1!=NULL&&p1->add==add1&&p1->x==x1){cout<<add1<<"的用戶"<<p1->x<<"月的消費(fèi)信息是"<<endl;cout<<"編號:"<<p1->num<<"用水量:"<<p1->y<<"噸繳納的水費(fèi)是:"<<p1->z*p1->y<<"元"<<endl;p1=p1->next;cout<<"查詢完畢...";}else//未找到接點(diǎn)cout<<"未找到!\n";break;}case'3':return;}}voidcla::ssave()//保存到文件{system("cls");charc;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球初級沖擊式破碎機(jī)行業(yè)調(diào)研及趨勢分析報告
- 座次禮儀健康管理系施怡寧講解
- 2025個人借款樓房抵押合同范本
- 2025標(biāo)準(zhǔn)材料采購合同范本
- 打灰工班組承包合同
- 生活污水處理合同書范本年
- 墻面廣告租賃合同
- 提高人際溝通與協(xié)調(diào)的技巧
- 建筑工程施工總承包合同
- 活動板房工程合同范本
- 誡子書教案一等獎?wù)]子書教案
- 《民航服務(wù)溝通技巧》教案第16課民航服務(wù)人員平行溝通的技巧
- 深圳市物業(yè)專項維修資金管理系統(tǒng)操作手冊(電子票據(jù))
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- 10000中國普通人名大全
- 起重機(jī)械安裝吊裝危險源辨識、風(fēng)險評價表
- 華北理工兒童口腔醫(yī)學(xué)教案06兒童咬合誘導(dǎo)
- 中國建筑項目管理表格
- 高一3班第一次月考總結(jié)班會課件
- 公共政策分析導(dǎo)論教學(xué)課件匯總完整版電子教案
- 我國油菜生產(chǎn)機(jī)械化技術(shù)(-119)
評論
0/150
提交評論