一、任务概述

实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设 备名称,设备价格,设备购入日期,是否报废,报废日期等。

二、模块划分

功能1:打开一个设备信息文件,并读取
功能2:添加新的设备内容并保存
功能3: 统计设备数量
功能4:查找符合条件的设备及其数量并将其显示出来
功能5:对设备信息按条件进行分类排序
功能6:修改设备信息
功能7:删除某条设备记录
功能8:显示内容

三、功能展示

四、思维导图

五、程序源码

#include "stdio.h"
#include "stdlib.h"#define COUNT 30void 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("设备状态(1未报废 0报废):");scanf("%d",&dev[count].devstate);printf("设备报废日期:");scanf("%s",dev[count].devdonedate);count++;printf("是否继续输入数据 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);
}

大家可以点个关注后续会持续更新0.0(在此先谢过各位了)

C语言课设实验设备管理系统(大作业)相关推荐

  1. C语言课设销售管理系统设计(大作业)

    一.设计功能(文章仅供参考) 试设计一个便条管理系统,使之能提供以下功能: 1.系统以菜单方式工作 2.便条信息录入功能(便条信息用文件保存)--输入 3.收集到了上个月的所有便条后,读取销售情况 1 ...

  2. C语言课设物资管理系统,C语言课设之物资管理系统.doc

    C语言课设之物资管理系统 C语言课程设计 目 录 1.需求分析: 2.系统总框图: 3.每个模块的设计分析: 4.列出所有定义的函数及说明: 5.举例说明1.2个比较有特点的算法: 6.数据分析.完备 ...

  3. c语言设备管理系统实训答辩,C语言设计(力学实验设备管理系统)1答辩.doc

    <程序设计基础>课程设计 课题名称 力学实验设备管理系统设计 专 业 班 级 姓 名 学 号 指导教师 陈世基 2012年 06 月 12 日 目录 设计目的 ---------.1 总体 ...

  4. 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc

    学生信息管理系统C语言课设 目录 一.需求分析2 二.概要设计2 三.详细设计4 四.调试分析9 五.用户手册9 六.测试数据9 七.附录10 一.需求分析学生学籍管理系统用数据文件存放学生的学籍,可 ...

  5. C语言课设:影片管理系统

    在接触并学习C语言之后,往往需要做一个简单的课设系统完成对C语言的学习.当然,这可能是我们接触代码以来写过的最长的代码,不排除对新手有一定难度.由于之前笔者划水了一段时间,导致一些知识遗忘了,所以只得 ...

  6. C语言课设——酒店预订管理系统

    课设要求: 客房信息管理. 客人预订及入住信息管理. 各种查询和统计功能. 本系统要有通用性.界面美观.操作方便.要考虑系统安全. 可增加其他有用的功能. 头文件function.h #pragma ...

  7. 拼图游戏C语言课设实验报告,C语言拼图游戏实验报告.doc

    C语言拼图游戏实验报告 课程设计实验报告 班级:光电104-2 姓名:刘云龙 学号:201058501220 一.实验题目:使用C语言编写一个小游戏(拼图游戏) 二.实验目的:C语言是每一个通信学生的 ...

  8. C语言课设图书信息管理系统(大作业)

    一.设计功能(文章仅供参考) 图书信息包括:登录号.书名.作者名.分类号.出版单位.出版时间.价格等.试设计一图书信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)图书信息录入功能( ...

  9. C语言课设手机电话簿管理系统(大作业)

    一.任务概述(文章仅供参考) 用c设计出模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 二.设计功能 查看功能:选择此功能时,列出下列三类选择.A办公类,B个人类,C商务类,当选中某类时,显示出 ...

  10. C语言课设职工信息管理系统(大作业)

    一.设计功能(文章仅供参考) 职工信息包括:工号,姓名,性别,出生年月,婚姻状况,职称,家庭地址,电话,E-mail等. 设计一个职工信息管理系统,使之能提供以下功能: (1)职工信息录入功能(学生信 ...

最新文章

  1. 从业务发展的阶段看系统发展
  2. antd tree 动态添加_一文了解Matlab如何制作动态图像
  3. gartner android 市场份额,Gartner:Android去年市场份额超iOS和RIM
  4. jdbc mysql 换行符_mysql JDBC URL格式各个参数详解
  5. Druid Spring JDBC Servlet 实现登录功能
  6. 第七十六期:3000台服务器不宕机,微博广告系统全景运维大法
  7. Python学习笔记:字典(dict)
  8. 为什么你的支付宝芝麻信用分就是不涨?
  9. 解决Eclipse自动补全变量名的问题
  10. macOS Big Sur无法安装 Big Sur为什么安装不了?
  11. springboot-20-全局异常处理
  12. 01,HelloWorld入门程序
  13. 浅析内网即时通讯工具的安全性如何
  14. 小米路由器4A千兆版c341编程器刷breed.bin详细教程
  15. python extract_convert.py对应代码解读抽取式提取+生成式提取摘要代码解读------摘要代码解读1
  16. ms office excel2013教程 - 从网站加载数据
  17. 这个彬彬就是逊啦—才搞懂小学知识求最小公倍数
  18. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
  19. Apache2 虚拟主机 详解
  20. 1165.穹妹的求助

热门文章

  1. DSP TMS320F280049C之捕获eCAP(1)
  2. ## Android Studio 开发(四)--蓝牙通信
  3. 关于 Cannot assign requested address 错误
  4. 运维人故障定责甩锅话语指南
  5. linux中 kill USR1和USR2 的区别
  6. 如何解决:使用Xbrowser软件连接服务器显示灰屏
  7. 聊聊小程序第三方登录
  8. android 判断版本执行,Android版本判断
  9. LCD1602液晶显示屏
  10. python sub函数用法_Python Pandas dataframe.sub()用法及代码示例