C語言實現(xiàn)實驗設(shè)備管理系統(tǒng)
本文實例為大家分享了C語言實現(xiàn)實驗設(shè)備管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一、任務(wù)概述
實驗設(shè)備信息包括:設(shè)備編號,設(shè)備種類(如:微機、打印機、掃描儀等等),設(shè) 備名稱,設(shè)備價格,設(shè)備購入日期,是否報廢,報廢日期等。
二、模塊劃分
功能1:打開一個設(shè)備信息文件,并讀取
功能2:添加新的設(shè)備內(nèi)容并保存
功能3: 統(tǒng)計設(shè)備數(shù)量
功能4:查找符合條件的設(shè)備及其數(shù)量并將其顯示出來
功能5:對設(shè)備信息按條件進行分類排序
功能6:修改設(shè)備信息
功能7:刪除某條設(shè)備記錄
功能8:顯示內(nèi)容
三、功能展示



四、思維導(dǎo)圖

五、程序源碼
#include "stdio.h"
#include "stdlib.h"
#define COUNT 30
void start(); ?//函數(shù)聲明
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() ? //主函數(shù)
{
? ? while(1)
?? ?start();?
?
}
void start() ?//啟動菜單
{
?int chi;
? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ?實驗設(shè)備管理系統(tǒng)\n");
? printf(" ? ? ? ? ? ?|-----------------------------------------------|\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(" ? ? ? ? ? ?|-----------------------------------------------|\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("你已經(jīng)退出設(shè)備管理系統(tǒng)!\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("設(shè)備種類(1 代表微機 ?2代表打印機 ?3代表掃描機):");
? ?scanf("%d",&dev[count].devsort);
? ?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è)備報廢日期:");
? ?scanf("%s",dev[count].devdonedate);
? ??
? ?count++;
? ?printf("是否繼續(xù)輸入數(shù)據(jù) y是 ?n否 : ");
? ?scanf("%s",flag);
? ?}while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);
? ?output();
}
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 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() ?//數(shù)據(jù)分類顯示
{?
?? ?int i,chi,sum=0,wei=0,da=0,sao=0;
? printf("輸入你想要統(tǒng)計的信息: 1(報廢的機器總數(shù)) 2(機器的總類數(shù)目)");
? 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("微機數(shù)目為 %d ?打印機數(shù)目為 %d 掃描機數(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 %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() ?//數(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 %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);
}以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CreateCompatibleDC()函數(shù)案例詳解
這篇文章主要介紹了CreateCompatibleDC()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
C語言入門篇--四大常量(字面,const修飾,宏,枚舉)及標識符
本篇文章是c語言基礎(chǔ)篇,主要講述一下常量,常量即不可被直接修改的量(const修飾的常變量可間接修改,后續(xù)文章會繼續(xù)說明)請大家持續(xù)關(guān)注腳本之家2021-08-08
詳解Dev C++使用教程(使用Dev C++編寫C語言程序)
這篇文章主要介紹了詳解Dev C++使用教程(使用Dev C++編寫C語言程序),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2021-03-03

