c语言实验设备管理系统.docx
- 文档编号:25384647
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:11
- 大小:78.45KB
c语言实验设备管理系统.docx
《c语言实验设备管理系统.docx》由会员分享,可在线阅读,更多相关《c语言实验设备管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
c语言实验设备管理系统
课程设计说明书
学院、系:
专业:
学生姓名:
学号:
设计题目:
实验设备管理系统
起迄日期:
指导教师:
日期:
2017年5月12日
1.设计目的
练习与巩固《C语言程序设计》理论知识,通过实践检验和提高实际能力,进一步培养自己综合分析问题和解决问题的能力。
掌握运用C语言独立地编写调试应用程序和进行其它相关设计的技能。
2.任务概述
要求实验设备管理系统实现对实验设备基本信息(设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期等)的管理。
系统应给用户提供一个操作简便的人机界面,使用户可以通过菜单的方式来方便的调用提供的功能。
主要功能
(1)完成对设备信息的录入函数
(2)完成修改某个设备信息的函数
(3)根据给定信息对设备进行分类统计
(4)设备的破损耗费和遗损处理
(5)设备的查询
3模块划分
功能[1]:
添加新的设备信息
功能[2]:
统计设备数量
功能[3]:
查找符合条件的设备及其数量
功能[4]:
对设备信息按条件进行分类排序
功能[5]:
修改设备信息
功能[6]:
删除某条设备记录
图3.1功能图
图3.2菜单图
4主要函数说明及其N-S
录入设备信息的N-S图,如下图所示
(1)查找search()
图4.4查找操作N-S图
(2)分类sort()
按某种条目进行分类也是需要通过查找相同,但不同的是条目的具体内容是不确定的,只是把条目内容相同的部分进行排序使其归类在一起,使用了冒泡排序法。
由于是使用字符串,所以排序的依据是根据ASCII码顺序。
图4.5分类N-S图
图4.5分类N-S图
(3)删除delect()
读取文件内容,但读写时跳过需要删除的行不读,然后把读取出的内容重新写入文件
图4.6删除N-S图
5程序运行数据及其结果
(1)?
录入input()
图5.1显示内容界面图
(2)?
修改change()
图5.2修改界面图
修改后显示
图5.3修改结果
(3)?
删除delect()
图5.4删除界面
删除后
图5.5删除结果
(4)添加
图5.6添加前
图5.7添加后
(5)?
查找check()
图5.8界面
图5.9查找结果
(6)?
分类sort()?
图5.10分类界面
图5.11分类结果
6课程设计心得
这次课程设计遇到了很多问题,有的是文档格式的设置不符合要求,有的是编译的代码运行不出来,于是又翻出了上学期的C语言书籍温习有关知识。
划分功能模块时,对于实验设备方面的知识欠缺,于是在网上查找了相关知识,结合网上热心网友提供的资源。
完成了这一步。
一个功能对应一个函数,有些函数比较复杂,请教了其他同学并结合网上的例子完成了编写。
第一次修改说明书之前,对于N-S图的画法不是太熟悉,于是用了流程图,后来班长多次强调才改成了N-S图,看了看班长在群里发的例子,又结合书上的说明,完成了N-S图。
文档格式的设置主要通过网上的教程来完成。
对于一名新手来说,网上做图并不是一件容易的事,刚开始不是错位就是字体太大,有时候修改了文本图又飞到了下一页。
一次次的修改后总算积攒了一些经验,后来画多了总算能够比较快而准确的画出来。
C语言是一门实践性较强的课程,只学会书本上的知识是远远不够的,还需要实训来巩固知识并让我们学会运用。
C语言也是软件工程后期学习的基础语言,因此必须学好C语言。
一名优秀的程序员,不仅要掌握编程方面的知识,还应该学会怎样使用办公软件。
附录:
#include"stdio.h"
#include"stdlib.h"
#include"cstring"
#defineCOUNT30
voidstart();//函数声明
voidinput();
voidchange();
voidsort();
voiddele();
voidoutput();
voidsearch();
structdeviceInfor{
chardevno[30];
intdevsort;//1代表微机2代表打印机3代表扫描机
chardevname[30];
intdevprice;
chardevbuydate[30];
intdevstate;
chardevdonedate[30];
}dev[COUNT];
intcount=0;
main()//主函数
{
while
(1)
start();
}
voidstart()//启动菜单
{
intchi;
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();
elseif(chi==2)change();
elseif(chi==3)sort();
elseif(chi==4)dele();
elseif(chi==5)search();
elseif(chi==6){printf("你已经退出设备管理系统!
\n");exit(0);}
else{printf("YouEnterTheChoiceIsNotvalid!
\n");}
}
voidinput()//数据录入
{
charflag[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();
}
voidchange()//数据修改
{
charch[20],a[20];
inti;
printf("\nyousurewantchangedevInfory/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{printf("\nenteryouwantchangedevName:
");
scanf("%s",a);
for(i=0;i { if(strcmp(dev[i].devname,a)==0) {printf("\nyousurewantchangedevname(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) {printf("\nname: ");scanf("%s",dev[i].devname);} printf("\nyousurewantchangedevno(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) {printf("\nno");scanf("%s",dev[i].devno);} printf("\nyousurewantchangedevsort(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) {printf("\nsort");scanf("%d",&dev[i].devsort);} printf("\nyousurewantdevprice(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) {printf("\nprice");scanf("%d",&dev[i].devprice);} printf("\nyousurewantdevdonedate(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) {printf("\ndonedate");scanf("%s",dev[i].devdonedate);} } } } output(); } voidsort()//数据分类显示 { inti,chi,sum=0,wei=0,da=0,sao=0; printf("输入你想要统计的信息: 1(报废的机器总数)2(机器的总类数目)"); scanf("%d",&chi); if(chi==1){ for(i=0;i if(dev[i].devstate==0)sum++; } printf("报废的机器数目为%d\n",sum); } elseif(chi==2){ for(i=0;i if(dev[i].devsort==1)wei++; elseif(dev[i].devsort==2)da++; elseif(dev[i].devsort==3)sao++; } printf("微机数目为%d打印机数目为%d扫描机数目为%d",wei,da,sao); }else{printf("你输入的选项不符合要求! \n");} } voiddele()//数据删除 { inti,j; charc[20]; printf("\nenteryouwantdeletename: \n"); printf("name: "); scanf("%s",c); for(i=0;i if(strcmp(c,dev[i].devname)==0)break; for(j=i;j dev[j]=dev[j+1]; printf("\t\t\tyouhaddelete%s\n",c); count--; output(); } voidoutput()//数据输出 { inti; for(i=0;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); } } voidsearch()//数据查找 { inti; chara[20],ch[10]; printf("\nenteryouwantlookname: "); scanf("%s",a); for(i=0;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); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 设备管理 系统