C語言實現實驗設備管理系統
更新時間:2022年06月02日 08:37:52 作者:普通學長
這篇文章主要為大家詳細介紹了C語言實現實驗設備管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C語言實現實驗設備管理系統的具體代碼,供大家參考,具體內容如下
一、任務概述
實驗設備信息包括:設備編號,設備種類(如:微機、打印機、掃描儀等等),設 備名稱,設備價格,設備購入日期,是否報廢,報廢日期等。
二、模塊劃分
功能1:打開一個設備信息文件,并讀取
功能2:添加新的設備內容并保存
功能3: 統計設備數量
功能4:查找符合條件的設備及其數量并將其顯示出來
功能5:對設備信息按條件進行分類排序
功能6:修改設備信息
功能7:刪除某條設備記錄
功能8:顯示內容
三、功能展示



四、思維導圖

五、程序源碼
#include "stdio.h"
#include "stdlib.h"
#define COUNT 30
void start(); ?//函數聲明
void input();
void change();
void sort();
void dele();
void output();
void search();
struct ?deviceInfor{
?? ?char devno[30];
? ? int devsort; ? ?//1 代表微機 ?2代表打印機 ?3代表掃描機
?? ?char devname[30];
?? ?int devprice;
?? ?char devbuydate[30];
?? ?int devstate;
?? ?char devdonedate[30];
}dev[COUNT];
int count=0;
?main() ? //主函數
{
? ? while(1)
?? ?start();?
?
}
void start() ?//啟動菜單
{
?int chi;
? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ?實驗設備管理系統\n");
? printf(" ? ? ? ? ? ?|-----------------------------------------------|\n");
?printf(" ? ? ? ? ? ?| ?******************************************** |\n");
?printf(" ? ? ? ? ? ?| ?1.設備信息的錄入: ? ? ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?2.設備信息的修改: ? ? ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?3.設備信息的分類統計: ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?4.刪除某個設備: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?5.查找某個設備: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?6.退出系統: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|\n");
?printf(" ? ? ? ? ? ?| ?******************************************** |\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() //數據錄入
{
? ?
? ?char flag[20];
? ?do{
? ?printf("請輸入你的設備信息:\n");
? ?printf("設備編號:");
? ?scanf("%s",dev[count].devno);
? ?printf("設備種類(1 代表微機 ?2代表打印機 ?3代表掃描機):");
? ?scanf("%d",&dev[count].devsort);
? ?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("設備報廢日期:");
? ?scanf("%s",dev[count].devdonedate);
? ??
? ?count++;
? ?printf("是否繼續(xù)輸入數據 y是 ?n否 : ");
? ?scanf("%s",flag);
? ?}while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);
? ?output();
}
void change() ?//數據修改
{
? ? ?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 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].devdonedate);}
?}
}?
?}
output();
}
void sort() ?//數據分類顯示
{?
?? ?int i,chi,sum=0,wei=0,da=0,sao=0;
? printf("輸入你想要統計的信息: 1(報廢的機器總數) 2(機器的總類數目)");
? scanf("%d",&chi);
? if(chi==1) {
?? ? ?for(i=0;i<count;i++) {
?? ? ? ?if(dev[i].devstate==0) sum++;
?? ? ?}
? ? printf("報廢的機器數目為 %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("微機數目為 %d ?打印機數目為 %d 掃描機數目為 %d",wei,da,sao);
? }else { printf("你輸入的選項不符合要求!\n");}
}
void dele() ?//數據刪除
{
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() ?//數據輸出
{
? ?int i;
?? ?for(i=0;i<count;i++)
?? ?{
?? ? printf("%s %d %s %d %s %d %s\n",dev[i].devno,dev[i].devsort,dev[i].devname,dev[i].devprice,dev[i].devbuydate,dev[i].devstate,dev[i].devdonedate);
?? ?
?? ?}
}
void search() ?//數據查找
{
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 %d %s %d %s\n",dev[i].devno,dev[i].devsort,dev[i].devname,dev[i].devprice,dev[i].devbuydate,dev[i].devstate,dev[i].devdonedate);
}以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:

