


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告班級(jí)姓名學(xué)號(hào)11130730實(shí)驗(yàn)課程C實(shí)驗(yàn)名稱實(shí)驗(yàn)設(shè)備管理系統(tǒng)實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)日期2014.3.5任課教師一、目的(本次課程設(shè)計(jì)所涉及并要求掌握的知識(shí)點(diǎn)。)課程設(shè)計(jì)在學(xué)校實(shí)驗(yàn)室的設(shè)備管理工作中,設(shè)備的編排是一項(xiàng)十分復(fù)雜、棘手的工作。 在編排過程中,由于數(shù)量多容易出錯(cuò)。利用計(jì)算機(jī)輔助進(jìn)行設(shè)備編排工作, 既提高了編排的科學(xué)性,又可大大減輕管理人員的工作強(qiáng)度,提高工作效率, 從而教學(xué)設(shè)備管理現(xiàn)代化邁上了一個(gè)新臺(tái)階。實(shí)驗(yàn)室設(shè)備信息用文件存儲(chǔ),故要提供文件的輸入輸出操作;要能夠完成設(shè) 備的錄入和修改,需要提供設(shè)備添加和修改操作;實(shí)現(xiàn)對(duì)設(shè)備進(jìn)行分類統(tǒng)計(jì), 需要提供排序操作;實(shí)現(xiàn)對(duì)設(shè)備的查
2、詢需要提供查找操作;另外還要提供鍵 盤式選擇菜單以實(shí)現(xiàn)功能選擇總體設(shè)計(jì)整個(gè)系統(tǒng)被設(shè)計(jì)為實(shí)驗(yàn)設(shè)備信息輸入模塊、實(shí)驗(yàn)設(shè)備信息添加模塊、實(shí)驗(yàn)設(shè) 備信息修改模塊、實(shí)驗(yàn)設(shè)備分類統(tǒng)計(jì)模塊和實(shí)驗(yàn)設(shè)備查詢模塊。知識(shí)點(diǎn)1. 對(duì)于結(jié)構(gòu)體數(shù)組的定義使用2. 指針變量的使用3. 以文件方式輸入輸出,熟練掌握文件的各種方式4. 對(duì)于循環(huán)的應(yīng)用格式5. 一些函數(shù)的應(yīng)用,女口 strcmp函數(shù)總結(jié):提高程序設(shè)計(jì)能力與課堂知識(shí)內(nèi)容的應(yīng)用,掌握程序設(shè)計(jì)的基本方法和調(diào) 試技能。對(duì)指針,數(shù)組,文件了解更加深刻。二、 使用環(huán)境 (本次上機(jī)實(shí)踐所使用的平臺(tái)和相關(guān)軟件。)Visual C+三、 內(nèi)容與設(shè)計(jì)思想(1 設(shè)計(jì)思路2 主要數(shù)據(jù)結(jié)
3、構(gòu)3 主要代碼結(jié)構(gòu)4 主 要代碼段分析。)1 設(shè)計(jì)思路如下圖所示2 主要數(shù)據(jù)結(jié)構(gòu)typedef struct Equlnfo/定義結(jié)構(gòu)體 char equipCode10;/編號(hào)char equipType20;/種類char equipName20;/名稱float equipPrice; /價(jià)格char buyDate20;/購(gòu)買日期int scrap;/是否報(bào)廢char scrapDate20;/報(bào)廢日期Eq ulnfo;3 主要代碼結(jié)構(gòu)1.主函數(shù)2.添加模塊輸入用戶要輸入設(shè)備的個(gè)數(shù)i1!輸入設(shè)備的各項(xiàng)詳細(xì)信息1r將輸入的信息存儲(chǔ)到文件的中退出Q!返回主菜單3.修改模塊4.統(tǒng)計(jì)模塊5.搜
4、索模塊4 主要代碼段分析(1) .添加模塊主要是實(shí)現(xiàn)設(shè)備的添加,輸入添加的設(shè)備個(gè)數(shù),然后用 for循環(huán)語句,循環(huán) 次數(shù)是你輸入的設(shè)備個(gè)數(shù)。循環(huán)輸出設(shè)備的編號(hào),種類名稱,用 fopen打開 文件,w寫方式實(shí)現(xiàn)首次添加。int addition()/* 添加模塊 */Equlnfo n ews50;int i,j,c;FILE *fp;system("cls");printf("你想輸入多少個(gè)設(shè)備?n");scanf("%d",&i);/*輸入要添加的設(shè)備個(gè)數(shù)*/for(j=0;j<i;j+) printf("n&
5、quot;);printf("輸入設(shè)備編號(hào)n");sca nf("%s",&n ewsj.equipCode); printf("輸入設(shè)備種類n");sca nf("%s" ,n ewsj.equipType);if(fp=fopen("swy.txt","w")=NULL)/* 打開文件,輸入保存 */printf("不能打開文件!n");for (j=0;j<i;j+) fprin tf(fp,"%s%s %s %f %s%d%
6、s",n ewsj.equipCode ,n ewsj.equipType ,n ewsj.equipName ,n ewsj.equipPrice, newsj.buyDate, newsj.scrap, newsj.scrapDate); fclose(fp);printf("nn");printf("返回主菜單? n");prin tf("1.是n");printf("2.不,退出 n");sea nf("%d",&c);if(c=1)return(-1);if(c=2)
7、return(o); /*任務(wù)結(jié)束選擇是返回主菜單還是跳出*/(2) .修改模塊用for循環(huán)使用feof函數(shù)從文件頭逐個(gè)讀取文件字符直到文件結(jié)尾,其中 用了 strcmp函數(shù),比較文件中的數(shù)據(jù)與輸入數(shù)是否匹配,若是匹配,返回0,說明你輸入的編號(hào)正確,鍵面進(jìn)入請(qǐng)輸入新的編號(hào)、種類、名稱等,將修改 后的信息寫入文件中,成功后輸出 modifty()/* 修改模塊 */if(fp=fope n("swy.txt","r")=NULL) printf("n 不能打開文件!n");for(i=0;!feof(fp);i+)II
8、文件頭逐個(gè)讀取文件字符直到文件結(jié)尾fsca nf(fp,"%s%s %s %f%s %d %s",equi.equipCode,equi.equipType,equi.equipName,&equi.equipPri ce,&equi.buyDate,&equi.scrap,&equi.scrapDate);if(strcmp(equi.equipCode,code)=0) II判斷文件的數(shù)據(jù)與輸入數(shù)是否匹配 printf("n");printf("輸入新設(shè)備編號(hào)n");sca nf("%s&
9、quot;,equi.equipCode);printf("輸入新設(shè)備種類n"); I*將修改后的信息寫入文件fclose(fp);j=i;for(i=0;i<j;i+)fprin tf(fp,"%s%s %s %f %s%d%s",equi.equipCode,equi.equipType,equi.equipName,equi.equipPric e,equi.buyDate,equi.scrap,equi.scrapDate);prin tf("nwrite!n");fclose(fp); (3) .統(tǒng)計(jì)模塊先輸入設(shè)備類型
10、,判斷是否匹配,是的話輸出ok,并把相應(yīng)的內(nèi)容輸出,定義一個(gè)計(jì)數(shù)器count,每循環(huán)一次,自加1int total() II統(tǒng)計(jì)模塊float sum=0;i nt coun t=0; float aver=0;char type20; Equlnfo equ;if(strcmp(equ.equipType,type)=0) prin tf("nOK!n");prin tf("%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ.e quipName,equ.equipPrice,equ.buyDa
11、te,equ.scrap,equ.scrapDate);coun t+;sum+=equ.equipPrice;aver=sum/co unt; fclose(fp);printf("統(tǒng)計(jì)-返回結(jié)果");printf("nn這個(gè)類型的是:%d",count);printf("nn統(tǒng)計(jì)的總價(jià)格:%f",sum);printf("nn平均價(jià)格是:f",aver);(4) .搜索模塊分為按編號(hào)搜索,設(shè)備名搜索,設(shè)備價(jià)格搜索,用switch循環(huán),來判斷進(jìn)入明E個(gè),比如若輸入為1 ,就會(huì)按編號(hào)搜索。switch(choice
12、)case 0:exit(0);break;case 1:printf("請(qǐng)輸入設(shè)備編號(hào):n");sca nf("%s",code);for(i=0;!feof(fp);i+) /從文本中讀取設(shè)備編號(hào)fsca nf(fp,"%s%s%s%f%s%d%s",equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipCode,cod
13、e)=0) printf("n equipCode,equipType,equipName,equipPrice,buyDate,scrap,Scra pDate'n");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ.equ ipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);getchar();break;case 2:printf(" 請(qǐng)輸入設(shè)備名稱:n");scan f(&
14、quot;%s", name);for(i=0;!feof(fp);i+)fsca nf(fp,"%s%s %s %f %s %d %s",equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipName, name)=0) prin tf("nequipCode,equipType,equipName,equipPrice,buyDate,sc
15、rap, ScrapDate'n");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ.equ ipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate); getchar();break;case 3:printf("請(qǐng)輸入設(shè)備價(jià)格:n");scan f("%f",&price);for(i=0;!feof(fp);i+)fscan f(fp,"%s%s %s
16、%f %s %d %s",equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(equ.equipPrice=price)printf("n equipCode,equipType,equipName,equipPrice,buyDate,scrap,Scra pDate'n");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.eq
17、uipCode,equ.equipType,equ.equ ipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate); getchar();break; (5) .追加模塊與添加模塊相似,只有一個(gè)地方不同,追加是以fopen打開文件,以a追加 的方式追加數(shù)據(jù)的if(fp=fope n("swy.txt","a")=NULL)/a 方式為追加printf("不能打開文件!n");for (j=O;j<i;j+)fprin tf(fp,"%s%s %s %f %s
18、%d%s", newequj.equipCode ,n ewequj.equipType ,n ewequj.equipName ,new equj.equipPrice ,n ewequj.buyDate ,n ewequj.scrap ,n ewequj.scr apDate);fclose(fp);四、調(diào)試過程 (1測(cè)試數(shù)據(jù)設(shè)計(jì)2 測(cè)試結(jié)果分析)(1) 測(cè)試數(shù)據(jù)設(shè)計(jì):進(jìn)入主菜單:根據(jù)需求操作,按“ 1”添加信息,以便測(cè)試設(shè)備個(gè)數(shù):2設(shè)備編號(hào):1設(shè)備各類:abc設(shè)備名稱:switch設(shè)備價(jià)格:90購(gòu)買日期:20010101是否報(bào)廢:0報(bào)廢日期:0(2) 測(cè)試結(jié)果分析:1.主菜單函
19、數(shù):根據(jù)需求輸入相應(yīng)的操作主菜單2.添加模塊:當(dāng)輸入1后,進(jìn)入添加頁(yè)面,對(duì)設(shè)備的各方面信息進(jìn)行添加辭裁備主禰 Os u; it ch 齡I人設(shè)劭格 n» '': :- : I! I N.1護(hù)人愈日期hhb辭股備課:bln lotW.iW;紗朋日期汕加陽恥 w:; 湖 RRR0HB*: h宴監(jiān)設(shè)備昔理系姣kDohii.小砂齊«-K K K M M M-M-M-K-K K K M M M M-iM-BtH KM M MM-M-M-K K K M M M-M-iliV-K-KKM »M M-M-M-K K K !N M M M M h 忝抑設(shè)備.於想輸入
20、多歩個(gè)設(shè)備?竊入設(shè)備編號(hào)制入諼備種類勺”廠甸入設(shè)備名稱quitch齊入後備價(jià)格 俞入購(gòu)買日期!O01U10I甦否報(bào)廢? 0/1俞入報(bào)廈日期)點(diǎn)只設(shè)£編號(hào) 腎入設(shè)備聊類 巾h添加設(shè)備文祥M編輯格式邊査看(V)幫助001 abc suitch 96.O0O0OU 20010101"U B 2 bbb print 90.080009 20Q3O3O3i20080808添加后文本中的數(shù)據(jù)3修改模塊:輸入您需要修改的設(shè)備編號(hào),如果輸入的編號(hào)與查找不相同將真的 提示返回菜單或退出,正確進(jìn)入如下鍵面修改設(shè)備信息 r . rp ! I i * i f . . * =1 -. y w - r
21、I mbc suitch OO.flODOOD 2 001 0101 0 0 3 uuu book 1G0.QOOGOO 2Q01 01 01 1 20091 01 D修改后文本中的信息4. 追加模塊:輸入您需要追加的設(shè)備個(gè)數(shù),進(jìn)行設(shè)備信息的添加,進(jìn)入如下所示阻加設(shè)備:際想追加多少個(gè)設(shè)備?輸入設(shè)備編號(hào) 為入設(shè)備種類WQ輸入設(shè)備名稱test輸入設(shè)備價(jià)格90輸入購(gòu)買日期2B08B202是否報(bào)廢? 0/10輛入報(bào)廢日期 厘專主菜單?丄.是2-T,退出追加設(shè)備1 4bc switch 99.nnnno0 O101 a g 3 vw book 10旅Mfmno 29Q1611 2QQ91Q1S 3 qq
22、q test flp.flftnono 20冊(cè)駁就 0追加后文件中的數(shù)據(jù)kbcOK*1,abc,quitch90.00000020018101,30F統(tǒng)計(jì)一返回結(jié)果5. 統(tǒng)計(jì)模塊:輸入設(shè)備類型,進(jìn)行設(shè)備信息的統(tǒng)計(jì),進(jìn)入如下所示彳個(gè)類型的是汽統(tǒng)計(jì)的總價(jià)格:?0.000000平均價(jià)格是證0 000860按柱意核退岀1§回主菜單?lr是、2-S,退出分類統(tǒng)計(jì)6. 搜索模塊:選擇你需要搜索的方式,可以按編號(hào)搜索,也可以按設(shè)備名搜索, 還可以按設(shè)備價(jià)格搜索,如下所示按編號(hào)搜索障聊力N啜尊:c qiiiiaCo de,. c qui ipT L/pc # cquipHanc # c quipPr
23、icc .Jbuybmtc; * sc rap. Sc rapDat c1 .abc .syitc >1.90080.20010101,0,8sa as. sea saa jsa ssa. asa ss sea sa. Bia aa aa sb sa一 saa jas dsa ia.返回菜單亍 兀是2 S >退出1 編號(hào)搜索2 設(shè)備名搜當(dāng)X設(shè)備價(jià)恪役索0.飯回*揃人lit備漏右=I.01Pabc . suitcli, 90.080300 20010101.0 &.uiiti R testF?0 »0080.2 08862 82 ,.6.0”是編號(hào)搜窯設(shè)備名技索設(shè)備
24、價(jià)格搜索俺回?fù)B入號(hào)碼B-3:3貉入喪備價(jià)格:quipCodeequ ipTipie &quipNane equIpPr icb a buL/Uate &c rap Scrapfiatb quipCodc . cquipType.cquipNanc ,.equipPr ice.buDatc P-scrapScrapDate按價(jià)格搜索編號(hào)搜簫2 .設(shè)備名搜需3 設(shè)備價(jià)格搜雷switch0-3:2名稱,U.返回EqulpCade, e QulpI ppe , e qu i pNdme - equipPrice, JjuDatesc rap, S cpapDa t e1 .abc J.
25、gvitchJ.90.0B0009>2091101返口菜單?1堤2.否.退出按設(shè)備名搜索7.退出模塊:選擇5直接退出系統(tǒng)賀益設(shè)備甘邂家“c*一匚nJ 3 jU3j7 3 U 7 J C 2 3j2 3 U j J 31w-m-臥迫加設(shè)備信息MK1-添加設(shè)備信息M-MM-K2.陸改設(shè)備俏息M4CM-K-3,分類銚計(jì)信息M-K-*搜畫設(shè)備信息w*5.退出管理系統(tǒng)*你頸做什么T <0-5 >:5Press anj/ key to cant inuc ME H JR H M! JC Mi退出五、總結(jié)1 設(shè)計(jì)中遇到的問題及解決過程文本中會(huì)出現(xiàn)亂碼,但不是所有數(shù)據(jù)都就亂碼,而是文件是的其
26、中某一項(xiàng)是 亂碼,應(yīng)該不是fread與fprint的問題,后來發(fā)現(xiàn)我定義的是char字符串 類型,但在輸入數(shù)據(jù)時(shí) scanf("%d",&equi.buyDate);用的是4的格式輸入。2 設(shè)計(jì)中產(chǎn)生的錯(cuò)誤及原因分析在修改模塊中,修改數(shù)據(jù)成功后,信息寫入文件中,成功后,在鍵面上輸出 Write證明你已經(jīng)修改信息成功??墒菚?huì)出現(xiàn)好幾個(gè)write,文本中有幾條就會(huì)出現(xiàn)幾個(gè)write。經(jīng)過討論,得知,修改成功后沒有跳出for循環(huán),遍歷文本中的信息,每遍歷一次,循環(huán)輸出一次ok。最后把輸出語句放入For循環(huán)外面。這問題就成功解決。3 設(shè)計(jì)體會(huì)和收獲。經(jīng)過一個(gè)星期的上機(jī)實(shí)踐學(xué)
27、習(xí),使我對(duì)C語言有了更進(jìn)一步的認(rèn)識(shí)和了解,運(yùn)用C語言可以解決許多實(shí)際問題,尤其在在信息管理方面。要想學(xué)好 它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也 發(fā)現(xiàn)自己有好多不足之處,對(duì) C語言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,還有對(duì)函 數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì) C語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解。通 過詢問老師和同學(xué),翻閱課本和上網(wǎng)查找等方式,在解決問題的過程中,使 我在這幾個(gè)方面的認(rèn)識(shí)有所提高,同時(shí)也學(xué)到了新東西。通過實(shí)踐的學(xué)習(xí),我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí) C語言,還是其它的語言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所 以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操
28、作,使自己便好地學(xué)好計(jì)算機(jī)。同 時(shí)我們隨時(shí)都要培養(yǎng)自己的動(dòng)手能力,只有這樣,才能更好的適應(yīng)這個(gè)日新 月異的飛速發(fā)展的社會(huì)。六、附錄1、原代碼#i nclude<stdio.h>#i nclude<stdlib.h>/包括頭文件#i nclude<stri ng.h>typedef struct Equlnfo/定義結(jié)構(gòu)體 char equipCode10;/編號(hào)char equipType20;/種類char equipName20;/名稱float equipPrice; /價(jià)格char buyDate20;/購(gòu)買日期int scrap;/是否報(bào)廢char
29、 scrapDate20;/報(bào)廢日期Eq ulnfo;Equlnfo n ews;/實(shí)例化結(jié)構(gòu)體/*添加模塊 *int additio n()/*添加模塊*/ Equlnfo n ews50; int i,j,c;FILE *fp; system("cls");i*n"printf(");i*n"printf(");printf(" sca nf("%d",&i);你想輸入多少個(gè)設(shè)備?n");輸入要添加的設(shè)備個(gè)數(shù)*/*for(j=0;j<i;j+)printf("n&qu
30、ot;);printf("輸入設(shè)備編號(hào)n");sca nf("%s",&n ewsj.equipCode); printf("輸入設(shè)備種類n");sca nf("%s" ,n ewsj.equipType); printf("輸入設(shè)備名稱n");sca nf("%s" ,n ewsj.equipName); printf("輸入設(shè)備價(jià)格n");sca nf("%f",&n ewsj.equipPrice); printf
31、("輸入購(gòu)買日期n");sca nf("%s",&n ewsj.buyDate);printf("是否報(bào)廢? 0/1n");sca nf("%d",&n ewsj.scrap);/判斷是否報(bào)廢printf("輸入報(bào)廢日期n");sca nf("%s",&n ewsj.scrapDate); if(fp=fope n( "swy.txt","w")=NULL) 存*/*打開文件,輸入保printf("添加
32、設(shè)備:n");printf("不能打開文件!n");for (j=O;j<i;j+)fprin tf(fp,"%s%s %s %f %s%d%s",n ewsj.equipCode ,n ewsj.equipType ,n ewsj.equipName ,n ewsj.equipPrice, newsj.buyDate, newsj.scrap, newsj.scrapDate);fclose(fp);printf("nn");printf("返回主菜單? n");prin tf("1.是
33、n");printf("2.不,退出 n");sca nf("%d",&c);if(c=1)return(-1);任務(wù)結(jié)束選擇是返回主菜單還是修改模塊if(c=2)return(o);/*跳出*/*int modifty()/* 修改模塊 */Equlnfo equ50;char code10; int i,j,c;FILE *fp;system("cls");printf('*n");printf(" 修改設(shè)備信息:n");printf('*n"prin tf
34、("請(qǐng)輸入要修改的設(shè)備編號(hào):n");輸入要修改的設(shè)備編號(hào)*/sca nf("%s",code);/*printf("n");if(fp=fope n("swy.txt","r")=NULL)printf("n不能打開文件!n");for(i=0;!feof(fp);i+) /從文件頭一個(gè)一個(gè)的讀取字符,讀到文件的結(jié)尾。fscan f(fp,"%s%s%s %f%s %d %s",equi.equipCode,equi.equipType,equi.equi
35、pName,&equi.equipPrice,&equi.buyDate,&equi.scrap,&equi.scrapDate);if(strcmp(equi.equipCode,code)=0)判斷文件中的數(shù)據(jù)與輸入數(shù)是否匹配printf("n");printf("輸入新設(shè)備編號(hào)n");sca nf("%s",equi.equipCode);printf("輸入新設(shè)備種類n");sea nf("%s",equi.equipType);printf("
36、 輸入新設(shè)備名稱n");sea nf("%s",equi.equipName);printf(" 輸入新設(shè)備價(jià)格n");sea nf("%f",&equi.equipPrice);printf(" 輸入新購(gòu)買日期n");sea nf("%s",&equi.buyDate);/判斷是否報(bào)廢prin tf("輸入新是否報(bào)廢? 0/1n");sca nf("%d",&equi.scrap);printf("輸入新報(bào)廢日
37、期n");sca nf("%s",&equi.scrapDate);/*將修改后的信息寫入文件中*/fclose(fp);j=i;if(fp=fope n( "swy.txt","w")=NULL)printf("n 不能打開文件!n");for(i=0;i<j;i+)prin tf("nwrite!n");%sfprin tf(fp,"%s%s %s %f %s%d",equi.equipCode,equi.equipType,equi.equipN
38、ame,equi.equipPric e,equi.buyDate,equi.scrap,equi.scrapDate);fclose(fp);printf("nn");prin tf("返回菜單? n");prin tf("1.是 n");printf("2.不,退出 n");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);int total()/統(tǒng)計(jì)模塊int c;float sum=0;int coun t=0;float av
39、er=0;char type20;Equlnfo equ;int i;FILE *fp;system("cls");if(fp=fope n("swy.txt","r")=NULL)printf("n不能打開文件!n");printf("請(qǐng)輸入設(shè)備類型:n");sea nf("%s",type);for(i=0;!feof(fp);i+)%sfscan f(fp,"%s%s%s%f%s%dn ",equ.equipCode,equ.equipType,eq
40、u.equipName,&equ.equipPrice,&equ.bu yDate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipType,type)=0) /判斷文件中的數(shù)據(jù)與輸入數(shù)是否匹配prin tf("nOK!n");prin tf("%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ.equip Name,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);c
41、oun t+;sum+=equ.equipPrice;aver=sum/co unt;fclose(fp);printf("統(tǒng)計(jì)-返回結(jié)果");printf("nn這個(gè)類型的是:%d",count);printf("nn統(tǒng)計(jì)的總價(jià)格:%f",sum);printf("nn平均價(jià)格是:%f",aver);printf("n按任意鍵退出 ");getchar();得到任意一個(gè)數(shù)printf("nn");printf("返回主菜單? n");prin tf(&q
42、uot;1.是 n");printf("2.否,退出 n");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);/*搜索模塊*/int search()char code10; char n ame20; float price;int choice; int c;FILE *fp; Equlnfo equ;int i; system("cls");fp=fope n("swy.txt","r");if(fp=NULL)exi
43、t(O);printf(" 選一種方式搜索:nn");printf("1.編號(hào)搜索 nn");printf("2.設(shè)備名搜索 nn");printf("3.設(shè)備價(jià)格搜索nn");prin tf("O.返回 nn");printf(" 請(qǐng)輸入號(hào)碼0-3:");sca nf("%d",&choice);if(choice=0)exit(0);switch(choice)case 0:exit(0);break;case 1:printf("請(qǐng)
44、輸入設(shè)備編號(hào):n");scan f("%s",code);for(i=0;!feof(fp);i+)從文本中讀取設(shè)備編號(hào)fsca nf(fp,"%s%s %s %f %s %d %s",equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipCode,code)=0)/strcmp 函數(shù),兩個(gè)字符串相 等,返回0prin tf(&quo
45、t;nequipCode,equipType,equipName,equipPrice,buyDate,scrap, ScrapDate'n");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ .equipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);getchar();break;case 2:printf("請(qǐng)輸入設(shè)備名稱:n");scan f("%s", name
46、);for(i=0;!feof(fp);i+)fsca nf(fp,"%s%s %s %f %s %d %s",equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipName, name)=0)printf("n equipCode,equipType,equipName,equipPrice,buyDate,scrap,Scra pDate'n
47、");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,equ.equ ipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);getchar();break;case 3:printf("請(qǐng)輸入設(shè)備價(jià)格:n");scan f("%f",&price);for(i=0;!feof(fp);i+)%sfsca nf(fp,"%s%s %s %f %s %d",equ.
48、equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyD ate,&equ.scrap,&equ.scrapDate);if(equ.equipPrice=price)printf("n equipCode,equipType,equipName,equipPrice,buyDate,scrap,Scra pDate'n");prin tf("n%s,%s,%s,%f,%s,%d,%sn",equ.equipCode,equ.equipType,
49、equ.equ ipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);getchar();break;fclose(fp);printf("nn");printf("返回菜單? n");prin tf("1.是n");printf("2.否,退出 n");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(o);int input()/* 追加模塊 */ Equlnfo n ewequ50;int i,j;in t c;FILE *fp;system("cls");printf('*n");printf("追加設(shè)備:n");prin tf("*MENU*n"printf("你想追加多少個(gè)設(shè)備?n");scanf("%d",&i);/*追加要添加的設(shè)備個(gè)數(shù)*/for(j=0;j<i;j+)printf("n");printf("輸入設(shè)備編號(hào)n&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 下學(xué)期幼兒園小班美術(shù)教學(xué)計(jì)劃
- 出租水產(chǎn)攤位合同范本
- 書法班退費(fèi)合同范本
- 廠房買斷合同范本
- 一冊(cè)拼音及一二三單元教案十五
- 農(nóng)戶院落租賃合同范本
- 兒童玩偶租賃合同范本
- 醫(yī)療設(shè)備進(jìn)貨合同范本
- 午托廚房合同范本
- 《荷花》教學(xué)反思三年級(jí)語文教學(xué)反思
- DB11∕T 1326-2016 中小學(xué)校晨午檢規(guī)范
- 北師大版(三起)(2024)三年級(jí)上冊(cè)英語Unit 2 School life單元測(cè)試卷(含答案)
- 兩癌篩查宣傳課件
- 中醫(yī)痛經(jīng)講解培訓(xùn)課件
- 《跨境直播運(yùn)營(yíng)》課件-跨境直播的概念和發(fā)展歷程
- 施工現(xiàn)場(chǎng)安全隱患檢查表
- DL∕T 478-2013 繼電保護(hù)和安全自動(dòng)裝置通 用技術(shù)條件 正式版
- DL∕T 516-2017 電力調(diào)度自動(dòng)化運(yùn)行管理規(guī)程
- 《原來數(shù)學(xué)這么有趣》小學(xué)數(shù)學(xué)啟蒙課程
- 中醫(yī)內(nèi)科臨床診療指南-塵肺病
- DZ∕T 0399-2022 礦山資源儲(chǔ)量管理規(guī)范(正式版)
評(píng)論
0/150
提交評(píng)論