亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言實現(xiàn)設備管理系統(tǒng)

 更新時間:2022年06月02日 17:32:13   作者:普通學長  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)設備管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)設備管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、任務概述

設備管理系統(tǒng)應包含各種設備的全部信息,每臺設備為一條記錄(同一時間統(tǒng)一部門購買的若干相同設備可作為1條記錄),包括設備號,設備名稱,領用人,所屬部門,數(shù)量,購買時間,價格等。能夠顯示和統(tǒng)計各種設備的信息。

二、設計目的

建立一個文件,包含一個部門10太設備的信息,能對文件進行補充,修訂,刪除,能統(tǒng)計所有設備的總價值

三、功能展示

四、思維導圖

五、程序源碼

#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{ ? //定義結構體?

?? ?char devno[30]; ? ? ? ? ? ? //編號?
? ? int devsort; ? ? ? ? ? ? ? ?//所屬部門?
?? ?char devmaster[30]; ? ? ? ? // 領用人?
?? ?char devname[30]; ? ? ? ? ? //設備名字?
?? ?int devprice; ? ? ? ? ? ? ? //設備價格?
?? ?char devbuydate[30]; ? ? ? ?//購買日期?
?? ?int devstate; ? ? ? ? ? ? ? // 設備狀態(tài)?
?? ?char devdonenumber[30]; ? ? //設備數(shù)量?

}dev[COUNT]; ? ? ? ? ? ? ? ? ? ?//結構體變量?

int count=0;
FILE *fp; ? ? ? ? ? ? ? ? ? ? ?//文件指針?

main() ? //主函數(shù)
{
? ? while(1)
?? ?start();?
?
}

void start() ?//啟動菜單
{
?int chi;
?printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ?設備管理系統(tǒng)\n");
?printf(" ? ? ? ? ? ? ?********************************************\n");
?printf(" ? ? ? ? ? ? ?* ? ? ? ? ? 1.設備信息的錄入: ? ? ? ? ? ? ?*\n"); ? ? ? ? ?
?printf(" ? ? ? ? ? ? ?* ? ? ? ? ? 2.設備信息的修改: ? ? ? ? ? ? ?*\n");
?printf(" ? ? ? ? ? ? ?* ? ? ? ? ? 3.設備信息的分類統(tǒng)計: ? ? ? ? ?*\n");
?printf(" ? ? ? ? ? ? ?* ? ? ? ? ? 4.刪除某個設備: ? ? ? ? ? ? ? ?*\n");
?printf(" ? ? ? ? ? ? ?* ? ? ? ? ? 5.查找某個設備: ? ? ? ? ? ? ? ?*\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("*^_^*請輸入你的設備信息:\n");
? ?printf("設備編號:");
? ?scanf("%s",dev[count].devno);
? ?printf("所屬部門(1,A部門 ?2,B部門 ?3,C部門):");
? ?scanf("%d",&dev[count].devsort);
? ?printf("領用人;");
? ?scanf("%s",dev[count].devmaster);?
? ?printf("設備名字:");
? ?scanf("%s",dev[count].devname);
? ?printf("設備價格:");
? ?scanf("%d",&dev[count].devprice);
? ?printf("設備購買日期:");
? ?scanf("%s",dev[count].devbuydate);
? ?printf("設備狀態(tài)(1未報廢 0報廢):");
? ?scanf("%d",&dev[count].devstate);
? ?printf("設備數(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("已保存設備信息到文件中*^_^*\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ù)目) 2(設備所屬部門分類)");
? scanf("%d",&chi);
? if(chi==1) {
?? ? ?for(i=0;i<count;i++) {
?? ? ? ?if(dev[i].devstate==0) sum++;
?? ? ?}
? ? printf("報廢的設備數(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);
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C語言中使用qsort函數(shù)對自定義結構體數(shù)組進行排序

    C語言中使用qsort函數(shù)對自定義結構體數(shù)組進行排序

    這篇文章主要介紹了C語言中使用qsort函數(shù)對自定義結構體數(shù)組進行排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言實現(xiàn)隊列的示例詳解

    C語言實現(xiàn)隊列的示例詳解

    隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(head)進行刪除操作,而在表的后端(tail)進行插入操作。本文將用C語言實現(xiàn)隊列,感興趣的可以了解一下
    2022-06-06
  • C語言調(diào)用go生成的動態(tài)庫的踩坑過程解析

    C語言調(diào)用go生成的動態(tài)庫的踩坑過程解析

    這篇文章主要為大家介紹了C語言調(diào)用go生成的動態(tài)庫的踩坑過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 15種?C++?常見報錯原因分析

    15種?C++?常見報錯原因分析

    這篇文章主要介紹了15種?C++?常見報錯,本文通過實例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • 剖析C++中的常量表達式與省略號的相關作用

    剖析C++中的常量表達式與省略號的相關作用

    這篇文章主要介紹了C++中的常量表達式與省略號的相關作用,以及表達式中的可變參數(shù)模板示例,需要的朋友可以參考下
    2016-01-01
  • C/C++實現(xiàn)磁盤相關操作的示例代碼

    C/C++實現(xiàn)磁盤相關操作的示例代碼

    這篇文章主要為大家詳細介紹了C/C++如何實現(xiàn)磁盤相關操作,例如遍歷磁盤容量、實現(xiàn)磁盤格式化、移除指定磁盤等,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù))

    C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù))

    cJSON是一個超輕巧的JSON解析器,本文主要介紹了C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù)),具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • Visual?Studio?2022?安裝低版本?.Net?Framework的圖文教程

    Visual?Studio?2022?安裝低版本?.Net?Framework的圖文教程

    這篇文章主要介紹了Visual?Studio?2022?如何安裝低版本的?.Net?Framework,首先打開?Visual?Studio?Installer?可以看到vs2022?只支持安裝4.6及以上的版本,那么該如何安裝4.6以下的版本,下面將詳細介紹,需要的朋友可以參考下
    2022-09-09
  • QT網(wǎng)絡通信TCP客戶端實現(xiàn)詳解

    QT網(wǎng)絡通信TCP客戶端實現(xiàn)詳解

    這篇文章主要為大家詳細介紹了QT網(wǎng)絡通信TCP客戶端實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • OpenGL繪制貝塞爾曲線

    OpenGL繪制貝塞爾曲線

    這篇文章主要為大家詳細介紹了OpenGL繪制貝塞爾曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評論