C語言課程設計實驗設備管理系統設計說明_第1頁
C語言課程設計實驗設備管理系統設計說明_第2頁
C語言課程設計實驗設備管理系統設計說明_第3頁
免費預覽已結束,剩余24頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言課程設計院系: 姓名: 學號: 班號: 指導教師: 日期:目錄一. 題目要求(1)二. 需求分析(1)三. 總體設計(1)四. 詳細設計(1)五. 完整程序(12)六. 上機操作(21)七. 結束語(24)一. 題目要求實驗設備信息包括:設備編號,設備種類(如:微機、打印機、掃描儀等等),設備名稱,設備價格,設備購入日期等。試設計一實驗設備信息管理系統,使之能提供以下功能:(1)能夠完成對設備的錄入和修改(2)對設備進行分類統計(3)設備的查詢二. 需求分析實驗室設備信息用文件存儲, 提供文件的輸入輸出操作; 要能夠完成設備的錄入和修改,需要提供設備添加和修改操作;實現對設備進行分類統計

2、, 需要提供排序操作;實現對設備的插敘需要提供查找操作,設備的查詢可根據設備編號、設備種類、設備名稱、設備購入日期、正常設備(未報廢的)等多種方式查詢;另外還要提供鍵盤式選擇菜單以實現功能選擇。三. 總體設計根據上面的需求分析,可以將這個系統的設計分為以下模塊四. 詳細設計1 主函數流程圖程序mai n()/*int n , w, t ;for(t=0;t<1;t+)1主函數 * doputs("tt*MENU*nn");puts("tt 1.E nter new data");puts("tt 2.Addition data"

3、);puts("tt 3.Modify data");puts("tt 4.Statist ");puts("tt 5.Search");puts("tt 6.Exit");puts("nntt* n");輸入模塊*/追加模塊*/ 修改模塊*/統計模塊*/ 搜索模塊*/退出*/printf("What do you want to do(1_6):");sca nf("%d",&n);if(*1|n >6)/*對選擇的數字作出判斷*/ w=1

4、;getchar();else w=0;while(w=1);switch( n)case 1:t=e nter();break; /*case 2:t=e nter(); break; /*case 3:t=modifty();break; /*case 4:t=total();break; /*case 5:t=search();break; /*case 6:exit(0);/*2.各功能模塊設計(1)輸入模塊流程圖程序輸入模塊*/*輸入模塊*/int en ter()FILE *fp;EQ n ewequ;int i,j;int c;printf( "* prin tf(&q

5、uot;Add new equime ntn");printf( "* prin tf("How many equime nts do you want to add?n");scan f("%d",&i);/*輸入要輸入的設備個數 */for(j=0;j<i;j+)printf("n");prin tf("I nput equipcoden");sca nf("%s", newequ.equipCode);prin tf("I nput equipt

6、ypen"); sca nf("%s", newequ.equipType);prin tf("I nput equip name' n");sca nf("%s", newequ.equipName);prin tf("I nput equipPricen");sca nf("%f",&n ewequ.equipPrice); printf("Input buyYear'n");sca nf("%d",&n ew

7、equ.buyYear); printf("Input buyMonthn");sea nf("%d",&n ewequ.buyMo nth);printf("Input buyDayn");sca nf("%d",&n ewequ.buyDay);prin tf("I nput scrapn");sca nf("%d",&n ewequ.scrap);prin tf("I nput scrapYear n");sca nf(&qu

8、ot;%d",&n ewequ.scrapYear);prin tf("I nput scrapMo nthn");sca nf("%d",&n ewequ.scrapMo nth);prin tf("I nput scrapDayn");sca nf("%d",&n ewequ.scrapDay);if(fp=fope n("test.txt","w")=NULL)/*打開文件,輸入保存 */printf("Can not ope

9、n file!n");3fprin tf(fp,"%s %s %s %f %d %d %d %d %d %d %d" ,n ewequ.equipCode, newequ.equipType,n ewequ.equipName ,n ewequ.equipPrice ,n ewequ.buyYear, newequ.buy Month,n ewequ.buyDa y,n ewequ.scrap ,n ewequ.scrapYear, newequ.scrapM onth,n ewequ.scrapDay);fclose(fp);printf("nn&qu

10、ot;);printf("Return to main menu? n"); printf("1.YES n");printf("2.NO,l want to quit nown");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);/*任務結束選擇是返回主菜單還是跳出*/(2)追加模塊流程圖程序追加模塊 *追加模塊*/*int en ter()/*FILE *fp;EQ n ewequ;int i,j;int c;printf( "* prin

11、 tf("Add new equime ntn");printf( "* prin tf("How many equime nts do you want to add?n");sea nf("%d",&i);/*輸入要追加的設備個數 */for(j=0;j<i;j+) printf("n");prin tf("I nput equipeoden");sea nf("%s", newequ.equipCode); prin tf("I npu

12、t equiptypen");sea nf("%s", newequ.equipType); prin tf("I nput equip name' n");sea nf("%s", newequ.equipName);prin tf("I nput equipPrieen");sea nf("%f",&n ewequ.equipPriee); printf("Input buyYear'n");sea nf("%d",&

13、amp;n ewequ.buyYear); printf("Input buyMonthn");sea nf("%d",&n ewequ.buyMo nth); printf("Input buyDayn");sea nf("%d",&n ewequ.buyDay);prin tf("I nput serapn");sea nf("%d",&n ewequ.serap);prin tf("I nput serapYear n");s

