版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#include"stdio.h"#include"stdlib.h"#include"string.h"#include"io.h"typedefstructbook{ charnum[15];//中圖分類號 charname[20];//書名 charauthor[20];//作者 charpress[20];//出版單位 chartime[15];//出版時間 charstatus[10];//是否可借 doubleprice;//價格 intcount;//庫存量}book;voidmenu(); //圖書館系統(tǒng)界面voidinsert();//插入圖書信息記錄voidbrowse();//瀏覽圖書信息voidfind();//查找圖書信息voiddeleter();//刪除圖書信息voidmodify();//修改圖書信息voidleave();//退出圖書系統(tǒng)voidmain(){ intchoice; do { menu(); printf("請選擇服務項目:"); scanf("%d",&choice); switch(choice) { case1:insert();break; case2:browse();break; case3:find();break; case4:deleter();break; case5:modify();break; case6:leave();break; default:printf("輸入數(shù)據(jù)錯誤,請從新輸入!"); } }while(1); }voidmenu(){ printf("\t====================歡迎進入圖書館系統(tǒng)!=============================\n\n"); printf("\t\t*****************1.錄入圖書信息********************\n"); printf("\t\t*****************2.瀏覽圖書信息********************\n"); printf("\t\t*****************3.查找圖書信息********************\n"); printf("\t\t*****************4.刪除圖書信息********************\n"); printf("\t\t*****************5.修改圖書信息********************\n"); printf("\t\t********************6.退出*************************\n");}voidinsert(){ FILE*fp; booka={"\0","\0","\0","\0","\0","\0",0.0,0}; if(access("bookinf.txt",0))//如果文件不存在,則初始化文件格式 { if((fp=fopen("bookinf.txt","w"))==NULL) { printf("filecreatfailure!"); exit(0); } fprintf(fp,"中圖分類好書名作者出版社出版時間狀態(tài)價格數(shù)量"); } else//如果文件存在,則打開文件追加信息 { if((fp=fopen("bookinf.txt","a+"))==NULL) { printf("fileopenerror!"); exit(0); } } printf("請輸入圖書信息\n"); printf("中圖分類好 書名 作者 出版社 出版時間 狀態(tài) 價格 數(shù)量\n"); scanf("%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); printf("%s%s%s%s%s%s%lf%d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); fprintf(fp,"\n%-15s%-20s%-20s%-20s%-15s%-10s%-8.2lf%4d",a.num,,a.author,a.press,a.time,a.status,a.price,a.count);//-為左對齊,必須是“\n和+右對齊”,方便實現(xiàn)browse()函數(shù) fclose(fp);}voidbrowse(){ FILE*fp; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; if((fp=fopen("bookinf.txt","a+"))==NULL) { printf("fileopenerror!"); exit(0); } fscanf(fp,"%*[^\n]");//跳過文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); printf("%-4s%-4s%-4s%-4s%-4s%-4s%-8.2lf%-4d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); a=b; } fclose(fp);}voidfind(){ charstr[15]="\0"; FILE*fp; intflag=0; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; printf("請輸入所要查找圖書的中圖分類號:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r"))==NULL) { printf("fileopenerror!\n"); exit(0); } fscanf(fp,"%*[^\n]");//跳過文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(a.num,str)) { flag=1; printf("所找圖書信息為:"); printf("%-4s%-4s%-4s%-4s%-4s%-4s%-8.2lf%-4d\n",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); break; } a=b;//b的用處 } if(flag==0) printf("您所找的圖書不存在!\n"); fclose(fp);}voiddeleter(){ charstr[15]="\0"; intflag=0; FILE*fp,*fp1; booka={"\0","\0","\0","\0","\0","\0",0.0,0},b=a; printf("請輸入所要刪除圖書的中圖分類號:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r"))==NULL) { printf("fileopenerror!"); exit(0); } if((fp1=fopen("f.txt","w"))==NULL) { printf("fileopenerror!"); exit(0); } fprintf(fp1,"中圖分類好書名作者出版社出版時間狀態(tài)價格數(shù)量"); fscanf(fp,"%*[^\n]");//跳過文本的第一行fscanf(fp,"%*[^\n]%*c");? while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(str,a.num)) { flag=1; continue; } fprintf(fp1,"\n%-15s%-20s%-20s%-20s%-15s%-10s%-8.2lf%4d",a.num,,a.author,a.press,a.time,a.status,a.price,a.count); a=b; } fclose(fp1); fclose(fp); remove("bookinf.txt"); rename("f.txt","bookinf.txt"); if(flag==0) printf("所要刪除的圖書不存在!\n"); else printf("刪除成功!\n");}voidmodify(){ charstr[15]="\0"; FILE*fp,*fp1; chars[120]="\0"; booka={"\0","\0","\0","\0","\0","\0",0.0,0}; printf("請輸入所要修改圖書的中圖分類號:"); scanf("%s",str); if((fp=fopen("bookinf.txt","r+"))==NULL) { printf("fileopenerror!"); exit(0); } if((fp1=fopen("f.txt","w"))==NULL) { printf("fileopenerror!"); exit(0); } fgets(s,120,fp);//讀取bookinf.txt第一行的信息,使讀取位置移動到第二行 fprintf(fp1,"中圖分類好書名作者出版社出版時間狀態(tài)價格數(shù)量");//初始化新文件f.txt while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s%lf%d",a.num,,a.author,a.press,a.time,a.status,&a.price,&a.count); if(!strcmp(str,a.num)) //如果遇到所要修改的記錄,則從新輸入圖書信息 { printf("請輸入圖書信息,即將記錄修改為:\n"); printf("中圖分類好 書名 作者 出版社 出版時間 狀態(tài) 價格 數(shù)量\n"); scanf("%s%s%s%s%s%s%lf%d",a.num,,a.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考語文復習知識清單第2章文學類文本閱讀(一)小說專題07寫小說文學短評(學生版+解析)
- 各種培訓課件教學課件
- 二年級數(shù)學計算題專項練習1000題匯編集錦
- 肉鴨采購合同(2篇)
- 望廬山課件教學課件
- 南京工業(yè)大學浦江學院《實驗藝術(shù)》2021-2022學年第一學期期末試卷
- 鋼結(jié)構(gòu)施工組織設(shè)計【超完美版】
- 多細胞生物體說課稿
- 《長方形的面積》說課稿
- 《小數(shù)的加減法》說課稿
- 中國航天發(fā)展史主題班會 課件
- 一 《改造我們的學習》(同步練習)解析版
- 2024-2025學年北京市海淀區(qū)名校初三第二學期期中練習化學試題含解析
- 孫中山誕辰紀念日主題班會主題班會
- 內(nèi)科知識練習題庫(附答案)
- 物業(yè)反恐應急演練方案(2篇)
- 揚州邗江區(qū)2023-2024六年級英語上冊期中試卷及答案
- 2024年遼寧石化職業(yè)技術(shù)學院單招職業(yè)適應性測試題庫含答案
- 2024年燕舞集團限公司公開招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 互聯(lián)網(wǎng)+遠程問診
- 2024年倉儲與配送管理形成性考核答案大揭秘
評論
0/150
提交評論