電信計(jì)費(fèi)系統(tǒng)客戶帳單管理_第1頁(yè)
電信計(jì)費(fèi)系統(tǒng)客戶帳單管理_第2頁(yè)
電信計(jì)費(fèi)系統(tǒng)客戶帳單管理_第3頁(yè)
電信計(jì)費(fèi)系統(tǒng)客戶帳單管理_第4頁(yè)
電信計(jì)費(fèi)系統(tǒng)客戶帳單管理_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

客戶帳單管理程序設(shè)計(jì)報(bào)告(2012/2013學(xué)年第二學(xué)期)題目:電信計(jì)費(fèi)系統(tǒng)客戶帳單管理專(zhuān)業(yè)學(xué)生姓名班級(jí)學(xué)號(hào)指導(dǎo)教師指導(dǎo)單位計(jì)算機(jī)軟件教學(xué)中心日期2013年05月29日評(píng)分細(xì)則評(píng)分項(xiàng)優(yōu)秀良好中等差遵守機(jī)房規(guī)章制度上機(jī)時(shí)的表現(xiàn)學(xué)習(xí)態(tài)度程序準(zhǔn)備情況程序設(shè)計(jì)能力團(tuán)隊(duì)合作精神課題功能實(shí)現(xiàn)情況算法設(shè)計(jì)合理性用戶界面設(shè)計(jì)報(bào)告書(shū)寫(xiě)認(rèn)真程度內(nèi)容詳實(shí)程度文字表達(dá)熟練程度回答問(wèn)題準(zhǔn)確度簡(jiǎn)短評(píng)語(yǔ)教師簽名:郭劍2012年12月25日評(píng)

