您好,登錄后才能下訂單哦!
這篇文章主要介紹“C語言如何實現(xiàn)設(shè)備管理系統(tǒng)”,在日常操作中,相信很多人在C語言如何實現(xiàn)設(shè)備管理系統(tǒng)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言如何實現(xiàn)設(shè)備管理系統(tǒng)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
設(shè)備管理系統(tǒng)應(yīng)包含各種設(shè)備的全部信息,每臺設(shè)備為一條記錄(同一時間統(tǒng)一部門購買的若干相同設(shè)備可作為1條記錄),包括設(shè)備號,設(shè)備名稱,領(lǐng)用人,所屬部門,數(shù)量,購買時間,價格等。能夠顯示和統(tǒng)計各種設(shè)備的信息。
建立一個文件,包含一個部門10太設(shè)備的信息,能對文件進行補充,修訂,刪除,能統(tǒng)計所有設(shè)備的總價值
#include "stdio.h" #include "stdlib.h" #include "string.h" #define COUNT 30 void start(); //函數(shù)聲明 void input(); void save(); void change(); void sort(); void dele(); void output(); void search(); struct information{ //定義結(jié)構(gòu)體 char devno[30]; //編號 int devsort; //所屬部門 char devmaster[30]; // 領(lǐng)用人 char devname[30]; //設(shè)備名字 int devprice; //設(shè)備價格 char devbuydate[30]; //購買日期 int devstate; // 設(shè)備狀態(tài) char devdonenumber[30]; //設(shè)備數(shù)量 }dev[COUNT]; //結(jié)構(gòu)體變量 int count=0; FILE *fp; //文件指針 main() //主函數(shù) { while(1) start(); } void start() //啟動菜單 { int chi; printf(" 設(shè)備管理系統(tǒng)\n"); printf(" ********************************************\n"); printf(" * 1.設(shè)備信息的錄入: *\n"); printf(" * 2.設(shè)備信息的修改: *\n"); printf(" * 3.設(shè)備信息的分類統(tǒng)計: *\n"); printf(" * 4.刪除某個設(shè)備: *\n"); printf(" * 5.查找某個設(shè)備: *\n"); printf(" * 6.退出系統(tǒng): *\n"); printf(" ********************************************\n"); printf(" 》》*^_^*輸入你的選擇: "); scanf("%d",&chi); printf("\n"); if(chi==1) input(); else if(chi==2) change(); else if(chi==3) sort(); else if(chi==4) dele(); else if(chi==5) search(); else if(chi==6) { printf("謝謝使用,再見!*^_^*\n"); exit(0);} else { printf(" You Enter The Choice Is Not valid ! \n"); } } void input() //數(shù)據(jù)錄入 { char flag[20]; do{ printf("*^_^*請輸入你的設(shè)備信息:\n"); printf("設(shè)備編號:"); scanf("%s",dev[count].devno); printf("所屬部門(1,A部門 2,B部門 3,C部門):"); scanf("%d",&dev[count].devsort); printf("領(lǐng)用人;"); scanf("%s",dev[count].devmaster); printf("設(shè)備名字:"); scanf("%s",dev[count].devname); printf("設(shè)備價格:"); scanf("%d",&dev[count].devprice); printf("設(shè)備購買日期:"); scanf("%s",dev[count].devbuydate); printf("設(shè)備狀態(tài)(1未報廢 0報廢):"); scanf("%d",&dev[count].devstate); printf("設(shè)備數(shù)量:"); scanf("%s",dev[count].devdonenumber); count++; printf("是否繼續(xù)輸入數(shù)據(jù) y是 n否 : "); scanf("%s",flag); }while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0); output(); save(); } void save() //數(shù)據(jù)保存 { int i; FILE *fp; if((fp=fopen("shebei.txt","wb"))==NULL) { printf("cannot open file\n"); return; } for(i=0;i<2;i++) if(fwrite(&dev[i],sizeof(struct information),1,fp)!=1) printf("file write error\n"); fclose(fp); printf("已保存設(shè)備信息到文件中*^_^*\n"); } void change() //數(shù)據(jù)修改 { char ch[20],a[20]; int i; printf("\nyou sure want change devInfor y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nenter you want change devName:"); scanf("%s",a); for(i=0;i<count;i++) { if(strcmp(dev[i].devname,a)==0) { printf("\nyou sure want change dev name(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nname:"); scanf("%s",dev[i].devname);} printf("\nyou sure want change dev master(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nmaster:"); scanf("%s",dev[i].devmaster);} printf("\nyou sure want change dev no(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nno"); scanf("%s",dev[i].devno);} printf("\nyou sure want change dev sort(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nsort"); scanf("%d",&dev[i].devsort);} printf("\nyou sure want dev price(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nprice"); scanf("%d",&dev[i].devprice);} printf("\nyou sure want dev done date(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\ndone date"); scanf("%s",dev[i].devdonenumber);} } } save(); } output(); } void sort() //數(shù)據(jù)分類顯示 { int i,chi,sum=0,wei=0,da=0,sao=0; printf("輸入你想要統(tǒng)計的信息: 1(報廢的設(shè)備數(shù)目) 2(設(shè)備所屬部門分類)"); scanf("%d",&chi); if(chi==1) { for(i=0;i<count;i++) { if(dev[i].devstate==0) sum++; } printf("報廢的設(shè)備數(shù)目為 %d \n",sum); } else if(chi==2){ for(i=0;i<count;i++) { if(dev[i].devsort==1) wei++; else if(dev[i].devsort==2) da++; else if(dev[i].devsort==3) sao++; } printf("A部門數(shù)量為 %d B部門數(shù)量為 %d C部門數(shù)量和為 %d",wei,da,sao); }else { printf("你輸入的選項不符合要求!\n");} } void dele() //數(shù)據(jù)刪除 { int i,j; char c[20]; printf("\nenter you want delete name :\n"); printf("name:"); scanf("%s",c); for(i=0;i<count;i++) if(strcmp(c,dev[i].devname)==0) break; for(j=i;j<count-1;j++) dev[j]=dev[j+1]; printf("\t\t\tyou had delete %s\n",c); count--; output(); } void output() //數(shù)據(jù)輸出 { int i; for(i=0;i<count;i++) { printf("%s %d %s %s %d %s %d %s\n",dev[i].devno,dev[i].devsort,dev[i].devmaster,dev[i].devname,dev[i].devprice,dev[i].devbuydate,dev[i].devstate,dev[i].devdonenumber); } } void search() //數(shù)據(jù)查找 { int i; char a[20],ch[10]; printf("\nenter you want look name:"); scanf("%s",a); for(i=0;i<count;i++) if(strcmp(dev[i].devname,a)==0) printf("%s %d %s %s %d %s %d %s\n",dev[i].devno,dev[i].devsort,dev[i].devmaster,dev[i].devname,dev[i].devprice,dev[i].devbuydate,dev[i].devstate,dev[i].devdonenumber); }
到此,關(guān)于“C語言如何實現(xiàn)設(shè)備管理系統(tǒng)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。