c語言課程實(shí)踐實(shí)驗(yàn)設(shè)備管理系統(tǒng)(共10頁)_第1頁
c語言課程實(shí)踐實(shí)驗(yàn)設(shè)備管理系統(tǒng)(共10頁)_第2頁
c語言課程實(shí)踐實(shí)驗(yàn)設(shè)備管理系統(tǒng)(共10頁)_第3頁
c語言課程實(shí)踐實(shí)驗(yàn)設(shè)備管理系統(tǒng)(共10頁)_第4頁
c語言課程實(shí)踐實(shí)驗(yàn)設(shè)備管理系統(tǒng)(共10頁)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上中國(guó)地質(zhì)大學(xué)(武漢)機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè)陳乾#include<stdio.h>#include<string.h>#define AMOUNT 50typedef struct int year;int month;int day;DATE;struct EQUint num; /*本程序默認(rèn)設(shè)備編號(hào)各不相同且不為0*/char type20;char name20;int price;DATE buy_time;int scrap; /*0表示報(bào)廢1表示不報(bào)廢*/DATE scr_time;equAMOUNT; /*公共函數(shù) 保存與加載

2、函數(shù)*/void save()FILE *fp;int i;if(fp=fopen("record","wb")=NULL)printf("cannot open filen");for(i=0;i<AMOUNT;i+)if(fwrite(&equi,sizeof(struct EQU),1,fp)!=1)printf("file write errorn");fclose(fp);void load()FILE *fp;int i;if(fp=fopen("record",&qu

3、ot;rb")=NULL)printf("cannot open filen");for(i=0;i<AMOUNT;i+)if(fread(&equi,sizeof(struct EQU),1,fp)!=1)if(feof(fp)fclose(fp);printf("file read errorn");fclose(fp);/*錄入模塊*/void add()int flag;struct EQU *p;load(); /*程序缺陷 如果record文件中存儲(chǔ)數(shù)據(jù)不足 將重復(fù)輸出多個(gè)file read error 原因在于for

4、語句對(duì)其進(jìn)行循環(huán)AMOUNT次循環(huán) 如不寫本行記錄將被覆蓋*/p=equ;doif(p->num!=0)p+;printf("請(qǐng)輸入設(shè)備編號(hào)n");scanf("%d",&p->num);printf("請(qǐng)輸入設(shè)備種類n");scanf("%s",p->type);printf("請(qǐng)輸入設(shè)備名稱n");scanf("%s",p->name); printf("請(qǐng)輸入設(shè)備價(jià)格n");scanf("%d",&

5、amp;p->price);printf("請(qǐng)輸入設(shè)備購(gòu)買日期 年 月 日以空格隔開n");scanf("%d%d%d",&p->buy_time.year,&p->buy_time.month,&p->buy_time.day);p->scrap=1;p->scr_time.year=0;p->scr_time.month=0;p->scr_time.day=0;printf("n以下記錄錄入成功n"); printf("編號(hào):%d 設(shè)備種類:%s 設(shè)

6、備名稱:%sn價(jià)格:%d 購(gòu)買日期:%d %d %dn是否報(bào)廢:%d 報(bào)廢日期:%d %d %d n",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.day); printf("繼續(xù)錄入請(qǐng)按1,退出請(qǐng)按2n");scanf("%d",&flag

7、);while(flag=1);save();/*修改模塊*/void change()int flag,n,i=0;struct EQU *p;p=equ;load();printf("請(qǐng)輸入要更改的設(shè)備編號(hào)n");scanf("%d",&flag);for(i=0,p=equ;i<AMOUNT;i+,p+)if(p->num=flag)do printf("請(qǐng)輸入要更改的信息:n1設(shè)備編號(hào)n2設(shè)備種類n3設(shè)備名稱n4設(shè)備價(jià)格n5購(gòu)買日期n6是否報(bào)廢n7退出n"); scanf("%d",&a

8、mp;n); switch(n) case 1: printf("請(qǐng)輸入新的設(shè)備編號(hào)n"); scanf("%d",&p->num);break; case 2: printf("請(qǐng)輸入新的設(shè)備種類n"); scanf("%s",p->type);break; case 3: printf("請(qǐng)輸入新的設(shè)備名稱n"); scanf("%s",p->name);break; case 4: printf("請(qǐng)輸入新的價(jià)格n"); s

9、canf("%d",&p->price);break; case 5: printf("請(qǐng)輸入新的設(shè)備購(gòu)買日期 年 月 日n"); scanf("%d%d%d",&p->buy_time.year,&p->buy_time.month,&p->buy_time.day);break; case 6: printf("請(qǐng)輸入是否報(bào)廢設(shè)備n"); scanf("%d",&p->scrap);printf("請(qǐng)輸入報(bào)廢日期

10、n");scanf("%d%d%d",&p->scr_time.year,&p->scr_time.month,&p->scr_time.day);break; case 7:break;while(n!=7);printf("修改后的記錄為:"); printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%sn價(jià)格:%d 購(gòu)買日期:%d %d %dn是否報(bào)廢:%d 報(bào)廢日期:%d %d %d n",p->num,p->type,p->name,p->price

11、,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.day);save();/*查詢模塊*/void search()int n,num,i,year,month,day;char s20;struct EQU *p;p=equ;load();doprintf("1.按編號(hào)查詢n");printf("2.按設(shè)備種類查詢n");printf("

12、3.按設(shè)備名稱查詢n");printf("4.按購(gòu)買日期查詢n");printf("5.查詢正常的設(shè)備n");printf("6.退出n");scanf("%d",&n);switch(n)case 1:printf("請(qǐng)輸入要查詢的設(shè)備編號(hào)n");scanf("%d",&num);for(i=0,p=equ;i<AMOUNT;i+,p+)if(p->num=num)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%sn價(jià)

13、格:%d 購(gòu)買日期:%d %d %dn是否報(bào)廢:%d 報(bào)廢日期:%d %d %d n",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.day);break;case 2:printf("請(qǐng)輸入要查詢的設(shè)備種類n");scanf("%s",s);for(

14、i=0,p=equ;i<AMOUNT;i+,p+)if(strcmp(s,p->type)=0)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->

15、scr_time.day);break;case 3:printf("請(qǐng)輸入要查詢的設(shè)備名稱n");scanf("%s",s);for(i=0,p=equ;i<AMOUNT;i+,p+)if(strcmp(s,p->name)=0)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_t

16、ime.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.day);break;case 4:printf("請(qǐng)輸入要查詢的設(shè)備購(gòu)買日期 年 月 日n");scanf("%d%d%d",&year,&month,&day);for(i=0,p=equ;i<AMOUNT;i+,p+)if(year=p->buy_time.year&&month=p->buy_tim

17、e.month&&day=p->buy_time.day)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.day);

