C语言实现设备管理系统

本文实例为大家分享了C语言实现设备管理系统的具体代码,供大家参考,具体内容如下

一、任务概述

设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间统一部门购买的若干相同设备可作为1条记录),包括设备号,设备名称,领用人,所属部门,数量,购买时间,价格等。能够显示和统计各种设备的信息。

二、设计目的

建立一个文件,包含一个部门10太设备的信息,能对文件进行补充,修订,删除,能统计所有设备的总价值

三、功能展示

四、思维导图

五、程序源码

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

#define COUNT 30

void start();  //函数声明
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;               // 设备状态 
    char devdonenumber[30];     //设备数量 

}dev[COUNT];                    //结构体变量 

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

main()   //主函数
{
    while(1)
    start(); 
 
}

void start()  //启动菜单
{
 int chi;
 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("     》》*^_^*输入你的选择: ");
 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,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("设备状态(1未报废 0报废):");
   scanf("%d",&dev[count].devstate);
   printf("设备数量:");
   scanf("%s",dev[count].devdonenumber);
   count++;
   printf("是否继续输入数据 y是  n否 : ");
   scanf("%s",flag);
   }while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);
   output();
   save();
}
void save()                           //数据保存      
{
    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()  //数据修改
{
     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()  //数据分类显示
{ 
    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("A部门数量为 %d  B部门数量为 %d C部门数量和为 %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 %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()  //数据查找
{
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);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言实现实验设备管理系统

    本文实例为大家分享了C语言实现实验设备管理系统的具体代码,供大家参考,具体内容如下 一.任务概述 实验设备信息包括:设备编号,设备种类(如:微机.打印机.扫描仪等等),设 备名称,设备价格,设备购入日期,是否报废,报废日期等. 二.模块划分 功能1:打开一个设备信息文件,并读取功能2:添加新的设备内容并保存功能3: 统计设备数量功能4:查找符合条件的设备及其数量并将其显示出来功能5:对设备信息按条件进行分类排序功能6:修改设备信息功能7:删除某条设备记录功能8:显示内容 三.功能展示 四.思维导

  • C语言实现设备管理系统

    本文实例为大家分享了C语言实现设备管理系统的具体代码,供大家参考,具体内容如下 一.任务概述 设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间统一部门购买的若干相同设备可作为1条记录),包括设备号,设备名称,领用人,所属部门,数量,购买时间,价格等.能够显示和统计各种设备的信息. 二.设计目的 建立一个文件,包含一个部门10太设备的信息,能对文件进行补充,修订,删除,能统计所有设备的总价值 三.功能展示 四.思维导图 五.程序源码 #include "stdio.h"

  • C语言学生成绩管理系统小设计

    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • C语言实现图书管理系统

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

  • C语言实现病例管理系统

    本文实例为大家分享了C语言实现病例管理系统的具体代码,供大家参考,具体内容如下 通过十字交叉链表实现一个病例管理系统,可以查找.删除.更新信息. #include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct hospital_info{ char dise_num[10]; /*病历编号*/ char ke[10]; /*门诊科别*/ char date[11]; /

随机推荐