




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、算法分析與設(shè)計綜合實驗實驗報告姓 名:蔡志雄學(xué) 號:2015010906015指導(dǎo)教師:胡科日 期:2016年 月 日電 子 科 技 大 學(xué)實 驗 報 告1一、實驗名稱:界面設(shè)計與創(chuàng)建文件二、實驗內(nèi)容1. 設(shè)計登錄系統(tǒng)、主菜單、退出系統(tǒng)界面登錄系統(tǒng):輸入以“*”顯示的密碼,三次鍵入機會。密碼正確,進入系統(tǒng);密碼錯誤,程序結(jié)束。主菜單:按劃分的模塊,顯示系統(tǒng)菜單。退出系統(tǒng):在系統(tǒng)主菜單中輸入“0”,以退出系統(tǒng)。2. 數(shù)據(jù)錄入與數(shù)據(jù)存盤給定記錄數(shù),屏幕輸入若干記錄,并將數(shù)據(jù)存入磁盤文件中。三、算法設(shè)計與核心代碼1.char inputa,data20,account34="admin
2、39;s",word20; int z,k=0,a=1;printf("輸入管理員賬戶名:");/登錄驗證 scanf("%s",&data);strcat(account,data);strcat(account,".txt"); /提取數(shù)據(jù) file *fpx=null;if(fpx=fopen(account,"r")fscanf(fpx,"%sn",&);fscanf(fpx,"%sn",&admin.id);fs
3、canf(fpx,"%sn",&admin.password);fclose(fpx);else printf("沒有對應(yīng)資料!n");system ("pause");return 0;if(strcmp(data,)=-1)/驗證密碼 printf("賬號不存在n");return 0;else printf("賬號存在(你將有3次輸入密碼機會)n");for(z=2;z>=-1;z-)if(z=-1)return 0;printf("輸入密碼:&
4、quot;); while(1) fflush(stdin); inputa=getch(); if(inputa!='r'&&inputa!='b')/密碼隱藏 printf("*"); wordk=inputa; k+;else if(inputa='b')/退格刪除 printf("b");printf(" ");printf("b");k-;else break;/回車結(jié)束 if(strcmp(word,admin.password)!=0)
5、printf("密碼錯誤(%d次機會)n",z); k=0; else printf("n密碼正確!n");system ("pause");break;2.printf("*n");printf("圖書數(shù)量:%d 讀者數(shù)量:%dn",bnum,rnum);printf("n");printf("n");printf("n");printf(" 圖書信息管理系統(tǒng)n");printf("n");pr
6、intf("n");printf("n");printf("請做出您的選擇:(輸入對應(yīng)序號)n");printf("n");printf("n");printf(" 1.圖書管理 2.讀者管理 管理員使用n");printf("n");printf(" 3.圖書借還 任何人使用n");printf("n");printf(" 0.退出n");printf("n");printf
7、("n");printf("n");printf("*n");printf("輸入:");scanf(" %c",&input);switch(input)case '0':a=0;break;case '1':bookmanage();break;case '2':readermanage();break;case '3':bookoperate();break; system("cls");3.四、實
8、驗主要結(jié)果(附程序運行界面截圖)實 驗 報 告2一、實驗名稱:顯示記錄與編輯記錄二、實驗內(nèi)容1. 屏幕顯示若干記錄列表輸出磁盤文件記錄,并顯示記錄序號與記錄總數(shù)。2. 按字段編輯記錄輸入記錄序號,顯示對應(yīng)記錄;按字段編輯記錄。三、算法設(shè)計與核心代碼int showrecord(int x)int b=1,c=1;char aim112="圖書",aim212="讀者",aim12,buffer80;/判斷目的 if(x=1)/圖書 strcpy(aim,aim1);strcat(aim,"");strcat(aim,"圖書記
9、錄");strcat(aim,".txt");file *fp;if(fp=fopen(aim,"r")=null) printf("打開失敗!n"); return -1; printf("序號 書號 書名 作者 日期 出版 類別 定價 是否借出n"); for(;b<=(bnum=getlinenum(1);b+) fgets(buffer,1024,fp); printf(" %d %s",c,buffer); c+; fclose(fp); system ("p
10、ause");else if(x=2)/讀者 strcpy(aim,aim2);strcat(aim,"");strcat(aim,"讀者記錄");strcat(aim,".txt");file *fp;if(fp=fopen(aim,"r")=null) printf("打開失敗!n"); return -1; for(;b<(rnum=getlinenum(2);b+) fgets(buffer,1024,fp); printf("%sn",buffer)
11、; fclose(fp);else printf("錯誤n");return -1; return 0; int fixrecord(int x)int b=1,c;char a,aim112="圖書",aim212="讀者",aim12,buffer80;file *fp,*ftp;/判斷目的 if(x=1)/圖書 strcpy(aim,aim1);strcat(aim,"");strcat(aim,"圖書記錄");strcat(aim,".txt");if(ftp=fop
12、en("圖書temp.txt","w")=null) printf("創(chuàng)建文件失敗!n"); return -1; if(fp=fopen(aim,"r+")=null) printf("打開失敗!n"); return -1; showrecord(1);printf("輸入要編輯的條目序號:");scanf(" %d",&c);for(;b!=c;b+)fscanf(fp,"%s %s %s %s %s %s %d %d%*n&quo
13、t;,&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed);fprintf(ftp,"%s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowe
14、d);printf("開始編輯:n"); printf("輸入書號:");scanf(" %s",&books0.id);printf("書名:");scanf(" %s",&);printf("作者:");scanf(" %s",&books0.author);printf("日期:");scanf(" %s",&books0.date);printf(&quo
15、t;出版:");scanf(" %s",&books0.publish);printf("類別:");scanf(" %s",&books0.sort);printf("定價:");scanf(" %d",&books0.price);printf("是否借出:");scanf(" %d",&books0.borrowed);printf("書號:%s 書名:%s 作者:%s 日期:%s 出版:%s 類別
16、:%s 定價:%d 是否借出:%dn確定?(y/n)n輸入:",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed);fflush(stdin);scanf(" %c",&a);if(a='y')fprintf(ftp,"%s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date
17、,books0.publish,books0.sort,books0.price,books0.borrowed);b+;fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed);printf("編輯成功!n");else printf("
18、已取消創(chuàng)建.n");for(;b<=bnum;b+)fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed);fprintf(ftp,"%s %s %s %s %s %s %d %d n",books0.id,,
19、books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed);fclose(fp);fclose(ftp);remove(aim);rename("圖書temp.txt",aim);showrecord(1); fclose(fp);else if(x=2)/讀者 strcpy(aim,aim2);strcat(aim,"");strcat(aim,"讀者記錄");strcat(aim,".txt");if(fp
20、=fopen(aim,"r+")=null) printf("打開失敗!n"); return -1; fclose(fp);else printf("錯誤n");return -1; return 0; 四、實驗主要結(jié)果(附程序運行界面截圖)實 驗 報 告3一、實驗名稱:增加記錄與刪除記錄二、實驗內(nèi)容1. 屏幕增加記錄(添加記錄、插入記錄)輸入待增加的記錄信息,并輸入記錄序號,將記錄插入到指定序號對應(yīng)記錄之后。2. 刪除指定的記錄輸入待刪除的記錄序號,并顯示對應(yīng)記錄;顯示確認信息,以刪除指定記錄。三、算法設(shè)計與核心代碼int add
21、record(int x,int h)int b=1,i;char aim112="圖書",aim212="讀者",aim12,buffer80,buffer180,buffer280;list *t,*p;bnum=getlinenum(1);/判斷目的 if(x=1)/圖書 strcpy(aim,aim1);strcat(aim,"");strcat(aim,"圖書記錄");strcat(aim,".txt");file *fp;if(fp=fopen(aim,"r+")
22、=null) printf("打開失敗!n"); return -1; showrecord(1);printf("輸入:n書號 書名 作者 日期 出版 類別 定價 是否借出n");scanf("%s %s %s %s %s %s %d %d",&books1.id,&,&books1.author,&books1.date,&books1.publish,&books1.sort,&books1.price,&books1.borrowed);li
23、nk *m=clist();p=m->head; get_and_add_list(x,m,null);int j=0;if(h>bnum+1)h=bnum+1;if(p=m->head)=null) t=(list *)malloc(sizeof(list);if(t=null)return -1;t->next=p->next;t->data=books1;m->head=t;m->length+;else if(h=1) t=(list *)malloc(sizeof(list); if(t=null)return -1;t->nex
24、t=m->head; t->data=books1;m->head=t;m->length+;else while(p!=null&&j<h-2)p=p->next;j+;t=(list *)malloc(sizeof(list);if(t=null)return -1;t->next=p->next;t->data=books1;p->next=t;m->length+;fprintf_list(x,m); fclose(fp);else if(x=2)/讀者 strcpy(aim,aim2);strcat(a
25、im,"");strcat(aim,"讀者記錄");strcat(aim,".txt");file *fp;if(fp=fopen(aim,"r+")=null) printf("打開失敗!n"); return -1; scanf(" %s",&buffer);for(;b!=h;b+)fgets(buffer,0,fp);fgets(buffer1,1024,fp);fprintf(fp,"%sn",buffer);b+;for(;b!=(bn
26、um=getlinenum(1);b+)fgets(buffer2,1024,fp);fprintf(fp,"%sn",buffer1);b+;fgets(buffer1,1024,fp); fprintf(fp,"%sn",buffer2); fclose(fp);else printf("錯誤n");return -1; showrecord(x); printf("1n");return 0;int deleterecord(int x,char y)file *fin,*ftp;char ch,aim112
27、="圖書",aim212="讀者",aim12,buffer80;if(x=1)/圖書 strcpy(aim,aim1);strcat(aim,"");strcat(aim,"圖書記錄");strcat(aim,".txt");if(fin=fopen(aim,"r")=null) printf("打開失敗!n"); return -1; if(ftp=fopen("圖書temp.txt","w")=null) pr
28、intf("創(chuàng)建文件失敗!n"); return -1; while(fscanf(fin,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.id,y)!=0)fprintf(ftp,"%s %s %s %s %s
29、 %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); fclose(fin);fclose(ftp);remove(aim);rename("圖書temp.txt","圖書圖書記錄.txt");printf("刪除成功!n");showrecord(1);else if(x=2)/讀者 strcpy(aim,aim2);strcat(aim,&
30、quot;");strcat(aim,"讀者記錄");strcat(aim,".txt");if(fin=fopen(aim,"r")=null) printf("打開失敗!n"); return -1; else printf("錯誤n");return -1; return 0;四、實驗主要結(jié)果(附程序運行界面截圖)實 驗 報 告4一、實驗名稱:查詢記錄二、實驗內(nèi)容按指定字段查詢記錄顯示查詢子菜單,輸入字段序號,按指定字段查詢記錄,并顯示查詢結(jié)果。特別地,對“定價”字段,輸入?yún)^(qū)間左
31、右端點值,在指定范圍查詢記錄。三、算法設(shè)計與核心代碼int inquirerecord(int x)int b=1,c,d;char aim112="圖書",aim212="讀者",aim12,buffer80;file *fp;/判斷目的 if(x=1)/圖書 strcpy(aim,aim1);strcat(aim,"");strcat(aim,"圖書記錄");strcat(aim,".txt");if(fp=fopen(aim,"r")=null) printf(&quo
32、t;打開失敗!n"); return -1; printf("查詢的依據(jù)是:n1.書號n2.書名n3.作者n4.出版日期n5.類別n6.定價n7.是否借出n0.返回n輸入:");scanf(" %d",&c);switch(c) case 0:return 0;case 1:printf("輸入書號:");scanf(" %s",&buffer);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s
33、 %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.id,buffer)=0)printf(" %s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.dat
34、e,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 2:printf("輸入書名:");scanf(" %s",&buffer);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.
35、date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(,buffer)=0)printf(" %s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 3:printf("輸入作者:&
36、quot;);scanf(" %s",&buffer);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcm
37、p(books0.author,buffer)=0)printf(" %s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 4:printf("輸入出版日期:");scanf(" %s",&buffer);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n"
38、);while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.date,buffer)=0)printf(" %s %s %s %s %s %s %d %d n",books0.id,books0.n
39、ame,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 5:printf("輸入類別:");scanf(" %s",&buffer);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&am
40、p;books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.sort,buffer)=0)printf(" %s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); brea
41、k;case 6:printf("輸入定價范圍:(用空格隔開上下限)");scanf(" %d %d",&c,&d);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&
42、books0.price,&books0.borrowed)=8)if(books0.price>=c&&books0.price<=d)printf(" %s %s %s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break;case 7:printf("是否借出:");scanf(" %d",
43、&c);printf(" 書號 書名 作者 日期 出版 類別 定價 是否借出n");while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(books0.borrowed=c)printf(" %s %s %
44、s %s %s %s %d %d n",books0.id,,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); break; fclose(fp); system ("pause");else if(x=2)/讀者 strcat(aim3,"");strcat(aim3,);strcat(aim3,".txt");if(fp=fopen("讀者讀者記錄.txt
45、","r")=null) printf("打開失敗!n"); return -1; if(ftp=fopen(aim3,"r")!=null)printf("查詢的依據(jù)是:n1.學(xué)號n2.姓名n3.卡號n4.性別n5.已借書數(shù)n0.返回n輸入:");scanf(" %d",&c);switch(c)case 0:;return 0;case 1:printf("輸入學(xué)號:");scanf(" %s",&buffer);printf
46、(" 學(xué)號 姓名 卡號 性別 已借書數(shù)n");while(fscanf(fp,"%s %s %s %s %d*n",&num,&,&users0.id,&users0.sex,&users0.n)=5)d=users0.n;if(strcmp(users0.id,buffer)=0)users0.sex2='0' printf("%s %s %s %s %dn",users0.id,,num,users0.sex,d); break;c
47、ase 2:printf("輸入姓名:");scanf(" %s",&buffer);printf(" 學(xué)號 姓名 卡號 性別 已借書數(shù)n");while(fscanf(fp,"%s %s %s %s %d*n",&num,&,&users0.id,&users0.sex,&users0.n)=5)d=users0.n;if(strcmp(,buffer)=0)users0.sex2='0' printf(&
48、quot;%s %s %s %s %dn",users0.id,,num,users0.sex,d); break;case 3:printf("輸入卡號:");scanf(" %s",&buffer);printf(" 學(xué)號 姓名 卡號 性別 已借書數(shù)n");while(fscanf(fp,"%s %s %s %s %d*n",&num,&,&users0.id,&users0.sex,&users0.n)=5)
49、d=users0.n;if(strcmp(users0.card_num,buffer)=0)users0.sex2='0' printf("%s %s %s %s %dn",users0.id,,num,users0.sex,d); break;case 4:printf("輸入性別:");scanf(" %s",&buffer);printf(" 學(xué)號 姓名 卡號 性別 已借書數(shù)n");while(fscanf(fp,"%s %s %s %s %d*n&q
50、uot;,&num,&,&users0.id,&users0.sex,&users0.n)=5) d=users0.n; users0.sex2='0'if(strcmp(users0.sex,buffer)=0)printf("%s %s %s %s %dn",users0.id,,num,users0.sex,d); break;case 5:printf("輸入已借書數(shù):");scanf(" %d",&c);printf(
51、" 學(xué)號 姓名 卡號 性別 已借書數(shù)n");while(fscanf(fp,"%s %s %s %s %d*n",&num,&,&users0.id,&users0.sex,&users0.n)=5) d=users0.n;if(users0.n=c)users0.sex2='0' printf("%s %s %s %s %dn",users0.id,,num,users0.sex,d); break;fp=fopen("圖書
52、圖書記錄.txt","r"); if(d>=1)printf("已借書籍:n");printf("序號 書號 書名 作者 日期 出版 類別 定價 是否借出n"); for(i=0;i<user.n;i+)printf(" %d %s ",i+1,user.bbooki->id);while(fscanf(fp,"%s %s %s %s %s %s %d %d%*n",&books0.id,&,&books0.author,
53、&books0.date,&books0.publish,&books0.sort,&books0.price,&books0.borrowed)=8)if(strcmp(books0.id,user.bbooki->id)=0)printf(" %s %s %s %s %s %d %d n",,books0.author,books0.date,books0.publish,books0.sort,books0.price,books0.borrowed); return 0;fp=fopen("
54、;圖書圖書記錄.txt","r");strcat(aim4,"");strcat(aim4,);strcat(aim4,".txt");if(ftp=fopen(aim4,"r")!=null) printf(" 學(xué)號 姓名 卡號 性別 已借書數(shù) 能否借書n");printf("%s %s %s %s %d %d",user.id,,user.card_num,user.sex,user.n,user.yes);printf("已借書籍:n");printf("序號 書號 書名 作者 日期 出版 類別 定價 是否借出n"); for(i=0;i<user.n;i+)printf(" %d %s",i
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字治理與公共政策創(chuàng)新試題及答案
- 機電工程商業(yè)計劃書編寫試題及答案
- 評估2025年西方政治制度的效率與公平試題及答案
- 數(shù)據(jù)中心網(wǎng)絡(luò)的架構(gòu)設(shè)計與試題及答案
- 2025年電子競技賽事贊助策略研究報告:品牌合作新路徑
- 西方政治制度的基本特征概述試題及答案
- 基層醫(yī)療衛(wèi)生機構(gòu)信息化建設(shè)中的醫(yī)療信息化產(chǎn)品技術(shù)發(fā)展趨勢報告
- 公共政策對性別平等的促進作用試題及答案
- 項目管理中的人力資源配置與優(yōu)化策略試題及答案
- 工業(yè)互聯(lián)網(wǎng)平臺網(wǎng)絡(luò)隔離技術(shù)在2025年行業(yè)應(yīng)用創(chuàng)新與產(chǎn)業(yè)發(fā)展報告
- 急診科臨床診療指南-技術(shù)操作規(guī)范更新版
- 知識付費領(lǐng)域內(nèi)容創(chuàng)業(yè)模式研究報告
- 化工廠光化車間停車檢修施工方案
- 鋁粉采購合同
- 廣州市主要河道采砂技術(shù)方案
- 中國基建課件教學(xué)課件
- EPC光伏項目投標方案(技術(shù)方案)
- 2023企業(yè)數(shù)字化轉(zhuǎn)型建設(shè)方案數(shù)據(jù)中臺、業(yè)務(wù)中臺、AI中臺
- 國家開放大學(xué)本科《人文英語3》一平臺機考真題及答案(第二套)
- 廣西壯族自治區(qū)南寧市2023-2024學(xué)年八年級下學(xué)期7月期末歷史試題(無答案)
- 江蘇省揚州市2023-2024學(xué)年高二下學(xué)期6月期末考試歷史試題
評論
0/150
提交評論