




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、struct book /* 圖書(shū)信息 */ int num; /* 書(shū)號(hào)*/ char name10; /* 書(shū)名*/ char where10; /* 所在書(shū)庫(kù) */ char author15; /* 作者*/ char pub20; /* 出版社 */ int count; /* 數(shù)量*/ struct book *next; ; /*輸出模塊 */ void print(struct book *p0) struct book *p; p=p0-next; printf(nntt圖書(shū)信息表 ); printf(nn 圖書(shū)編號(hào) -圖書(shū)名稱 -所在書(shū)庫(kù) -作者-出版社 -數(shù)量n); wh
2、ile(p!=null) printf(pt); p=p-next; getch(); /*輸入模塊 */ struct book *creat() struct book *head,*p1,*p2; int i=0; head=p2=(struct book *)malloc(n); head-next=null; printf(nntt 錄入圖書(shū)信息 ); printf(nt-); while(1) p1=(struct book *)malloc(n); printf(n 請(qǐng)輸入 圖書(shū)編號(hào) (書(shū)號(hào)為 0 結(jié)束): ); scanf(%d,&p1-num); if(p1-num!
3、=0) printf(nn 書(shū)名所在書(shū)庫(kù)作者出版社圖書(shū)數(shù)量n); scanf(%s%s%s%s%d,p1-name,p1-where,p1-author,p1-pub,&p1-count); p2-next=p1; p2=p1; i+; else break; p2-next=null; free(p1); printf(ntt-); printf(ntt %d 種書(shū)錄入完畢 ,i); getch(); return head; /*查找模塊 */ void find(struct book *p0) char name10; int flag=1; struct book *p; p
4、=p0-next; printf( 請(qǐng)輸入要查找的書(shū)名: n); scanf(%s,name); for(p=p0;p;p=p-next) if(strcmp(p-name,name)=0) printf(nn 圖書(shū)編號(hào) -圖書(shū)名稱 -所在書(shū)庫(kù) -作者-出版社 -數(shù)量n); printf(pt); flag=0; break; if(flag) printf(n 暫無(wú)此圖書(shū)信息 n); getch(); /*刪除模塊 */ void del(struct book *p0) char name10; int flag=1; struct book *p; p=p0; printf( 請(qǐng)輸入要?jiǎng)h
5、除的書(shū)名: n); scanf(%s,name); while(p!=null) if(strcmp(p-name,name)=0) p0-next=p-next; /* 后續(xù)節(jié)點(diǎn)連接到前驅(qū)節(jié)點(diǎn)之后*/ free(p); printf(t 該書(shū)資料已刪除 .); flag=0; break; p0=p; p=p-next; if(flag) printf(nt無(wú)此圖書(shū)信息。 ); getch(); /*增加模塊 */ void insert(struct book *p0) struct book *p; p=(struct book *)malloc(n); while(1) printf(
6、n 請(qǐng)輸入要增加的圖書(shū)編號(hào) (書(shū)號(hào)為 0 退出): ); scanf(%d,&p-num); if(p-num!=0) if(p0-next!=null&p0-next-num=p-num) /*找到重號(hào) */ p=p-next; free(p); printf(t 該書(shū)已存在 ); else printf(nn 書(shū)名所在書(shū)庫(kù)作者出版社圖書(shū)數(shù)量n); scanf(%s%s%s%s%d,p-name,p-where,p-author,p-pub,&p-count); p-next=p0-next; p0-next=p; printf(t 已成功插入 .); else br
7、eak; getch(); /*修改模塊 */ void modify(struct book *p0) char name10; int flag=1; int choice; struct book *p; p=p0-next; printf( 請(qǐng)輸入要修改的書(shū)名: n); scanf(%s,name); while(p!=null&flag=1) if(strcmp(p-name,name)=0) printf(nt 請(qǐng)選擇要修改的項(xiàng): ); printf(nt 1. 修改圖書(shū)編號(hào) n); printf(nt 2. 修改圖書(shū)所在書(shū)庫(kù) n); printf(nt 3. 修改圖書(shū)作者
8、 n); printf(nt 4. 修改圖書(shū)出版社 n); printf(nt 5. 修改圖書(shū)庫(kù)存量 n); scanf(%d,&choice); switch(choice) case 1: printf(n 請(qǐng)輸入新的圖書(shū)編號(hào) :); scanf(%d,p-num); break; case 2: printf(n 請(qǐng)輸入新的圖書(shū)書(shū)庫(kù) :); scanf(%s,p-where); break; case 3: printf(n 請(qǐng)輸入新的圖書(shū)作者 :); scanf(%s,p-author); break; case 4: printf(n 請(qǐng)輸入新的圖書(shū)出版社 :); scanf
9、(%s,p-pub); break; case 5: printf(n 請(qǐng)輸入新的圖書(shū)庫(kù)存量 :); scanf(%d,p-count); break; printf(nt 該項(xiàng)已成功修改。 nt 新的圖書(shū)信息: ); printf(nn 圖書(shū)編號(hào) -圖書(shū)名稱 -所在書(shū)庫(kù) -作者-出版社 -數(shù)量n); printf(pt); flag=0; p0=p; p=p0-next; if(flag) printf(nt暫無(wú)此圖書(shū)信息。 ); getch(); /*讀文件 */ struct book *read_file() int i=0; struct book *p,*p1,*head=null
10、; file *fp; if(fp=fopen(library.txt,rb)=null) printf(nnnnn t*庫(kù)文件不存在,請(qǐng)創(chuàng)建!*); getch(); return null; head=(struct book *)malloc(n); p1=head; head-next=null; printf(n 已有圖書(shū)信息: ); printf(nn 圖書(shū)編號(hào) -圖書(shū)名稱 -所在書(shū)庫(kù) -作者-出版社 -數(shù)量n); while(!feof(fp) p=(struct book *)malloc(n); /*開(kāi)辟空間以存放的取得信息*/ while(fscanf(fp,%d%s%s%
11、s%s%d,&p-num,p-name,p-where,p-author,p-pub,&p-count)!=eof) printf(pt); i+; p1-next=p; p1=p; p1-next=null; fclose(fp); printf(n 共種%d 圖書(shū)信息 ,i); printf(nnn 文件中的信息以正確讀出。按任意鍵進(jìn)入主菜單。); getch(); return (head); /*保存文件 */ void save(struct book *head) file *fp; struct book *p; fp=fopen(library.txt,wb);
12、 /*以只寫(xiě)方式打開(kāi)二進(jìn)制文件*/ if(fp=null) /* 打開(kāi)文件失敗 */ printf(n= 打開(kāi)文件失敗 !n); getch(); return ; else for(p=head-next;p!=null;p=p-next) fprintf(fp,%d %s %s %s %s %dn,p-num,p-name,p-where,p-author,p-pub,p-count); fclose(fp); printf(nt 保存文件成功 !n); void main() struct book *head=null; int choice=1; head=read_file();
13、if(head=null) printf(ntt*); getch(); head=creat(); do system(cls) ; printf(tt-welcome-n); printf(nnt 歡迎您, 圖書(shū)管理員 .n); printf(nnnnn); printf(nt 請(qǐng)選擇: ); printf(nt 1. 查詢圖書(shū)信息 n); printf(nt 2. 修改圖書(shū)信息 n); printf(nt 3. 增加圖書(shū)信息 n); printf(nt 4. 刪除圖書(shū)信息 n); printf(nt 5. 顯示所有圖書(shū)信息 n); printf(nt 0. 退出系統(tǒng) n); scanf(%d,&choice); switch(choice) case 1: find(head
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)戶農(nóng)田住宿管理辦法
- 河南造林資金管理辦法
- 核酸采集人員管理辦法
- 短視頻算法優(yōu)化策略-洞察及研究
- 10kV電力貫通線設(shè)計(jì)與施工方案探討
- 莖稈特征及抗倒伏能力影響
- 體育機(jī)構(gòu)管理辦法提綱
- 社會(huì)學(xué)核心理論體系梳理與考核要點(diǎn)解析
- 村屯信息收集管理辦法
- 基層銀行綠色金融實(shí)踐:業(yè)務(wù)推進(jìn)與風(fēng)險(xiǎn)管理研究
- 2025年廣東省中考生物試卷真題(含答案解析)
- 第10課+遼夏金元的統(tǒng)治(大概念教學(xué)課件)2024-2025學(xué)年高一歷史上冊(cè)教學(xué)課件(統(tǒng)編版2019)
- 裝置保運(yùn)方案(3篇)
- 中國(guó)聚丙烯酰胺行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告2025-2028版
- 青年教師教學(xué)工作坊組織計(jì)劃
- 駐非洲員工管理制度
- 工程內(nèi)業(yè)資料管理制度
- 摩托車協(xié)議過(guò)戶協(xié)議書(shū)
- 2025年食品檢驗(yàn)員考試試卷及答案
- 四川省德陽(yáng)市2025年七年級(jí)下學(xué)期語(yǔ)文期末試卷及答案
- 黎族文化課件
評(píng)論
0/150
提交評(píng)論