14、ea nf("%d",&n ewequ.serapYear); prin tf("I nput serapMo nthn");sea nf("%d",&n ewequ.serapMo nth); prin tf("I nput serapDayn");sea nf("%d",&n ewequ.serapDay);if(fp=fope n( "test.txt","w")=NULL)/*打開文件,輸入保存*/printf("

15、Can not open file!n");fprintf(fp,"%s %s %s %f %d %d %d %d %d %d %d",newequ.equipCode,newequ.equipType,n ewequ.equipName ,n ewequ.equipPrice ,n ewequ.buyYear, newequ.buy Month,n ewequ.buyDay,n ewequ.scrap ,n ewequ.scrapYear, newequ.scrapM onth,n ewequ.scrapDay);fclose(fp);printf("

16、nn");printf("Return to main menu? n"); prin tf("1.YES n");printf("2.NO,l want to quit nown"); sca nf("%d",&c);5任務結束選擇是返回主菜單還是跳出*/if(c=1)return(-1);if(c=2)return(0);/*(3)修改模塊需求分析此模塊可以根據客戶需要對以記錄在文件中的信息進行修改流程圖程序int modifty() /*修改模塊*/彳修改模塊 *EQ equ50; char

17、 code10; int i,j,c;FILE *fp;prin tf("*n") prin tf("Modifty for the equime ntn ”);prin tf("*n") prin tf("Please in put the equipcode for modifty ingn “);sca nf("%s",code);/*輸入要修改的設備編號*/printf("-n ”);if(fp=fope n("test.txt","r")=NULL)pri

18、ntf("nCan not open test!n");for(i=0;!feof(fp);i+) fscan f(fp,"%s %s %s %f %d %d %d %d %d %d %d",equi.equipCode,equi.equipType, equi.equipName, &equi.equipPrice,& equi.buyYear, &equi.buy Mon th, &equi.bu yDay,& equi.scrap,& equi.scrapYear, &equi.scrapM

19、onth,& equi.scrapDay);if(strcmp(equi.equipCode,code)=0) printf("n");prin tf("I nput new equipcoden"); sca nf("%s",equi.equipCode);prin tf("I nput new equiptypen"); sca nf("%s",equi.equipType);prin tf("I nput new equip name' n"); sca

20、 nf("%s",equi.equipName);prin tf("I nput equipPricen"); sca nf("%f", &equi.equipPrice);prin tf("I nput new buyYear n"); sca nf("%d", &equi.buyYear); printf("Input new buyMonthn"); sca nf("%d", &equi.buyMo nth); prin tf

21、("I nput new buyDayn"); sca nf("%d", &equi.buyDay);prin tf("I nput new scrapn");sea nf("%d", &equi.scrap);prin tf("I nput new scrapYear n"); sea nf("%d", &equi.scrapYear);prin tf("I nput new scrapM onthn ”); sea nf("%d

22、", &equi.scrapMo nth);prin tf("I nput new scrapDayn");sca nf("%d", &equi.scrapDay);/*將修改后的信息寫如文件中*/fclose(fp);j=i;if(fp=fope n("test.txt","w")=NULL)prin tf("nCan not ope n test!n");7for(i=0;i<j;i+)prin tf("nwrite!n");fprin t

23、f(fp,"%s %s %s %f %d %d %d %d %d %d %d",equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.buyYear,equi.buy Mon th,equi.buyDay,equi.scrap,equi.scrapYear,equi.scrapM on th,equi.scrapDay);fclose(fp);printf("nn");prin tf("Return to main menu? n");prin tf(&qu

24、ot;1.YES n");printf("2.NO,l want to quit nown");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);(4)統計模塊需求分析將已經輸入的設備信息進行統計,并顯示設備總數、價格總額等信息流程圖程序int total()int c;float sum=0;int coun t=0;float aver=0;char type20;EQ equ;int i;FILE *fp;if(fp=fope n("test.txt",&qu

25、ot;r")=NULL) prin tf("nWro ngn");8prin tf("please in put equipType: n");sca nf("%s",type);for(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipType,equ.equipName,&equ.equi pPrice,&equ.buyYear,&equ.buy Mon t

26、h,&equ.buyDay,&equ.scrap,&equ.scrapYe ar,&equ.scrapMo nth,&equ.scrapDay);prin tf("nOK!n");prin tf("%s,%s,%s,%f,%d,%d,% d,%d,%d,%d,%dn",equ.equipCode,equ.equipType,equ.equipName,equ.equipP rice,equ.buyYear,equ.buy Mon th,equ.buyDay,equ.scrap,equ.scrapYear,equ.

27、scrapM on th,equ.scrapDay);if(strcmp(equ.equipType,type)=0)coun t+; sum+=equ.equipPrice; aver=sum/co unt;fclose(fp);printf(”Statist-Result");prin tf("nn the nu mber of this type is:%d",co un t);prin tf("nn the total sum of price is:%f",sum);prin tf("nn the aver of total

28、 price is:%f",aver);printf("nPress any key to exit");getch();printf("nn");prin tf("Return to ma in menu? n");prin tf("1.YES n");printf("2.NO,l want to quit nown");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);(5)搜索模塊9需求分析該模塊的功

29、能是查找用戶需要的對應記錄, 可以分別根據設備編號、設備種類、設備名稱、 設備購入日期、正常設備(未報廢的)等多種方式查詢。流程圖程序/*int search()/*char code10;搜索模塊搜索模塊*/*/y詢問用戶想要選擇的搜索方式1r*F設備編號設備種類設備名稱設備購入日期是否報廢1r11!1ry1Fn顯示找到的文件提示沒有找到讓用戶選擇1)返回主菜單 2)跳 出系統char n ame20;float price;int choice;int c;FILE *fp;EQ equ;int i;fp=fope n( "test.txt","r"

30、);if(fp=NULL)exit(0);prin tf("please choose the way of search:' nn ”);prin tf("1.search by equipCodenn");prin tf("2.search by equipName nn ”);prin tf("3.search by equipPricenn");prin tf("0.returnnn");prin tf("please in put nu mber 0-5:");sca nf(&

31、quot;%d",&choice);10if(choice=0)exit(0);switch(choice)case 0:exit(0);break;case 1:prin tf("please in put equipCode:n");scan f("%s",code);for(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipT ype,equ.equipName,&equ.equip

32、Price,&equ.buyYear,&equ.buy Mon th,&equ.buy Day,&equ.scrap,&equ.scrapYear,&equ.scrapM on th,&equ.scrapDay);if(strcmp(equ.equipCode,code)=0)prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,b uyDay,scrap,scrapYear,scrapM on th,ScrapDayn");prin

33、 tf("n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%dn",equ.equipCode,equ.equip Type,equ.equipName,equ.equipPrice,equ.buyYear,equ.buyMo nth,equ.buyDay ,equ.scrap,equ.scrapYear,equ.scrapM on th,equ.scrapDay);getch();break;case 2:prin tf("please in put equipName:n");scan f("%s", name);f

34、or(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipT ype,equ.equipName,&equ.equipPrice,&equ.buyYear,&equ.buy Mon th,&equ.buy Day,&equ.scrap,&equ.scrapYear,&equ.scrapM on th,&equ.scrapDay);if(strcmp(equ.equipName,code)=0)

35、prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,b uyDay,scrap,scrapYear,scrapM on th,ScrapDayn");11prin tf("n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%dn",equ.equipCode,equ.equip Type,equ.equipName,equ.equipPrice,equ.buyYear,equ.buyMo nth,equ.buyDay ,equ.scrap,equ.scra

36、pYear,equ.scrapM on th,equ.scrapDay);getch();break;case 3:prin tf("please in put equipPrice:n");scan f("%d",&price);for(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipT ype,equ.equipName,&equ.equipPrice,&equ.buyYear,&am

37、p;equ.buy Mon th,&equ.buy Day,&equ.scrap,&equ.scrapYear,&equ.scrapM on th,&equ.scrapDay);if(equ.equipPrice=price)prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,b uyDay,scrap,scrapYear,scrapM on th,ScrapDayn");prin tf("n%s,%s,%s,%f,%d,%d,%d,%d

38、,%d,%d,%dn",equ.equipCode,equ.equip Type,equ.equipName,equ.equipPrice,equ.buyYear,equ.buyMo nth,equ.buyDay ,equ.scrap,equ.scrapYear,equ.scrapM on th,equ.scrapDay);getch();break;fclose(fp);printf("nn");prin tf("Return to ma in menu? n");prin tf("1.YES n");printf(&qu

39、ot;2.NO,l want to quit nown");sca nf("%d",&c);if(c=1)return(-1);if(c=2)return(0);五. 完整程序#in clude<stdio.h>12#in clude<stdlib.h>#in clude<stri ng.h>typedef struct epuipme ntl nfo char equipCode10;char equipType20;char equipName20;float equipPrice;int buyYear;int b

40、uyMo nth;int buyDay;int scrap;int scrapYear;int scrapM onth;int scrapDay;EQ;int en ter()FILE *fp;EQ n ewequ;int i,j;int c;prin tf("*n")prin tf("Add new equime ntn");prin tf("*n")prin tf("How many equime nts do you want to add?n");scan f("%d",&i);

41、for(j=0;j<i;j+)printf(”-n ”);prin tf("I nput equipcoden");sca nf("%s", newequ.equipCode); prin tf("I nput equiptypen");sca nf("%s", newequ.equipType); prin tf("I nput equip name' n");sca nf("%s", newequ.equipName);prin tf("I npu

42、t equipPrice' n");buyYear' n");sca nf("%f", &n ewequ.equipPrice); prin tf("I nput13scan f("%d",&n ewequ.buyYear);printf("Input buyMonth'n");scan f("%d",&n ewequ.buyMo nth);prin tf("I nput buyDay'n");scan f(&

43、quot;%d",&n ewequ.buyDay);prin tf("I nput scrap' n");sca nf("%d",&n ewequ.scrap);prin tf("I nput scrapYear' n");sca nf("%d",&n ewequ.scrapYear);prin tf("I nput scrapMo nth'n");scan f("%d",&n ewequ.scrapMo nt

44、h);prin tf("I nput scrapDay' n");sca nf("%d",&n ewequ.scrapDay);if(fp=fope n("test.txt","w")=NULL)printf("Can not open file!'n");fprin tf(fp,"%s %s %s %f %d %d %d %d %d %d %d", newequ.equipCode, newequ.equip Type ,n ewequ.equipN

45、ame ,n ewequ.equipPrice ,n ewequ.buyYear, newequ.buy Month,n ewe qu.buyDay ,n ewequ.scrap ,n ewequ.scrapYear, newequ.scrapM on th, newequ.scrapDay);fclose(fp);printf("'n'n");printf("Return to main menu? 'n");printf("1.YES 'n");printf("2.N0,l want to

46、 quit nown”); scan f("%d",&c);if(c=1)return(-1); if(c=2)return(0);int modifty()EQ equ50; char code10; int i;j;int14int c;FILE *fp;printf(* n");prin tf("Modifty for the equime ntn ”);printf(* n");prin tf("Please in put the equipcode for modifty ingn “);scan f("%

47、s",code);printf("n");if(fp=fope n("test.txt","r")=NULL)prin tf("nCannotope ntest!n");for(i=0;!feof(fp);i+)fscanf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equi.equipCode,equi.equipT ype,equi.equipName, &equi.equipPrice,& equi.buyYear, &e

48、qui.buy Mon th, &e qui.buyDay,& equi.scrap,& equi.scrapYear, &equi.scrapM onth,& equi.scr apDay);if(strcmp(equi.equipCode,code)=0) printf("n");prin tf("I nput new equipcoden");sca nf("%s",equi.equipCode);prin tf("l nput new equiptypen");sea

49、 nf("%s",equi.equipType);prin tf("I nput new equip name' n");sca nf("%s",equi.equipName);prin tf("l nput equipPriee' n");scan f("%f', &equi.equipPrice);prin tf("l nput new buyYear' n");scan f("%d", &equi.buyYear

50、);prin tf("l nput new buyMo nthn");scan f("%d", &equi.buyMo nth);prin tf("l nput new buyDayn");scan f("%d", &equi.buyDay);prin tf("l nput new scrap' n");scan f("%d", &equi.scrap);prin tf("l nput new scrapYear' n&quo

51、t;);scan f("%d", &equi.scrapYear);15prin tf("l nput new scrapM onthn ”);scan f("%d", &equi.scrapMo nth);prin tf("l nput new scrapDayn");scan f("%d", &equi.scrapDay);fclose(fp);j=i;if(fp=fope n("test.txt","w")=NULL)ope nprin

52、 tf("nCa nnottest!n");for(i=0;i<j;i+)prin tf("nwrite!n");fprin tf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equi.equipCode,equi.equip Type,equi.equipName,equi.equipPrice,equi.buyYear,equi.buy Mon th,equ i.buyDay,equi.scrap,equi.scrapYear,equi.scrapM on th,equi.scrapDay);

53、fclose(fp);printf("nn");printf("Return to main menu? n");printf("1.YES n”);printf("2.N0,l want to quit nown”); scan f("%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;EQ equ;int i;fp=fo

54、pe n("test.txt","r"); if(fp=NULL)exit(O);16 prin tf("please choose the way of search:nn ”);prin tf("1.search by equipCodenn ”);prin tf("2.search by equipName nn ”);prin tf("3.search by equipPricenn");prin tf("0.returnnn");prin tf("please in

55、 put nu mber 0-5:");scan f("%d",&choice);if(choice=0)exit(0);switch(choice)case 0:exit(0);break;case 1:prin tf("please in put equipCode:n");scan f("%s",code);for(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipTyp

56、e,equ.equipName, &equ.equipPrice,& equ.buyYear, &equ.buy Mon th, &equ.buyDay,& equ.scr ap,& equ.scrapYear, &equ.scrapM on th, &equ.scrapDay);if(strcmp(equ.equipCode,code)=0)prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,buyDay, scrap,scrapY

57、ear,scrapM on th,ScrapDayn");prin tf("n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%dn",equ.equipCode,equ.equipType,e qu.equipName,equ.equipPrice,equ.buyYear,equ.buy Mon th,equ.buyDay,equ.scrap,e qu.scrapYear,equ.scrapM on th,equ.scrapDay);getch();break;case 2:prin tf("please in put equipName:

58、n");sca nf("%s", name);for(i=0;!feof(fp);i+)17fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipType,eq u.equipName, &equ.equipPrice,& equ.buyYear, &equ.buy Mon th, &equ.buyDay,& equ.scr ap,& equ.scrapYear, &equ.scrapM on th, &a

59、mp;equ.scrapDay);if(strcmp(equ.equipName,code)=0)prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,buyDay, scrap,scrapYear,scrapM on th,ScrapDayn");prin tf("n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%dn",equ.equipCode,equ.equipType,e qu.equipName,equ.equipPrice,equ.buyYe

60、ar,equ.buy Mon th,equ.buyDay,equ.scrap,e qu.scrapYear,equ.scrapM on th,equ.scrapDay);getch();break;case 3:prin tf("please in put equipPrice:n");scan f("%d",&price);for(i=0;!feof(fp);i+)fsca nf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ.equipCode,equ.equipType,eq u.eq

61、uipName, &equ.equipPrice,& equ.buyYear, &equ.buy Mon th, &equ.buyDay,& equ.scr ap,& equ.scrapYear, &equ.scrapM on th, &equ.scrapDay);if(equ.equipPrice=price)prin tf("nequipCode,equipType,equipName,equipPrice,buyYear,buy Mon th,buyDay, scrap,scrapYear,scrapM on th

62、,ScrapDayn");prin tf("n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%dn",equ.equipCode,equ.equipType,e qu.equipName,equ.equipPrice,equ.buyYear,equ.buy Mon th,equ.buyDay,equ.scrap,e qu.scrapYear,equ.scrapM on th,equ.scrapDay);getch();break;fclose(fp);printf("nn");18printf("Return to main menu? n");prin tf("1.YES n");printf("2.NO,l want to quit nown”);scan f("%d",&c);if(c=1)return(-1);if(c=2)return(0);int total()int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論