級(jí)備注評(píng)分等級(jí)有五種:優(yōu)秀、良好、中等、及格、不及格電信計(jì)費(fèi)系統(tǒng)客戶帳單管理一、課題內(nèi)容和要求讀寫(xiě)、函數(shù)調(diào)用等知識(shí),以及查找、排序典型算法的設(shè)計(jì)與應(yīng)用。二、需求分析要能提供以下幾個(gè)基本功能:(1)用戶資料文件與話單文件由程序設(shè)計(jì)人員預(yù)先從鍵盤(pán)上錄入,用戶資料文件中的數(shù)據(jù)記錄不得少于30條,話單文件中的數(shù)據(jù)記錄不得少于200條,且必須有跨月份、跨年份的通話記錄話單。(2)首先從硬盤(pán)讀入用戶資料和話單記錄(3)對(duì)話單進(jìn)行計(jì)費(fèi)處理,輸出費(fèi)用詳單到指定的文件。格式如下:電話號(hào)碼用戶姓名月租費(fèi)功能費(fèi)市內(nèi)電話費(fèi)用長(zhǎng)途電話費(fèi)用合計(jì)83470000ZhangQiang25.006.00xxxxxxxxxxxxx83470001(4)異常話單提示。有的話單可能是錯(cuò)誤的,找出這些話單,不參加計(jì)費(fèi),另存為一個(gè)文件。可能的出錯(cuò)話單有:①一個(gè)號(hào)碼的通話時(shí)長(zhǎng)大于三天。②一個(gè)號(hào)碼在一個(gè)時(shí)間存在兩條以上的記錄。功能框架圖如圖1所示(1)提供可操作的主菜單:輸出個(gè)菜單,用于顯示以從文件中加載的總客戶信的函數(shù)。(2(3)顯示所有賬單功能:可將文本里的通話賬單在屏幕上顯示出來(lái)。(4)添加用戶功能:可在屏幕上進(jìn)行直接操作,將用戶信息添加到記錄里。(5)添加賬單功能:操作同上,可將新的通話記錄添加到記錄里。(6)按用戶民查找功能:輸入記錄里的用戶民,可以查詢與之相關(guān)的通話賬單記錄。(7)按電話號(hào)碼查找功能:輸入記錄里的已有電話號(hào)碼,可以查找相應(yīng)的通話賬單記錄。(8)輸出花費(fèi)功能:在操控臺(tái)和文本中,直接輸出所有的花費(fèi)詳情。三、概要設(shè)計(jì)1、主要函數(shù)流程圖如圖2所示:開(kāi)始打開(kāi)文本讀入數(shù)據(jù)選擇操作選項(xiàng)返回上一級(jí)子菜單結(jié)束圖2:主程序圖圖3:操作菜單系統(tǒng)圖4:顯示所有信息菜單開(kāi)始打開(kāi)文本輸入在末尾插入數(shù)據(jù)輸出數(shù)據(jù)到文本尾關(guān)閉文本結(jié)束圖5:插入數(shù)據(jù)菜單圖6:計(jì)算話費(fèi)函數(shù)開(kāi)始開(kāi)始記錄開(kāi)始時(shí)間以及結(jié)束月日時(shí)分秒是否No超出時(shí)間范圍?輸出錯(cuò)誤提示,結(jié)束圖7::判斷話費(fèi)正誤函數(shù)1、顧客類(lèi)(Customer):#include<iostream.h>#include<string.h>#include<iomanip.h>//控制輸出格式classCustomer//定義一個(gè)顧客類(lèi){protected:charName[20];//用戶名charNumber[15];//用戶電話號(hào)碼charCID;//是否來(lái)電顯示public:Customer(char*="",char*="",charcid='');//定義構(gòu)造函數(shù)~Customer();//定義析構(gòu)函數(shù)Customer(constCustomer&obj);//定義拷貝構(gòu)造函數(shù)char*GetName();//獲得用戶名字符型指針函數(shù)char*GetNumber();//獲得用戶號(hào)字符型指針函數(shù)charGetCID();//看用戶是否有來(lái)電顯示friendistream&operator>>(istream&in,Customer&cus);//友元重載輸入friendostream&operator<<(ostream&out,constCustomer&cus);//友元重載輸出};Customer::Customer(char*na,char*num,charcid){strcpy(Name,na);strcpy(Number,num);CID=cid;}Customer::~Customer(){

}Customer::Customer(constCustomer&obj)//構(gòu)造函數(shù)的定義{strcpy(Name,obj.Name);strcpy(Number,obj.Number);CID=obj.CID;}char*Customer::GetName(){returnName;}char*Customer::GetNumber(){returnNumber;}charCustomer::GetCID(){returnCID;}istream&operator>>(istream&in,Customer&cus){in>>cus.Name;//輸入用戶名in>>cus.Number;//輸入用戶號(hào)碼in>>cus.CID;//來(lái)電業(yè)務(wù)信息returnin;}ostream&operator<<(ostream&out,constCustomer&cus){out<<setiosflags(ios::left);out<<setw(20)<<cus.Name;//左對(duì)齊輸出用戶名out<<setw(15)<<cus.Number;//左對(duì)齊輸出用戶號(hào)碼out<<setw(1)<<cus.CID;//來(lái)電業(yè)務(wù)信息out<<endl;

returnout;

}2、話單類(lèi)(Bill):#include<iostream.h>#include<string.h>#include<iomanip.h>#include<math.h>classBill{protected:charDialing[15];charDialed[15];charStartTime[15];charEndTime[15];public:Bill(char*dialing="",char*dialed="",char*stime="",char*etime="");//定義構(gòu)造函數(shù)~Bill();Bill(constBill&obj);//帳單的拷貝構(gòu)造函數(shù)char*GetDialing();//獲得主叫號(hào)碼char*GetDialed();//獲得被叫號(hào)碼char*GetStart();//獲得起始時(shí)間char*GetEnd();//獲得結(jié)束時(shí)間intGetDate();//獲得日期intGetTime();//獲得通話時(shí)長(zhǎng)friendintmon_day(intyear,intmonth);//記錄不同月份的天數(shù)friendistream&operator>>(istream&in,Bill&bill);//友元重載輸入friendostream&operator<<(ostream&out,constBill&bill);//友元重載輸出friendintEstimate(char*m,char*n);//判斷時(shí)間正誤函數(shù)};Bill::Bill(char*dialing,char*dialed,char*stime,char*etime){strcpy(Dialing,dialing);

strcpy(Dialed,dialed);