18、break;case 5:printf("未報(bào)廢的設(shè)備有:n");for(i=0,p=equ;i<AMOUNT;i+,p+)if(p->scrap=1)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr

19、_time.year,p->scr_time.month,p->scr_time.day);break;case 6:break;while(n!=6);/*統(tǒng)計(jì)模塊*/void statis()int flag,n,i,j,k=0;char s20;struct EQU *p;struct EQU strAMOUNT,str11;p=equ;load();printf("請(qǐng)輸入要查詢的設(shè)備種類n");scanf("%s",&s0);for(i=0,n=0,p=equ;i<AMOUNT;i+,p+)if(strcmp(s,p-&

20、gt;type)=0)strn.num=p->num;strn.price=p->price;strcpy(,p->name);strn.scrap=p->scrap;strcpy(strn.type,p->type);strn.buy_time.year=p->buy_time.year;strn.buy_time.month=p->buy_time.month;strn.buy_time.day=p->buy_time.day;strn.scr_time.day=p->scr_time.day;strn.scr_tim

21、e.month=p->scr_time.month;strn.scr_time.year=p->scr_time.year;n+;/*以上程序是將需要查詢的設(shè)備種類的所有設(shè)備信息存入數(shù)組str中*/doprintf("1.按編號(hào)排序n");printf("2.按價(jià)格排序n");printf("3.按購(gòu)買日期排序n");printf("4.退出n"); /*這段程序之后出錯(cuò)*/scanf("%d",&flag); switch(flag)case 1:for(j=0;j<

22、n-1;j+) /*起泡法排序*/for(i=0;i<n-1-j;i+)if(stri.num>stri+1.num)str10.num=stri.num; str10.buy_time.day=stri.buy_time.day; /*t=ai*/ str10.buy_time.month=stri.buy_time.month; str10.buy_time.year=stri.buy_time.year; str10.scr_time.year=stri.scr_time.year; str10.scr_time.month=stri.scr_time.month; str1

23、0.scr_time.day=stri.scr_time.day; str10.price=stri.price; str10.scrap=stri.scrap; strcpy(,); strcpy(str10.type,stri.type); stri.num=stri+1.num; stri.buy_time.day=stri+1.buy_time.day; /*ai=ai+1*/ stri.buy_time.month=stri+1.buy_time.month; stri.buy_time.year=stri+1.buy_time.year; st

