文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言如何实现设备管理系统

2023-06-30 18:18

关注

这篇文章主要介绍“C语言如何实现设备管理系统”,在日常操作中,相信很多人在C语言如何实现设备管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现设备管理系统”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、任务概述

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

二、设计目的

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

三、功能展示

C语言如何实现设备管理系统

C语言如何实现设备管理系统

C语言如何实现设备管理系统

C语言如何实现设备管理系统

四、思维导图

C语言如何实现设备管理系统

五、程序源码

#include "stdio.h"#include "stdlib.h"#include "string.h"#define COUNT 30void 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);}

到此,关于“C语言如何实现设备管理系统”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