版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上1.題目小型圖書信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2.功能(1)每一條記錄包括一本圖書的書名、ISBN、作者、出版社、定價(jià)、出版日期和數(shù)量。(2)輸入功能:可以一次完成無數(shù)條記錄的輸入。(3)顯示功能:完成全部圖書信息的顯示。(4)查找功能:完成按書名查找圖書信息,并顯示。(5)排序功能:按圖書價(jià)格進(jìn)行排序。(6)插入功能:按圖書價(jià)格高低插入一條圖書信息。(7)保存功能:將圖書信息保存在任何自定義的文件中,如保存在:c:book。(8)讀取功能:將保存在文件中的圖書信息讀取出來。(9)有一個(gè)清晰美觀界面來調(diào)用各個(gè)功能3.要求(1)整個(gè)系統(tǒng)均用C語言實(shí)現(xiàn);(2)利用指針、鏈表來實(shí)
2、現(xiàn)學(xué)生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);(3)系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入,保存、讀取基本功能;(4)系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn);(5)可以將圖書信息保存在文件中。(6)可以將圖書信息從文件中讀取出來。4.源程序#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<windows.h>#define LL sizeof(BOOK_TYPE)int maininterface();void infor_input(
3、); void refer();void refer_1();void refer_2();void modify();void delete();void findbook();void findbook1();void findbook2();void devise();void main() int a=0; do a=maininterface(); switch(a) case 1:system("CLS");infor_input();break; case 2:system("CLS");refer();break; case 3:syst
4、em("CLS");modify();break; case 4:system("CLS");delete();break; case 5:exit(0); default:system("CLS");printf("nnnnttt無此操作,請按任意鍵返回:n");getch();system("CLS"); while(a!=6); int maininterface() int n; printf("nnntt-小型圖書登記管理系統(tǒng)-n"); printf("n
5、tttt1:<錄入圖書信息>n"); printf("ntttt2:<查詢信息>n"); printf("ntttt3:<修改圖書信息>n"); printf("ntttt4:<刪除圖書信息>n"); printf("ntttt5:<退出系統(tǒng)>n"); printf("nttt請輸入1-5,其他輸入非法!n"); scanf("%d",&n); return n;typedef struct int
6、 month; int day; int year;DATES; DATES day; typedef struct books char bookname50; char ISBN50; char author50; char publisher50; float money; DATES day; int count; struct books *next;BOOK_TYPE; BOOK_TYPE ts;struct books *head = NULL;void infor_input() FILE *fp; int n=0; BOOK_TYPE ts; printf("-圖書
7、資料基本信息錄入-n"); do printf("請輸入書名n"); scanf("%s",ts.bookname); printf("請輸入ISBNn"); scanf("%s",ts.ISBN); printf("請輸入作者n"); scanf("%s",ts.author); printf("請輸入出版社n"); scanf("%s",ts.publisher); printf("請輸入定價(jià)n");
8、scanf("%f",&ts.money); printf("請輸入出版日期n"); scanf("%d/%d/%d",&ts.day.month,&ts.day.day,&ts.day.year); printf("請輸入數(shù)量n"); scanf("%d",&ts.count); printf("nttt請選擇(1:確定t2:取消t0:重新輸入):"); scanf("%d",&n); while(n=0)
9、; if(n=1) if(fp=fopen("book.txt","a")=NULL) /* 若"book.txt"文件不存在,則以創(chuàng)建方式打開文件 */ fp=fopen("book.txt","w+"); fwrite(&ts,LL,1,fp); /* 將輸入的圖書信息寫入磁盤文件"book.txt" */ fclose(fp); system("CLS"); printf("輸入成功!n"); printf("請
10、選擇(1:返回主界面t2:輸入另一本圖書信息t0:退出系統(tǒng)):n"); scanf("%d",&n); switch(n) case 1:system("CLS");break; case 2:system("CLS");infor_input();break; case 0:break; default:printf("無此操作,按任意鍵返回n");getch();system("CLS");break; void refer() int n; printf("1:
11、<根據(jù)ISBN號,找出圖書信息>n"); printf("2:<根據(jù)出版社名稱,找出所有圖書信息>n"); printf("3:<根據(jù)書名,找出圖書信息>n"); printf("4:<統(tǒng)計(jì)書籍總數(shù)>n"); printf("5:<統(tǒng)計(jì)書籍總金額和平均價(jià)格>n"); printf("0:<返回>n"); printf("請輸入0-5,其他輸入非法!n"); scanf("%d"
12、;,&n);switch(n) case 1:system("CLS");findbook();break; case 2:system("CLS");findbook1();break; case 3:system("CLS");findbook2();break; case 4:system("CLS");refer_1();break; case 5:system("CLS");refer_2();break; case 0:system("CLS");brea
13、k; default:printf("無此操作n");break; struct books *read_1() FILE *fp; struct books *p1,*p2,*head; fp=fopen("book.txt","r"); head=p1=(BOOK_TYPE *)malloc(LL); fread(p1,LL,1,fp); while(feof(fp)=0) p2=(BOOK_TYPE *)malloc(LL); fread(p2,LL,1,fp); p1->next=p2; p1=p2; p1->ne
14、xt=NULL; fclose(fp); return head;void refer_1() struct books *head,*p,*d; struct books *read_1(); int total=0; head=read_1(); for(p=head;p->next!=NULL;d=p,p=p->next,free(d) total=total+p->count; printf("書籍總數(shù):%dn",total); printf("按任意鍵返回");getch();system("CLS");v
15、oid refer_2() int num=0; struct books *head,*p1,*p2; struct books *read_1(); float total=0,average=0; head=read_1(); for(p1=head;p1->next!=NULL;p2=p1,p1=p1->next,free(p2) num=num+p1->count; total=total+p1->money*p1->count; average=total/num; printf("書籍總金額:%.2fn",total); prin
16、tf("書籍平均價(jià)格:%.2fn",average); printf("按任意鍵返回");getch();system("CLS");void findbook() FILE *fp; char ISBN50; int i; fp=fopen("book.txt","r"); printf("請輸入書的ISBN號n"); scanf("%s",ISBN); for(i=0;fread(&ts,LL,1,fp)!=0;i+) if(strcmp(IS
17、BN,ts.ISBN)=0) printf("這本書的詳細(xì)資料為:%s %s %s %s %f %d/%d/%d %dn按任意鍵返回n",ts.bookname,ts.ISBN,ts.author,ts.publisher,ts.money,ts.day.month,ts.day.day,ts.day.year,ts.count); printf("沒有你所需要的書籍"); fclose(fp);void findbook1() FILE *fp; char publisher50; int i; fp=fopen("book.txt"
18、;,"r"); printf("請輸入書的publishern"); scanf("%s",publisher); for(i=0;fread(&ts,LL,1,fp)!=0;i+) if(strcmp(publisher,ts.publisher)=0) printf("這本書的詳細(xì)資料為:%s %s %s %s %f %d/%d/%d %dn按任意鍵返回n",ts.bookname,ts.ISBN,ts.author,ts.publisher,ts.money,ts.day.month,ts.day.d
19、ay,ts.day.year,ts.count); printf("沒有你所需要的書籍"); fclose(fp);void findbook2() FILE *fp; char bookname50; int i; fp=fopen("book.txt","r"); printf("請輸入書的booknamen"); scanf("%s",bookname); for(i=0;fread(&ts,LL,1,fp)!=0;i+) if(strcmp(bookname,ts.booknam
20、e)=0) printf("這本書的詳細(xì)資料為:%s %s %s %s %f %d/%d/%d %dn按任意鍵返回n",ts.bookname,ts.ISBN,ts.author,ts.publisher,ts.money,ts.day.month,ts.day.day,ts.day.year,ts.count); printf("沒有你所需要的書籍"); fclose(fp);void delete() struct books *p1, *p2; char ISBN50;int e=0;if(head = NULL) printf("無書籍
21、記錄");return; printf("請輸入您要?jiǎng)h除的書籍的ISBN:n");scanf("%s",ISBN); p1 = head; while(ISBN != p1->ISBN && p1->next != NULL) p2 = p1; p1 = p1->next; if(ISBN = p1->ISBN) if(p1 = head) head = p1->next; else p2->next = p1->next; free(p1); e-; else printf("
22、;沒有該書籍記錄,請核對!n"); void modify() struct books *p1, *p2; char ISBN50; if(head = NULL) printf("無書籍記錄!n"); return; printf("請輸入您要修改的書籍的ISBNn:"); scanf("%s",ISBN); p1 = head; while(ISBN != p1->ISBN && p1->next != NULL) p2 = p1; p1 = p1->next; if(ISBN = p
23、1->ISBN) devise(p1); else printf("沒有該學(xué)生記錄,請核對!n"); void devise(struct books *p) int choice; choice = -1; do printf("請選擇您要修改的書籍的信息內(nèi)容:n"); printf("+-+n"); printf("| 書名 請按 1 |n"); printf("| ISBN 請按 2 |n"); printf("| 作者 請按 3 |n"); printf(&qu
24、ot;|出版社請按 4 |n"); printf("| 定價(jià) 請按 5 |n"); printf("| 出版日期 請按 6 |n"); printf("| 數(shù)量 請按 7 |n"); printf("| 取消 請按 0 |n"); printf("+-+n"); printf("請輸入您的選擇:"); scanf("%d", &choice); switch(choice) case 0: return; case 1: printf("請輸入新書名 :"); scanf("%s", p->bookname); break; case 2: printf("請輸入新ISBN:"); scanf("%s", &p->ISBN); break; case 3: printf("請輸入新作者:"); scanf("%s", p->author
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44808.2-2024人類工效學(xué)無障礙設(shè)計(jì)第2部分:考慮顏色視覺隨年齡變化的顏色組合方法
- Ginisortamab-Mouse-IgG1-生命科學(xué)試劑-MCE-5731
- CDDP-PEG-Cy3-生命科學(xué)試劑-MCE-6481
- 20-Hydroxylucidenic-acid-E2-生命科學(xué)試劑-MCE-8519
- 2-Dodecylfuran-生命科學(xué)試劑-MCE-5142
- 二零二五年度綠色建筑物業(yè)費(fèi)減免執(zhí)行合同
- 二零二五年度校園教師聘用與管理合作協(xié)議
- 二零二五年度股權(quán)贈與合同:公司股東權(quán)益轉(zhuǎn)移與公司股權(quán)結(jié)構(gòu)調(diào)整
- 2025年度籃球運(yùn)動(dòng)員與俱樂部傷病賠償合同
- 2025年度影視基地裝修半包工程合同
- 人教版數(shù)學(xué)六年級下冊全冊核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)
- 構(gòu)建綠色低碳的城市生態(tài)系統(tǒng)
- 春節(jié)習(xí)俗中的傳統(tǒng)節(jié)日服飾與裝扮
- 兒童編程課件
- (完整word版)英語四級單詞大全
- 武裝押運(yùn)操作規(guī)程完整
- 混合動(dòng)力汽車構(gòu)造與檢修(高職新能源汽車專業(yè))PPT完整全套教學(xué)課件
- 薪酬專員崗位月度KPI績效考核表
- 技能大賽題庫(空分)
- 污水處理廠設(shè)備的操作規(guī)程(完整版)
- GB/T 28419-2012風(fēng)沙源區(qū)草原沙化遙感監(jiān)測技術(shù)導(dǎo)則
評論
0/150
提交評論