




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計報告課程名稱:C語言課程設(shè)計教師姓名:學(xué)生姓名:學(xué)生學(xué)號:_專業(yè):計算機(jī)應(yīng)用技術(shù)所在院系:信息與智能工程系日期:.一、課程設(shè)計題目:實驗設(shè)備管理系統(tǒng)設(shè)計3二、程序設(shè)計思路3三、功能模塊圖4四、數(shù)據(jù)結(jié)構(gòu)設(shè)計6(1)功能模塊設(shè)計66.程序代碼87.程序運行結(jié)果168.課程設(shè)計中遇到的困難及解決方法229.總結(jié)心得2210.致謝2211.參考文獻(xiàn)231 1.課程設(shè)計題目:實驗設(shè)備管理系統(tǒng)設(shè)計【要求】實驗設(shè)備信息包括:設(shè)備編號,設(shè)備種類(如:微機(jī)、打印機(jī)、掃描儀等等),設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報廢,報廢日期等。試設(shè)計一實驗設(shè)備信息管理系統(tǒng),使之能提供以下功能:(1)能夠完成
2、對設(shè)備的錄入和修改。(2)對設(shè)備進(jìn)行分類統(tǒng)計。(3)設(shè)備的查詢?!咎崾尽啃枨蠓治觯簩嶒炇以O(shè)備信息用文件存儲,提供文件的輸入輸出操作;要能夠完成設(shè)備的錄入和修改,需要提供設(shè)備添加和修改操作;實現(xiàn)對設(shè)備進(jìn)行分類統(tǒng)計,需要提供排序操作;實現(xiàn)對設(shè)備的插敘需要提供查找操作,設(shè)備的查詢可根據(jù)設(shè)備編號、設(shè)備種類、設(shè)備名稱、設(shè)備購入日期、正常設(shè)備(未報廢的)等多種方式查詢;另外還要提供鍵盤式選擇菜單以實現(xiàn)功能選擇。2 2 . .程序設(shè)計思路根據(jù)需求分析,可將系統(tǒng)的設(shè)計分為四個模塊:輸入模塊,修改模塊,統(tǒng)計模塊,查詢模塊;實驗室設(shè)備信息用文件存儲,提供文件的輸入輸出;建立實驗設(shè)備信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括:設(shè)備
3、編號,設(shè)備種類,設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報廢,報廢日期。(1)主函數(shù)設(shè)計主函數(shù)提供輸入, 處理, 輸出部分的函數(shù)調(diào)用, 其中各功能模塊用菜單方式選擇, 即主函數(shù)里顯示一系列功能選項,判斷后,是否調(diào)用個功能模塊用了switch()選擇功能。(2)各功能模塊設(shè)計輸入模塊:定義了文件型指針變量,打開文件輸入用戶要輸入設(shè)備的個數(shù),輸入設(shè)備的各項詳細(xì)信息,將輸入的信息存儲到文件的中;用到fopen(文件名,使用文件方式);fclose(文件指針);fprintf(文件指針,格式字符串,輸出列表)。修改模塊:輸入要修改的設(shè)備編號,是否找到該設(shè)備資料,如果找到記錄,調(diào)用修改函數(shù),對該設(shè)備的信息
4、進(jìn)行修改;如果沒有找到,返回主菜單。在尋找的過程中用了字符串的比較strcmp(字符串1,字符串2),如果字符串1=字符串2,則函數(shù)值為0。如果字符串1字符串2,則函數(shù)值為一個正整數(shù)。如果字符串1字符串2,則函數(shù)值為一個負(fù)整數(shù)。比較時,只能用if(strcmp(str1,str2)0)。還用到feof()若到文件末尾,函數(shù)值為“真”。統(tǒng)計模塊:打開文件,并對文件中的設(shè)備信息進(jìn)行統(tǒng)計計算類型數(shù)目,總價格,平均價格;此程序中將char類型轉(zhuǎn)化成double型,用到了pc=atof();fscanf(文件指針,格式字符串,輸入列表);同樣也用到了字符串的比較strcmp(字符串1,字符串2),feo
5、f()。查詢模塊:詢問用戶想要選擇的搜索方式,分三種類型查詢(設(shè)備名稱,設(shè)備型號,設(shè)備價格),再用switch()的選擇功能,每一種類型有用到了feof()控制循環(huán),字符串的比較strcmp(字符串1,字符串2),3 3 . .功能模塊圖(1)輸入模塊(2)修改模塊(3)統(tǒng)計模塊打開文件,并對文件中的設(shè)備信息類型進(jìn)行統(tǒng)計計算返回主菜單類型數(shù)目(4)查詢模塊詢問用戶想要選擇的搜索方式4 4 . .數(shù)據(jù)結(jié)構(gòu)設(shè)計此程序中用到了(1)基本類型:1)常量的使用#defineN50,2)整型(int),3)字符型(char),4)浮點型(雙精度double)。(2)構(gòu)造類型:1)數(shù)組類型(equipCod
6、e10,equipType20,equipName20equipPrice10,equipOver20,equipYesno10,equipTime10)2)結(jié)構(gòu)體類型:structequipcharequipCode10;charequipType20;charequipName20;charequipPrice10;charequipOver20;charequipYesno10;charequipTime10;equN,temp;(3)指針類型:FILE*fp,文件型指針變量,fp個指向FLIE類型結(jié)構(gòu)的指針變量。5 5 . .功能模塊設(shè)計實驗設(shè)備管理系統(tǒng)信息輸出信息查詢信息修改信息添加
7、信息輸入實驗室設(shè)備信息管理系統(tǒng)設(shè)備信息的添加設(shè)備信息的修改設(shè)備信息的鍵入設(shè)備信息的統(tǒng)計“設(shè)備信息的查詢輸入要修改的信息輸入信息設(shè)備的個輸入各設(shè)備的詳細(xì)信息調(diào)用修改函數(shù)輸入信息設(shè)備的個信息修改返回主菜單r設(shè)備名稱查詢設(shè)備價格查詢用戶選擇1)返回主菜單,2)跳出系統(tǒng)6 6 . .程序代碼#includestdio.h#include#include#defineN50structequipcharequipCode10;charequipType20;charequipName20;charequipPrice10;charequipOver20;charequipYesno10;charequi
8、pTime10;equN,temp;intenter()FILE*fp;intc;printf(*n);printf(Addnewequimentn);printf(*nif(fp=fopen(test.txt,a)=NULL)printf(Cannotopenfile!n);printf(n);printf(請輸入設(shè)備ID號:n);scanf(%s,temp.equipCode);printf(請輸入設(shè)備類型n);scanf(%s,temp.equipType);printf(請輸入設(shè)備名稱n);scanf(%s,temp.equipName);printf(請輸入設(shè)備價格n);輸入記錄fp
9、rintf(fp,%s%s%s%s%s%s%sn,temp.equipCode,temp.equipType,temp.equipName,temp.equipPrice,temp.equipTime,temp.equipOver,temp.equipYesno);fclose(fp);printf(n-printf(Returntomainmenu?n);printf(1.YES,AdditionSuccessfuln);printf(2.NO,Iwanttoquitnown);scanf(%d,&c);if(c=1)return(0);if(c=2)return(0);intmodifty
10、()charcode10;inti,j;intc;FILE*fp;printf(*printf(Modiftyfortheequimentn);printf(*printf(Pleaseinputtheequipcodeformodiftyingn);scanf(%s,code);printf(n);if(fp=fopen(test.txt,r)=NULL)printf(nCannotopentest!n);)for(i=0;!feof(fp);i+)(fscanf(fp,%s%s%s%s%s%s%s,equi.equipCode,equi.equipType,equi.equipName,e
11、qui.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);if(strcmp(equi.equipCode,code)=0)(printf(n);printf(InputnewequipCoden);scanf(%s,equi.equipCode);printf(Inputnewequiptypen);scanf(%s,equi.equipscanf(%s,temp.equipPrice);printf(請輸入設(shè)備購買日期,scanf(%s,temp.equipTime);printf(請輸入設(shè)備報廢日期scanf(%s,tem
12、p.equipOver);printf(請輸入設(shè)備是否報廢.scanf(%s,temp.equipYesno);n);n);n);An);修改記錄*n);*n);Type);printf(Inputnewequipnamen);scanf(%s,equi.equipName);printf(InputequipPricen);scanf(%s,equi.equipPrice);printf(Inputneweuiptimen);scanf(%s,equi.equipTime);printf(Inputneweuipovern);scanf(%s,equi.equipOver)printf(In
13、putneweuipyesnon);scanf(%s,equi.equipYesno);)fclose(fp);j=i;if(fp=fopen(test.txt,w)=NULL)(printf(nCannotopentest!n);)for(i=0;ij;i+)(printf(nwrite!n);fprintf(fp,%s%s%s%s%s%s%s,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);)fclose(fp);printf(nn);printf(Re
14、turntomainmenu?n);printf(1.YESModifySuccessfuln);printf(2.NO,quitnown);scanf(%d,&c);if(c=1)return(0);if(c=2)return(0);)intdisp()統(tǒng)計記錄intc;doublesum=0;intcount=0;doubleaver=0;chartype20;inti;FILE*fp;if(fp=fopen(test.txt,r)=NULL)printf(nWrongn);)printf(pleaseinputequipType:n);scanf(%s,type);for(i=0;!fe
15、of(fp);i+)fscanf(fp,%s%s%s%s%s%s%s,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);printf(nOK!n);printf(%s,%s,%s,%s,%s,%s,%sn,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);if(str
16、cmp(equi.equipType,type)=0)doublepc=atof(equi.equipPrice);/char轉(zhuǎn)換為doublecount+;sum+=pc;aver=sum/count;fclose(fp);printf(Statist-Result);printf(nn這種類型的數(shù)目:d,count);printf(nn總的價格:lf,sum);printf(nn平均價格:lf,aver);printf(nexit);printf(nn);printf(Returntomainmenu?n);printf(1.YESDispSuccessfuln);printf(2.NO,
17、quitnow.n);scanf(%d,&c);if(c=1)return(0);if(c=2)return(0);intsearch()查詢記錄charcode10;charname20;charprice10;intsel;intc;FILE*fp;inti;fp=fopen(test.txt,r);if(fp=NULL)exit(0);printf(pleasechoosethewayofsearch:nn);printf(1.searchbyequipCodenn);printf(2.searchbyequipNamenn);printf(3.searchbyequipPricenn)
18、;printf(0.returnnn);printf(pleaseinputnumber0-5:);scanf(%d,&sel);if(sel=0)exit(0);switch(sel)case0:exit(0);break;case 1:printf(pleaseinputequipCode:n);scanf(%s,code);for(i=0;!feof(fp);i+)fscanf(fp,%s%s%s%s%s%s%s,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOv
19、er,equi.equipYesno);if(strcmp(equi.equipCode,code)=0)printf(nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesnon);printf(n%s,%s,%s,%s,%s,%s,%sn,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);break;case 2:printf(pleaseinpu
20、tequipName:n);scanf(%s,name);for(i=0;!feof(fp);i+)fscanf(fp,%s%s%s%s%s%s%s,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);if(strcmp(equi.equipName,code)=0)printf(nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesnon);print
21、f(n%s,%s,%s,%s,%s,%s,%sn,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno);break;case 3:printf(pleaseinputequipPrice:n);scanf(%d,&price);for(i=0;!feof(fp);i+)fscanf(fp,%s%s%s%s%s%s%s,equi.equipCode,equi.equipType,equi.equipName,equi.equipPric
22、e,equi.equipTime,equi.equipOver,equi.equipYesno);if(strcmp(price,equi.equipPrice)=0)printf(nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesnon);printf(n%s,%s,%s,%s,%s,%s,%sn,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.equipTime,equi.equipOver,equi.equipYesno)
23、;break;fclose(fp);printf(nn);printf(Returntomainmenu?n);printf(1.YESSearchSuccessfuln);printf(2.NO,quitnown);scanf(%d,&c);if(c=1)return(0);if(c=2)return(0);voidmain()(intn;intw;doputs(tt1.Enternewdata);puts(tt2.Modifydata);puts(tt3.Disp);puts(tt4.Search);puts(tt5.Exit);printf(Choiceyournumber(1-5):);scanf(%d,&n);if(n5)w=1;getchar();elsew=0;switch(n)(case1:enter();break;case2:modifty();break;case3:disp();break;case4:search();break;case5:exit(0);while(w=0);puts(tt*MENU*nn);puts(nntt*n);7.7.程序運行結(jié)果(1)主
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冠狀動脈造影及支架植入術(shù)
- 2-6邏輯運算的公式
- 原發(fā)性肝癌患者護(hù)理查房 2
- 上海市浦東新區(qū)浦東2025年招生伯樂馬模擬考試(三)生物試題含解析
- 山西財經(jīng)大學(xué)華商學(xué)院《中外設(shè)計史》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海海關(guān)學(xué)院《數(shù)理統(tǒng)計理論與方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆伊寧市第七中學(xué)重點達(dá)標(biāo)名校2025年高中畢業(yè)班零診模擬考試英語試題含答案
- 山西警官職業(yè)學(xué)院《藥物分離工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 九江理工職業(yè)學(xué)院《影視專業(yè)英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京師范大學(xué)泰州學(xué)院《電氣安全》2023-2024學(xué)年第二學(xué)期期末試卷
- 《旅行社經(jīng)營管理》考試復(fù)習(xí)題庫及答案
- 粵教版五年級下冊科學(xué)知識點
- 《最好的未來》合唱曲譜
- 文言文《守株待兔》說課稿課件
- 生物礦物課件
- GB∕T 36765-2018 汽車空調(diào)用1,1,1,2-四氟乙烷(氣霧罐型)
- DB34-T 4243-2022 智慧醫(yī)院醫(yī)用耗材SPD驗收規(guī)范
- 《覺醒年代》朗誦稿
- 混凝土格構(gòu)梁護(hù)坡施工方案設(shè)計
- 小學(xué)教育專業(yè)畢業(yè)論文
- 西南交通大學(xué)學(xué)報排模板
評論
0/150
提交評論