24、ri.scr_time.year=stri+1.scr_time.year; stri.scr_time.month=stri+1.scr_time.month;stri.scr_time.day=stri+1.scr_time.day;stri.price=stri+1.price;stri.scrap=stri+1.scrap;strcpy(,stri+1.name);strcpy(stri.type,stri+1.type);stri+1.num=str10.num;stri+1.buy_time.day=str10.buy_time.day; /*ai+1=t*/st

25、ri+1.buy_time.month=str10.buy_time.month;stri+1.buy_time.year=str10.buy_time.year;stri+1.scr_time.year=str10.scr_time.year;stri+1.scr_time.month=str10.scr_time.month;stri+1.scr_time.day=str10.scr_time.day;stri+1.price=str10.price;stri+1.scrap=str10.scrap;strcpy(stri+1.name,);strcpy(stri+1.

26、type,str10.type);for(i=0,p=str;i<n;i+,p+)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.month,p->scr_time.d

27、ay);break;case 2:for(j=0;j<n-1;j+) /*起泡法排序*/for(i=0;i<n-1-j;i+)if(stri.price>=stri+1.price)str10.num=stri.num;str10.buy_time.day=stri.buy_time.day; /*t=ai*/str10.buy_time.month=stri.buy_time.month;str10.buy_time.year=stri.buy_time.year;str10.scr_time.year=stri.scr_time.year;str10.scr_time.m

28、onth=stri.scr_time.month;str10.scr_time.day=stri.scr_time.day;str10.price=stri.price;str10.scrap=stri.scrap;strcpy(,);strcpy(str10.type,stri.type);stri.num=stri+1.num;stri.buy_time.day=stri+1.buy_time.day; /*ai=ai+1*/stri.buy_time.month=stri+1.buy_time.month;stri.buy_time.year=str

29、i+1.buy_time.year;stri.scr_time.year=stri+1.scr_time.year;stri.scr_time.month=stri+1.scr_time.month;stri.scr_time.day=stri+1.scr_time.day;stri.price=stri+1.price;stri.scrap=stri+1.scrap;strcpy(,stri+1.name);strcpy(stri.type,stri+1.type);stri+1.num=str10.num;stri+1.buy_time.day=str10.buy_tim

30、e.day; /*ai+1=t*/stri+1.buy_time.month=str10.buy_time.month;stri+1.buy_time.year=str10.buy_time.year;stri+1.scr_time.year=str10.scr_time.year;stri+1.scr_time.month=str10.scr_time.month;stri+1.scr_time.day=str10.scr_time.day;stri+1.price=str10.price;stri+1.scrap=str10.scrap;strcpy(stri+1.name,str10.n

31、ame);strcpy(stri+1.type,str10.type);for(i=0,p=str;i<n;i+,p+)printf("編號(hào):%d 設(shè)備種類:%s 設(shè)備名稱:%s價(jià)格:%d 購(gòu)買日期:%d %d %d 是否報(bào)廢:%d 報(bào)廢日期:%d %d %dn",p->num,p->type,p->name,p->price,p->buy_time.year,p->buy_time.month,p->buy_time.day,p->scrap,p->scr_time.year,p->scr_time.mon

32、th,p->scr_time.day);break;case 3: /*由于程序過于復(fù)雜 需連續(xù)用3次起泡法 所以按購(gòu)買日期排序只對(duì)年份排序*/ for(j=0;j<n-1;j+) /*起泡法排序*/for(i=0;i<n-1-j;i+)if(stri.buy_time.year>=stri+1.buy_time.year)str10.num=stri.num;str10.buy_time.day=stri.buy_time.day; /*t=ai*/str10.buy_time.month=stri.buy_time.month;str10.buy_time.year

33、=stri.buy_time.year;str10.scr_time.year=stri.scr_time.year;str10.scr_time.month=stri.scr_time.month;str10.scr_time.day=stri.scr_time.day;str10.price=stri.price;str10.scrap=stri.scrap;strcpy(,);strcpy(str10.type,stri.type); stri.num=stri+1.num;stri.buy_time.day=stri+1.buy_time.day; /*ai=ai+1*/stri.buy_time.month=stri+1.buy_time.month;stri.buy_time.year=stri+1.buy_time.year;stri.scr_time.year=stri+1.scr_time.year;stri.scr_time.month=stri+1.scr_time.month;stri.scr_time.day=stri+1.scr_time.day;stri.price=stri+1.price;stri.scrap=stri+1.scrap;strcpy(,stri+1.na

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論