strcpy(StartTime,stime);

strcpy(EndTime,etime);}Bill::Bill(constBill&obj){strcpy(Dialing,obj.Dialing);strcpy(Dialed,obj.Dialed);strcpy(StartTime,obj.StartTime);strcpy(EndTime,obj.EndTime);}Bill::~Bill(){}char*Bill::GetDialing(){returnDialing;}char*Bill::GetDialed(){returnDialed;}char*Bill::GetStart(){returnStartTime;}char*Bill::GetEnd(){returnEndTime;}istream&operator>>(istream&in,Bill&bill){in>>bill.Dialing;

in>>bill.Dialed;

in>>bill.StartTime;

in>>bill.EndTime;

returnin;}ostream&operator<<(ostream&out,constBill&bill){out<<setiosflags(ios::left);out<<setw(15)<<bill.Dialing;out<<setw(15)<<bill.Dialed;out<<setw(15)<<bill.StartTime;out<<setw(15)<<bill.EndTime;

out<<endl;returnout;}intBill::GetDate(){intDat[6];doubledate=0;for(inti=0;i<6;i++){Dat[i]=StartTime[i]-48;//文本文件讀入時(shí)只能以字符型的形式,計(jì)算是轉(zhuǎn)化成整形date+=Dat[i]*pow(10,5-i);}return(int)date;}intBill::GetTime(){returnEstimate(StartTime,EndTime);}intmon_day(intyear,intmonth)//記錄不同月份的天數(shù){intday[12];//d數(shù)組12個(gè)成員為12個(gè)月份day[0]=31;//給成員一一賦值if(year%4==0&&year%100!=0||year%400==0)//判斷是否是閏年day[1]=29;

elseday[1]=28;day[2]=31;day[3]=30;day[4]=31;day[5]=30;day[6]=31;day[7]=31;day[8]=30;day[9]=31;

day[10]=30;day[11]=31;returnday[month-1];//返回y年m月有多少天}intEstimate(char*m,char*n)//判斷時(shí)間正誤函數(shù){inta[14],b[14];//a記錄開(kāi)始時(shí)間,b記錄結(jié)束時(shí)間for(inti=0;i<14;i++)//將字符型數(shù)字換算成整型{a[i]=m[i]-48;b[i]=n[i]-48;}inty1,mon1,d1,h1,min1,s1;//開(kāi)始時(shí)間的年月日時(shí)分秒

inty2,mon2,d2,h2,min2,s2;//結(jié)束時(shí)間的年月日時(shí)分秒

intx,y;//開(kāi)始、結(jié)束時(shí)間的日、時(shí)、分統(tǒng)一換算成分鐘,對(duì)應(yīng)著x、y

y1=a[0]*1000+a[1]*100+a[2]*10+a[3];//開(kāi)始時(shí)間的年份

mon1=a[4]*10+a[5];//開(kāi)始時(shí)間的月份d1=a[6]*10+a[7];//開(kāi)始時(shí)間的日期h1=a[8]*10+a[9];//開(kāi)始時(shí)間的時(shí)min1=a[10]*10+a[11];//開(kāi)始時(shí)間的分s1=a[12]*10+a[13];//開(kāi)始時(shí)間的秒x=d1*24*60+h1*60+min1;y2=b[0]*1000+b[1]*100+b[2]*10+b[3];//結(jié)束時(shí)間的年份

mon2=b[4]*10+b[5];//結(jié)束時(shí)間的月份d2=b[6]*10+b[7];//結(jié)束時(shí)間的日期h2=b[8]*10+b[9];//結(jié)束時(shí)間的時(shí)min2=b[10]*10+b[11];//結(jié)束時(shí)間的分s2=b[12]*10+b[13];//結(jié)束時(shí)間的秒y=d2*24*60+h2*60+min2;if(mon1>12||mon1<1||mon2>12||mon2<1||h1>23||h1<0||h2>23||h1<0||min1>59||min1<0||min2>59||min2<0||s1>59||s1<0||s2>59||s2<0||d1<1||d2<1||d1>mon_day(y1,mon1)||d2>mon_day(y2,mon2)){return-1;//如果“月,日,時(shí),分,秒”超出范圍,則返回-1}else{if(y1==y2)//判斷同年{if(mon1==mon2)//判斷月份{if((y-x<24*60*3)&&(y-x>0))//判斷通話在三天內(nèi){if(s1<s2)//如果不足一分鐘,按一分鐘計(jì)算returny-x+1;elsereturny-x;}elseif(y==x)//開(kāi)始結(jié)束分鐘數(shù)相同{if(s2>s1)//結(jié)束秒數(shù)大于開(kāi)始秒數(shù),就是正確的,否則錯(cuò)誤return1;else{cout<<"通話時(shí)間記錄錯(cuò)誤!"<<endl;return-1;}}else//通話不在三天內(nèi)或結(jié)束時(shí)間小于開(kāi)始時(shí)間則錯(cuò)誤{cout<<"通話時(shí)間記錄錯(cuò)誤!"<<endl;return-1;}}else{if(mon2-mon1!=1)//不再同一月的話,那么結(jié)束時(shí)間必須比開(kāi)始時(shí)間大一月{cout<<"通話時(shí)間記錄錯(cuò)誤!"<<endl;return-1;}else{if(s1<s2)//s1跟s2不同的大小關(guān)系決定怎么算{returny-x+1+mon_day(y1,mon1)*24*60;}else{returny-x+mon_day(y1,mon1)*24*60;}}}}else//不同年的情況{if(y2-y1==1&&mon1==12&&mon2==1)//不同年只能是去年的12月,當(dāng)年的1月結(jié)束{if(s1<s2){returny-x+1+31*24*60;}else{returny-x+31*24*60;}}else{cout<<"通話時(shí)間記錄錯(cuò)誤!"<<endl;return-1;

}}}}四、源程序代碼.#include"Customer.h"#include"Bill.h"#include<iomanip.h>#include<fstream.h>doublePrepaidFee=25.0,Cid=6.0,Local=0.1,Toll=0.7;//定義全局變量:月租,來(lái)電顯示費(fèi)用市內(nèi)電話單價(jià)和長(zhǎng)途電話單價(jià)constintMax=2000;//最大數(shù)組長(zhǎng)度charShowMainMeun();//顯示主菜單charShowSonMenu();//顯示子菜單voidShowCustomer();//顯示所有客戶信息voidShowBill();//顯示所有帳單信息voidAddCusInfo();//添加用戶信息voidAddBilInfo();//添加帳單信息voidSearchCusInfo();//按照客戶查找?guī)涡畔oidSearchNumInfo();//按照號(hào)碼查找?guī)涡畔oidCalculate(Customer*cus,Bill*bill,intm,intn);//voidShowAll();//輸出所有帳單信息voidShowWrongMess(Bill*bill,intn);//輸出錯(cuò)誤帳單的信息boolCompare(intm,int*p,intn);//如果m與數(shù)組p[n]的任何一個(gè)數(shù)都不相等,那么就返回falseintJudge(Bill*bill,intm,Billbil,intn);//判斷bil帳單是否會(huì)發(fā)生沖突charShowMainMeun(){cout<<"\t主菜單"<<endl;cout<<"\t============================================================"<<endl;

