版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)基本課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告班級(jí):1303011姓名:洪禮翔學(xué)號(hào):所選題目:1_1, 1_2,2_4,3_2,3_4,4_2,5_1程序設(shè)計(jì)語言:c+程序設(shè)計(jì)平臺(tái):visual c+ 6.0日期:-4-5簽名:第1_1題 算法描述:比較兩個(gè)文本文獻(xiàn)并打印出它們第一種不相似旳行(文獻(xiàn)每行字符數(shù)不多于80)。源程序:no1_1.cpp#include#include#include#includevoid main()fstream infile1,infile2;infile1.open(f1.txt,ios:in);infile2.open(f2.txt,ios:in);if(!infile1
2、)coutf1.txt cant open;abort();if(!infile2)coutf2.txt cant open;abort();char s180,s280;while(!infile1.eof()&!infile2.eof()infile1.getline(s1,sizeof(s1);infile2.getline(s2,sizeof(s2);if(strcmp(s1,s2)couts1endl;couts2endl;infile1.close();infile2.close();測(cè)試數(shù)據(jù)(輸入、輸出): 第1_2題 算法描述:文本文獻(xiàn)num1.txt和num2.txt中各有一
3、組用空格分隔旳整數(shù),將num1.txt和num2.txt聯(lián)合排序,并將成果保存在num3.txt中源程序:no1_2.cpp #include#include#include#includeint cmp(const void *m,const void *n);void main()fstream inf1,inf2,outf;inf1.open(num1.txt,ios:in);if(!inf1)coutnum1.txt cant open.n;abort();inf2.open(num2.txt,ios:in);if(!inf2)coutnum2.txt cant open.n;abor
4、t();outf.open(num3.txt,ios:out);if(!outf)coutarrayi+;while(!inf2.eof()inf2arrayi+; qsort(array,i,sizeof(int),cmp);int j(0);while(i)outfarrayj+;if(i!=1) outf ;i-;coutSort correctlly!n;int cmp(const void *m,const void *n)return *(int *)m-*(int *)n;測(cè)試數(shù)據(jù)(輸入、輸出):第2_4題 算法描述:編寫程序XMLtoTXT自動(dòng)將XML文獻(xiàn)email.xml轉(zhuǎn)換
5、為文本文獻(xiàn)email.txt。命令行格式:XMLtoTXT email.xml email.txt。源程序:No2_4.cpp#include#include#include#includevoid main()fstream infile,outfile;infile.open(email.xml,ios:in);if(!infile)coutemail.xml cant open.n;abort();outfile.open(email.txt,ios:out);if(!outfile)coutemail.txt cant open.n;abort();char ch=0;int stat
6、e=0;coutProgressing.endl;while(ch=infile.get()!=EOF)char str10=0;if(ch=;i+)stri=infile.get();if(!strcmp(str,from) state=-1;if(state=-1&!strcmp(str,address) state=1;if(!strcmp(str,to) state=-2; if(state=-2&!strcmp(str,address) state=2;if(!strcmp(str,subject) state=3;if(!strcmp(str,body) state=4;if(st
7、ate0)switch(state)case 1:outfilefrom:;break; case 2:outfileto:;break;case 3:outfilesubject:;break;case 4:outfilebody:;break;default:couterror!n;exit(0);state=0;infile.get();while(infile.peek()!=)infile.get(ch);outfile.put(ch);outfileendl;coutConvert correctly!endl;測(cè)試數(shù)據(jù)(輸入、輸出)第3_2題 算法描述:設(shè)計(jì)一種復(fù)數(shù)類型,輸入實(shí)部
8、和虛部生成一種復(fù)數(shù),可進(jìn)行兩個(gè)復(fù)數(shù)求和、兩個(gè)復(fù)數(shù)求差、兩個(gè)復(fù)數(shù)求積運(yùn)算。源程序:No3_2.cpp#includeclass complexpublic:complex()set(0.0,0.0);complex(double real, double imag)set(real,imag);void set(double r, double i)real=r;imag=i;friend complex operator +(const complex &c1,const complex &c2);friend complex operator -(const complex &c1,cons
9、t complex &c2);friend complex operator *(const complex &c1,const complex &c2);void print();private:double real, imag;void complex:print()if(imag0)coutrealimagiendl;elsecoutreal+imagiendl;complex operator +(const complex &c1,const complex &c2)return complex(c1.real+c2.real,c1.imag+c2.imag);complex op
10、erator -(const complex &c1,const complex &c2)return complex(c1.real-c2.real,c1.imag-c2.imag);complex operator *(const complex &c1,const complex &c2)return complex(c1.real*c2.real-c1.imag*c2.imag, c1.real*c2.imag+c1.imag*c2.real);void main()complex a,b,c;double r,i;coutComplex a:n;coutr;couti;a.set(r
11、,i);couta=;a.print();coutComplex b:n;coutr;couti;b.set(r,i);coutb=;b.print();int s;coutFunction:nn;cout1.c=a+b 2.c=a-b 3.c=a*bns;switch(s)case 1: c=a+b;break;case 2: c=a-b;break;case 3: c=a*b;break;default:coutPlease enter 1,2or3!n;goto Input;cout32-13-10-1,其規(guī)則為:4*4+4*4=32,3*3+2*2=13,1*1+3*3=10,1*1+
12、0*0=1。源程序:No3_4.cpp#include#define size 80int count;class Tpublic:T(int n);void next();int repeat();void print();int check();private:int arraysize;int *pt;T:T(int n)array0=n;for(int i(1);isize;i+)arrayi=0;pt=array;void T:next()int sum=0,d=0,n=*pt;dod=n%10;sum+=d*d;while(n=n/10);pt+;*pt=sum;int T:rep
13、eat()int i(0);while(&arrayi!=pt)if(arrayi=*pt) return 1;i+;return 0;void T:print()cout*pt;int T:check()if(*pt=1) return 1;else return 0;void main()int N;coutPlease input an integer larger than zero!n;coutN;while(N)T d(N);coutN;dod.next();if(!d.repeat()d.print();else if(d.check()count+;break;while(1)
14、;coutendl;N-;coutThe number of digit-string ending with 1 is: countendl;測(cè)試數(shù)據(jù)(輸入、輸出)第4_2題 算法描述:模擬圖書館管理系統(tǒng)。每名讀者只能借一本書,讀者可借書或還書。管理員可對(duì)圖書和讀者信息進(jìn)行錄入、修改和刪除。圖書信息至少應(yīng)涉及:編號(hào)、書名、數(shù)量,讀者信息至少應(yīng)涉及:編號(hào)、姓名、所借圖書。可根據(jù)圖書名稱或編號(hào)進(jìn)行圖書信息查詢,可查詢某本書目前被哪些讀者借走。源程序:No4_2.cpp#include #include#include #include#include #include#includebook.h
15、#includereader.hchar ini10=0;char key10=0;void menu();void Administrator();void Reader();void M_book();void M_reader();void Menu() coutnnn圖書館管理系統(tǒng)主菜單 endl; coutnnn1.管理員 endl;coutn2.讀者 endl;coutn3.退出系統(tǒng) endl;coutchoose;switch(choose)case 1: Administrator();break;case 2: Reader();break;case 3: exit(0);d
16、efault:system(cls);coutnnn輸入錯(cuò)誤!請(qǐng)選擇(1/2/3)并按回車鍵確認(rèn):endl;cin.clear();cin.ignore(80,n);Menu();void Reader()system(cls);coutn您好,讀者!nn;char flag=Y;doUser:find_t();coutflag;system(cls);while(toupper(flag)=Y);Menu();void Administrator()if(strcmp(key,ini)=0)system(cls);char temp110,temp210;couttemp1;couttemp
17、2;if(strcmp(temp1,temp2)=0)coutn密碼設(shè)立成功!nendl;strcpy(key,temp1);fstream fkey;fkey.open(key.bin,ios:out|ios:binary);fkey.write(key,sizeof(key);fkey.close();system(pause);Administrator();elsecout輸入不一致!endl;Administrator();else system(cls);cout nn-n; cout 管理員登陸n; cout -n; char temp10;couttemp;if(strcmp(
18、key,temp)!=0)cout密碼輸入錯(cuò)誤!endl;system(pause);Administrator();elsecout登陸成功!endl;reg:coutnnn1.圖書管理系統(tǒng)endl;cout2.讀者管理系統(tǒng)endl; coutselect;switch(select) case 1: M_book();break; case 2: M_reader();break; default:cout請(qǐng)選擇(1/2)并按回車鍵確認(rèn):;cin.clear(); cin.ignore(80,n); goto reg;void M_book()coutnn歡迎使用圖書管理系統(tǒng)!endl;d
19、ocoutnnn1.添加圖書信息 endl; cout2.輸出圖書信息 endl; cout3.查找圖書信息(按編號(hào)索引) endl; cout4.查找圖書信息(按書名索引) endl; cout5.修改圖書信息(按編號(hào)索引) endl; cout6.修改圖書信息(按書名索引) endl;cout7.刪除圖書信息(按編號(hào)索引) endl; cout8.刪除圖書信息(按書名索引) endl;cout9.圖書信息排序(按編號(hào)排序) endl; cout10.保存數(shù)據(jù) endl; cout11.讀出數(shù)據(jù) endl;cout12.跳轉(zhuǎn)至讀者管理系統(tǒng)endl;cout13.返回主菜單 endl;cout
20、14.退出系統(tǒng) endl; coutchoose;switch(choose)case 1: Book:add();break;case 2: Book:output();break;case 3: Book:find_n();break;case 4: Book:find_t();break;case 5: Book:modify_n();break;case 6: Book:modify_t();break;case 7: Book:delete_n();break;case 8: Book:delete_t();break; case 9: Book:sort();break;case
21、10: Book:save();break;case 11: Book:load();break;case 12: system(cls);M_reader();break;case 13: Menu();break;case 14: exit(0);system(cls);while(1);void M_reader()coutnn歡迎使用讀者管理系統(tǒng)!endl;docoutnnn1.添加讀者信息 endl; cout2.輸出讀者信息 endl; cout3.查找讀者信息(按編號(hào)索引) endl; cout4.查找讀者信息(按書名索引) endl; cout5.修改讀者信息(按編號(hào)索引) e
22、ndl; cout6.修改讀者信息(按書名索引) endl;cout7.刪除讀者信息(按編號(hào)索引) endl; cout8.刪除讀者信息(按書名索引) endl;cout9.讀者信息排序(按編號(hào)排序) endl; cout10.保存數(shù)據(jù) endl; cout11.讀出數(shù)據(jù) endl;cout12.跳轉(zhuǎn)至圖書管理系統(tǒng) endl;cout13.返回主菜單endl;cout14.退出系統(tǒng) endl; coutchoose;switch(choose)case 1: User:add();break;case 2: User:output();break;case 3: User:find_n();b
23、reak;case 4: User:find_t();break;case 5: User:modify_n();break;case 6: User:modify_t();break;case 7: User:delete_n();break;case 8: User:delete_t();break; case 9: User:sort();break;case 10: User:save();break;case 11: User:load();break;case 12: system(cls);M_book();break;case 13: Menu();break;case 14:
24、 exit(0);system(cls);while(1);int main() cout (istream & scin, Book & Temp);friend ostream & operator bNumBook; NumBook+; coutflag; if(toupper(flag)!=Y) if(toupper(flag)=N) break; else coutflag; void Book:output() if(NumBook!=0) cout-n; coutnumber title quantityn; cout-n; for(int i=0;iNumBook;i+) co
25、utbi; getchar(); void Book:find_n() bool flag=0; char n8; Book temp; coutn; for(int j=0;jNumBook;j+) if(strcmp(bj.number,n)=0) temp=bj; flag=1; if(flag=0) cout對(duì)不起,沒有你要查找旳圖書endl; else cout-n; coutnumber title quantityn; cout-n; couttemp; getchar(); void Book:find_t() bool flag=0; char t20; Book temp;
26、 coutt; for(int j=0;jNumBook;j+) if(strcmp(bj.title,t)=0) temp=bj; flag=1; if(flag=0) cout對(duì)不起,沒有你要查找旳圖書endl; else cout-n; coutnumber title quantityn; cout-n; couttemp; getchar(); void Book:modify_n() bool flag=0; int i; char n8; coutn; for(int j=0;jNumBook;j+) if(strcmp(bj.number,n)=0) i=j; flag=1;
27、if(flag=0) cout對(duì)不起,沒有你要修改旳圖書endl; else coutbi.title;coutbi.quantity; cout 修改成功 !endl; getchar(); void Book:modify_t() bool flag=0; int i; char t20; coutt; for(int j=0;jNumBook;j+) if(strcmp(bj.title,t)=0) i=j; flag=1; if(flag=0) cout對(duì)不起,沒有你要修改旳圖書endl; else coutbi.title; coutbi.quantity; cout 修改成功 !e
28、ndl; getchar(); void Book:delete_n() char n8; bool flag=0; char c; do coutn; for(int i=0;iNumBook;i+) if(strcmp(n,bi.number)=0) flag=1; NumBook-; do bi=bi+1; i+; while(iNumBook); if(flag=0) cout您規(guī)定刪除旳圖書不存在!; cout要繼續(xù)刪除嗎?(y/n)c; if(toupper(c)!=Y&toupper(c)!=N) cout輸入指令錯(cuò)誤!請(qǐng)重新輸入Y或N!c; while(toupper(c)=Y
29、); getchar(); void Book:delete_t() char t20; bool flag=0; char c; do coutt; for(int i=0;iNumBook;i+) if(strcmp(t,bi.title)=0) flag=1; NumBook-; do bi=bi+1; i+; while(iNumBook); if(flag=0) cout您規(guī)定刪除旳圖書不存在!; cout要繼續(xù)刪除嗎?(y/n)c; if(toupper(c)!=Y&toupper(c)!=N) cout輸入指令錯(cuò)誤!請(qǐng)重新輸入Y或N!c; while(toupper(c)=Y);
30、 getchar(); void Book:sort() Book temp; for(int i=0;iNumBook;i+)int min=i;for(int j=i+1;j0)min=j;temp=bi;bi=bmin;bmin=temp;coutnn排序成功!nn; void Book:save() fstream outfile;outfile.open(Book.dat,ios:out);if(!outfile)cout文獻(xiàn)不能打開!endl; else for(int i=0;iNumBook;i+) outfile bi.number bi.title bi.quantity
31、; cout保存成功!endl; outfile.close(); getchar(); void Book:load() fstream infile;infile.open(Book.dat,ios:in);if(!infile)cout文獻(xiàn)不能打開!bi.numberbi.titlebi.quantity;NumBook=i-1;cout文獻(xiàn)已讀取成功!endl; infile.close(); Book & Book:operator=(Book & Temp) strcpy(number,Temp.number);strcpy(title,Temp.title); quantity=
32、Temp.quantity; return * this ; ostream & operator (ostream & scout, Book & temp) scoutsetiosflags(ios:left)setw(8)temp.numbersetw(20)temp.titlesetw(4)temp.quantity (istream & scin,Book & temp) couttemp.number; couttemp.title; couttemp.quantity; return scin; Book:Book() strcpy(number, ); strcpy(title
33、, ); quantity=0; #endifReader.h#ifndef READER_H#define READER_Hclass Userpublic:User();static void add();static void output();static void find_n();static void find_t();static void modify_n();static void modify_t();static void delete_n();static void delete_t();static void sort();static void save();st
34、atic void load ();User & operator=(User & Temp);friend istream & operator (istream & scin, User & Temp);friend ostream & operator uNumUser; NumUser+; coutflag; if(toupper(flag)!=Y) if(toupper(flag)=N) break; else coutflag; void User:output() if(NumUser!=0) cout-n; coutnumber name borrowed book n; co
35、ut-n;for(int i=0;iNumUser;i+) coutui; getchar(); void User:find_n() bool flag=0; char n8; User temp; coutn; for(int j=0;jNumUser;j+) if(strcmp(uj.number,n)=0) temp=uj; flag=1; if(flag=0) cout對(duì)不起,沒有你要查找旳讀者endl; else cout-n; coutnumber name borrowed book n; cout-n;couttemp; getchar(); void User:find_t
36、() bool flag=0; char t15; User temp; coutt; for(int j=0;jNumUser;j+) if(strcmp(,t)=0) temp=uj; flag=1; if(flag=0) cout對(duì)不起,沒有你要查找旳讀者endl; else cout-n; coutnumber name borrowed book n; cout-n;couttemp; getchar(); void User:modify_n() bool flag=0; int i; char n8; coutn; for(int j=0;jNumUser;j+)
37、if(strcmp(uj.number,n)=0) i=j; flag=1; if(flag=0) cout對(duì)不起,沒有你要修改旳讀者endl; else ;coutui.borr; cout 修改成功 !endl; getchar(); void User:modify_t() bool flag=0; int i; char t15; coutt; for(int j=0;jNumUser;j+) if(strcmp(,t)=0) i=j; flag=1; if(flag=0) cout對(duì)不起,沒有你要修改旳讀者endl; else coutui.nam
38、e;coutui.borr; cout 修改成功 !endl; getchar(); void User:delete_n() char n8; bool flag=0; char c; do coutn; for(int i=0;iNumUser;i+) if(strcmp(n,ui.number)=0) flag=1; NumUser-; do ui=ui+1; i+; while(iNumUser); if(flag=0) cout您規(guī)定刪除旳讀者不存在!; cout要繼續(xù)刪除嗎?(y/n)c; if(toupper(c)!=Y&toupper(c)!=N) cout輸入指令錯(cuò)誤!請(qǐng)重新
39、輸入Y或N!c; while(toupper(c)=Y); getchar(); void User:delete_t() char t15; bool flag=0; char c; do coutt; for(int i=0;iNumUser;i+) if(strcmp(t,)=0) flag=1; NumUser-; do ui=ui+1; i+; while(iNumUser); if(flag=0) cout您規(guī)定刪除旳讀者不存在!; cout要繼續(xù)刪除嗎?(y/n)c; if(toupper(c)!=Y&toupper(c)!=N) cout輸入指令錯(cuò)誤!請(qǐng)重新輸入Y
40、或N!c; while(toupper(c)=Y); getchar(); void User:sort() User temp; for(int i=0;iNumUser;i+)int min=i;for(int j=i+1;j0)min=j;temp=ui;ui=umin;umin=temp;coutnn排序成功!nn; void User:save() fstream outfile;outfile.open(User.dat,ios:out);if(!outfile)cout文獻(xiàn)不能打開!endl; else for(int i=0;iNumUser;i+) outfile ui.nu
41、mber ui.borr ; cout保存成功!endl; outfile.close(); getchar(); void User:load() fstream infile;infile.open(User.dat,ios:in);if(!infile)cout文獻(xiàn)不能打開!ui.borr;NumUser=i-1;cout文獻(xiàn)已讀取成功!endl; infile.close(); User & User:operator=(User & Temp) strcpy(number,Temp.number);strcpy(name,Temp.na
42、me); strcpy(name,Temp.borr);return * this ; ostream & operator (ostream & scout, User & temp) scoutsetiosflags(ios:left)setw(8)temp.numbersetw(15)setw(20)temp.borr (istream & scin,User & temp) couttemp.number; ; couttemp.borr; return scin; #endif測(cè)試數(shù)據(jù)(輸入、輸出): 第5_1題 算法描述:程序自動(dòng)生成一種位于99內(nèi)旳隨機(jī)數(shù),規(guī)定顧客猜這個(gè)數(shù)。顧客輸入一種數(shù)后,程序有三種應(yīng)答:too big,too smal
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版?zhèn)€人車輛抵押債權(quán)債務(wù)處理執(zhí)行協(xié)議3篇
- 2025年度個(gè)人新能源汽車充電站場(chǎng)地承包協(xié)議2篇
- 2025版新能源汽車電池委托加工合同范本3篇
- 2025-2030全球眼科手術(shù)剪行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國公共交流充電站行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國碳納米管微球行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車燃油回流管路行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 二樓商業(yè)租賃專項(xiàng)協(xié)議(2024版)版
- 二零二五年度車輛牌照租賃市場(chǎng)拓展與合作開發(fā)合同4篇
- 二零二五年度車牌租賃與廣告合作協(xié)議3篇
- 二零二五年度無人駕駛車輛測(cè)試合同免責(zé)協(xié)議書
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 一年級(jí)數(shù)學(xué)個(gè)位數(shù)加減法口算練習(xí)題大全(連加法-連減法-連加減法直接打印版)
- 五年級(jí)上冊(cè)小數(shù)遞等式計(jì)算200道及答案
- 2024年廣東高考政治真題考點(diǎn)分布匯 總- 高考政治一輪復(fù)習(xí)
- 冀教版五年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教學(xué)課件
評(píng)論
0/150
提交評(píng)論