cout<<"\t||"<<endl;cout<<"\t|輸入1:顯示所有用戶信息|"<<endl;

cout<<"\t|輸入2:顯示所有話單信息|"<<endl;

cout<<"\t|輸入3:添加用戶信息|"<<endl;

cout<<"\t|輸入4:添加話單信息|"<<endl;cout<<"\t|輸入5:按客戶名查找話單|"<<endl;cout<<"\t|輸入6:按號(hào)碼查找話單|"<<endl;cout<<"\t|輸入7:輸出所有話費(fèi)信息|"<<endl;cout<<"\t|輸入0:結(jié)束操作|"<<endl;cout<<"\t||"<<endl;cout<<"\t============================================================"<<endl;cout<<"-------"<<endl;cout<<"注:時(shí)間24:00算錯(cuò)誤;計(jì)費(fèi)月份按撥打電話時(shí)間算"<<endl<<endl;charchoice;cout<<"請(qǐng)輸入操作選項(xiàng):"<<endl;cin>>choice;//用戶輸入操作選項(xiàng)returnchoice;//返回操作選項(xiàng)}charShowSonMenu(){cout<<"\t============================================================"<<endl;cout<<"\t||"<<endl;cout<<"\t|輸入0:返回上一級(jí)菜單|"<<endl;cout<<"\t|輸入1:顯示查詢用戶話費(fèi)信息|"<<endl;cout<<"\t|輸入2:顯示查詢用戶錯(cuò)誤話單信息|"<<endl;cout<<"\t||"<<endl;cout<<"\t============================================================"<<endl;charchoice;cout<<"請(qǐng)輸入操作選項(xiàng):\n";cin>>choice;//用戶輸入操作選項(xiàng)returnchoice;//返回操作選項(xiàng)}voidShowCustomer(){cout<<"\n\n";CustomerCus[Max];Billbill[Max];ifstreaminf1("用戶信息.txt");intcount1=0;while(!inf1.eof()){inf1>>Cus[count1];cout<<Cus[count1];count1++;}ifstreaminf2("話單信息.txt");intcount2=0;while(!inf2.eof()){inf2>>bill[count2];count2++;}inf1.close();inf2.close();charpoint;while((point=ShowSonMenu())!='0'){if(point=='1')Calculate(SaveCus,SaveBill,2,count2);elseif(point=='2')ShowWrongMess(bill,count2);elsecout<<"輸入有誤:請(qǐng)重新輸入!"<<endl;}}voidShowBill(){CustomerCus[Max];Billbill[Max];ifstreaminf1("用戶信息.txt");intcount1=0;while(!inf1.eof())

{inf1>>Cus[count1];count1++;}ifstreaminf2("話單信息.txt");intcount2=0;while(!inf2.eof()){inf2>>bill[count2];cout<<bill[count2];count2++;}inf1.close();inf2.close();charpoint;while((point=ShowSonMenu())!='0'){if(point=='1')Calculate(SaveCus,SaveBill,2,count2);elseif(point=='2')ShowWrongMess(bill,count2);elsecout<<"輸入有誤:請(qǐng)重新輸入!"<<endl;}}voidShowAll(){CustomerCus[Max];Billbill[Max];ifstreaminf1("用戶信息.txt");intcount1=0;while(!inf1.eof())//錄入顧客信息到Customer類(lèi)的數(shù)組cust中{inf1>>Cus[count1];count1++;//有m-1個(gè)顧客}intcount2=0;ifstreaminf2("話單信息.txt");while(!inf2.eof())//錄入賬單記錄到Bill類(lèi)的數(shù)組bill中{inf2>>bill[count2];count2++;//有n個(gè)賬單記錄}inf1.close();//關(guān)閉文件inf2.close();//關(guān)閉文件Calculate(Cus,bill,count1,count2);}voidAddCusInfo(){CustomerCus[Max];intnum;cout<<"請(qǐng)輸入添加用戶的數(shù)目:";cin>>num;cout<<"請(qǐng)輸入用戶的相應(yīng)信息:"<<endl<<"用戶姓名用戶號(hào)碼是否開(kāi)通來(lái)電顯示(Y/N)"<<endl;for(intn=0;n<num;n++)cin>>Cus[n];//輸入添加的用戶名ofstreamoutf;outf.open("用戶信息.txt",ios::app);//用app方式打開(kāi)文本,能直接在文本尾加入信息for(n=0;n<num;n++)outf<<Cus[n];//添加客戶文本信息cout<<"成功添加用戶信息。"<<endl;outf.close();}voidAddBilInfo(){Billbill[Max];intnum;cout<<"請(qǐng)輸入添加帳單的數(shù)目:";cin>>num;cout<<"請(qǐng)輸入帳單的相應(yīng)信息:"<<endl;cout<<"主叫號(hào)碼被叫號(hào)碼開(kāi)始通話時(shí)間結(jié)束通話時(shí)間"<<endl;cout<<"格式形如:20130528132112"<<endl;for(intn=0;n<num;n++)cin>>bill[n];ofstreamoutf;outf.open("話單信息.txt",ios::app);//用app方式打開(kāi)文本,能直接在文本尾加入信息for(n=0;n<num;n++)outf<<bill[n];//添加話單文本信息cout<<"成功添加話單信息。"<<endl;outf.close();}voidSearchCusInfo(){charName[20];cout<<"請(qǐng)出入查找的用戶名:";cin>>Name;CustomerCus[Max];Billbill[Max];ifstreaminf1("用戶信息.txt");intcount1=0;while(!inf1.eof())//錄入顧客信息到Customer類(lèi)數(shù)組Cus中{inf1>>Cus[count1];count1++;//記錄總共有(count1-1)個(gè)顧客}ifstreaminf2("話單信息.txt");intcount2=0;while(!inf2.eof()){inf2>>bill[count2];count2++;//總共有count2條話單}inf1.close();inf2.close();CustomerSaveCus[1];BillSaveBill[Max];//保存該用戶的話單信息inti=0,j=0,k=0;cout<<"您所查找的用戶信息是:"<<endl;boolp=false,q=false,r=false;for(i=0;i<count1-1;i++){if(strcmp(Cus[i].GetName(),Name)==0){SaveCus[0]=Cus[i];for(j=0;j<count2;j++){if(strcmp(Cus[i].GetNumber(),bill[j].GetDialing())==0){cout<<bill[j];q=true;SaveBill[k]=bill[j];k++;}elsecontinue;

}r=true;}elsep=true;}if(!q&&r)cout<<"無(wú)法查詢?cè)撚脩粜畔?"<<endl;if(p&&!r)cout<<"輸入有誤:無(wú)法查詢?cè)撚脩粜畔?"<<endl;charpoint;while((point=ShowSonMenu())!='0'){if(point=='1')Calculate(SaveCus,SaveBill,2,count2);elseif(point=='2')ShowWrongMess(bill,count2);elsecout<<"輸入有誤:請(qǐng)重新輸入!"<<endl;}}voidSearchNumInfo(){CustomerCus[Max];ifstreaminf1("用戶信息.txt");intcount1=0;while(!inf1.eof()){inf1>>Cus[count1];count1++;//有count1-1個(gè)用戶}Billbill[Max];ifstreaminf2("話單信息.txt");intcount2=0;while(!inf2.eof())

{inf2>>bill[count2];count2++;//有count2條話單記錄}inf1.close();inf2.close();charNumber[15];cout<<"請(qǐng)出入查找的號(hào)碼:";cin>>Number;BillSaveBill[Max];inti=0,j=0,k=0;cout<<"您所查找的話單信息是:"<<endl;boolp=true;for(i=0;i<count2;i++){if(strcmp(bill[i].GetDialing(),Number)==0){cout<<bill[i];j=false;SaveBill[k]=bill[i];k++;}}if(j)cout<<"輸入有誤:無(wú)法查詢?cè)撎?hào)碼信息!"<<endl;CustomerSaveCus[1];for(i=0;i<count1-1;i++){if(strcmp(Cus[i].GetNumber(),Number)==0){SaveCus[0]=Cus[i];}}charpoint;while((point=ShowSonMenu())!='0'){if(point=='1')Calculate(SaveCus,SaveBill,2,count2);elseif(point=='2')ShowWrongMess(bill,count2);elsecout<<"輸入有誤:請(qǐng)重新輸入!"<<endl;}

}voidCalculate(Customer*cus,Bill*bill,intm,intn){cout<<"姓名\t電話號(hào)碼日期月租來(lái)電市話長(zhǎng)途總計(jì)"<<endl;ofstreamouta("所有信息.txt");ofstreamoutw("錯(cuò)誤賬單.txt");for(inti=0;i<m-1;i++)//計(jì)算話費(fèi){inta[Max]={0};//int數(shù)組,用于記錄已計(jì)算過(guò)的月份if(cus[i].GetCID()=='Y')//判斷用戶是否有功能費(fèi)Cid=6;elseCid=0;for(intj=0;j<n;j++){if(strcmp(cus[i].GetNumber(),bill[j].GetDialing())==0)//找出cust[i]客戶的所有帳單{doublelocal=0,toll=0,sum=0;//一個(gè)月的市話費(fèi)、長(zhǎng)途費(fèi)及總電話費(fèi)if(Compare(bill[j].GetDate(),a,n))//判斷在記錄a[n]中是否存在bill[j].getdate()記錄,若存在,則跳過(guò)這條賬單信息continue;else{for(intk=j;k<n;k++)

{if((bill[j].GetDate()==bill[k].GetDate())&&(strcmp(cus[i].GetNumber(),bill[k].GetDialing())==0))//若bill[k]的月份與主叫電話號(hào)碼都相同,則計(jì)算這個(gè)月的電話費(fèi){if(bill[k].GetTime()>=0&&Judge(bill,n,bill[k],k)==1){if(strlen(bill[k].GetDialed())>8)//按照市話來(lái)看,長(zhǎng)度大于8的都算是長(zhǎng)途電話toll+=bill[k].GetTime()*Toll;elselocal+=bill[k].GetTime()*Local;a[j]=bill[j].GetDate();//把bill[j]存到a[n]中}else{outw<<bill[k];}}}sum=PrepaidFee+Cid+toll+local;//文本輸出outa<<cus[i].GetNumber();outa<<setw(15)<<cus[i].GetName();outa<<setw(10)<<bill[j].GetDate();outa<<setw(5)<<PrepaidFee<<setw(5)<<Cid;outa<<setw(8)<<local<<setw(8)<<toll;outa<<setw(8)<<sum<<endl;}}}}outa.close();outw.close();}voidShowWrongMess(Bill*bill,intn)

{boola=true;for(inti=0;i<n;i++){if(bill[i].GetTime()==-1||Judge(bill,n,bill[i],i)==-1)//如果時(shí)間不符或者不符合判斷函數(shù)的條件,則為錯(cuò)誤賬單{cout<<bill[i];a=false;

}}if(a)cout<<"該用戶無(wú)錯(cuò)誤信息!"<<endl;}boolCompare(intm,int*p,intn){for(inti=0;i<n;i++){if(m==p[i])returntrue;elsecontinue;}returnfalse;}intJudge(Bill*bill,intm,Billbil,intn)//判斷bi的時(shí)間是否和其他賬單沖突,若沖突,則返回-1{for(inti=0;i<m;i++){if(i!=n){if(strcmp(bil.GetDialed(),bill[i].GetDialing())==0){if(strcmp(bil.GetStart(),bill[i].GetStart())==1)//終止時(shí)間是否沖突{if(strcmp(bil.GetStart(),bill[i].GetEnd())==1)return1;elsereturn-1;}elseif(strcmp(bil.GetStart(),bill[i].GetStart())==-1)//終止時(shí)間是否沖突{if(strcmp(bill[i].GetStart(),bil.GetEnd())==1)return1;elsereturn-1;}elsereturn-1;}}elsecontinue;}return1;}主函數(shù)代碼:#include"SourceFile.h"#include<stdlib.h>#include<windows.h>intmain(){cout<<"\t﹀"<<endl;cout<<"\t﹀_▁▂▃__"<<endl;cout<<"\t__▁▂▁___﹀﹋●"<<endl;cout<<"\t﹋﹀__▁▂▃▁__"<<endl;cout<<endl;cout<<"\t█▆▅▇▆▅▄▃▄▅▆▄▅▄▃▂▃▄▆▅▇▆▄▅█▇▆▄▂"<<endl;cout<<"\t-__~~--___-▔~~__--__~~~_----__----~~~---▔---___▔--__-▔"<<endl;cout<<"\t___---_~__-~_▔___-歡迎進(jìn)入電信計(jì)費(fèi)系統(tǒng)--▔~~---__--~~"<<endl;cout<<"\t█▇▆▅▃▁▂▁--_--_----------▔---~~▔▁▂▃▄▅▇"<<endl;cout<<"\t***********************************************************"<<endl;cout<<"\t*********************"<<endl;cout<<"\t*********************"<<endl;cout<<"\t***********組長(zhǎng):**********"<<en

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論