C语言课程设计设备管理系统

合集下载

c语言课程设计实验设备管理系统设计说明

c语言课程设计实验设备管理系统设计说明

C语言课程设计院系:姓名:学号:班号:指导教师:日期:目录一.题目要求 (1)二.需求分析 (1)三.总体设计 (1)四.详细设计 (1)五.完整程序 (12)六.上机操作 (21)七.结束语 (24)一.题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期等。

试设计一实验设备信息管理系统,使之能提供以下功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询二.需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以实现功能选择。

三.总体设计根据上面的需求分析,可以将这个系统的设计分为以下模块四.详细设计1.主函数[流程图]显示一系列功能选项输入n,判断n是否是0-6 根据n的值调用各功能模块函数NY 实验设备管理系统信息输入信息添加信息修改信息统计信息搜索[程序]main() /*********************主函数***********************************/ {int n,w,t;for(t=0;t<1;t++)1{do{puts("\t\t*******MENU*******\n\n");puts("\t\t 1.Enter new data");puts("\t\t 2.Addition data");puts("\t\t 3.Modify data");puts("\t\t 4.Statist ");puts("\t\t 5.Search");puts("\t\t 6.Exit");puts("\n\n\t\t*****************\n");printf("What do you want to do(1-6):");scanf("%d",&n);if(n<1||n>6) /*对选择的数字作出判断*/{ w=1;getchar();}else w=0;}while(w==1);switch(n){case 1:t=enter();break; /*输入模块*/case 2:t=enter(); break; /*追加模块*/case 3:t=modifty();break; /*修改模块*/case 4:t=total();break; /*统计模块*/case 5:t=search();break; /*搜索模块*/case 6:exit(0); /*退出*/}}2.各功能模块设计(1)输入模块[流程图]输入用户要输入设备的个数i输入设备的各项详细信息将输入的信息存储到文件中[程序]/*********************输入模块*****************************/ 2 int enter() /*输入模块*/{FILE *fp;EQ newequ;int i,j;int c;printf("**************************************\n");printf("Add new equiment\n");printf("**************************************\n");printf("How many equiments do you want to add?\n");scanf("%d",&i); /*输入要输入的设备个数*/for(j=0;j<i;j++){printf("------------------\n");printf("Input equipcode\n");scanf("%s",newequ.equipCode);printf("Input equiptype\n");scanf("%s",newequ.equipType);printf("Input equipname\n");scanf("%s",newequ.equipName);printf("Input equipPrice\n");scanf("%f",&newequ.equipPrice);printf("Input buyYear\n");scanf("%d",&newequ.buyYear);printf("Input buyMonth\n");scanf("%d",&newequ.buyMonth);printf("Input buyDay\n");scanf("%d",&newequ.buyDay);printf("Input scrap\n");scanf("%d",&newequ.scrap);printf("Input scrapYear\n");scanf("%d",&newequ.scrapYear);printf("Input scrapMonth\n");scanf("%d",&newequ.scrapMonth);printf("Input scrapDay\n");scanf("%d",&newequ.scrapDay);if((fp=fopen("test.txt","w"))==NULL) /*打开文件,输入保存*/{printf("Can not open file!\n");} 3fprintf(fp,"%s %s %s %f %d %d %d %d %d %d %d",newequ.equipCode,newequ.equipType,newequ.equipName,newequ.equipPrice,newequ.buyYear,newequ.buyMonth,newequ.buyDay,newequ.scrap,newequ.scrapYear,newequ.scrapMonth,newequ.scrapDay);fclose(fp);printf("\n-----------------------\n");printf("Return to main menu? \n");printf("1.YES \n");printf("2.NO,I want to quit now\n");scanf("%d",&c);if(c==1)return(-1);if(c==2)return(0); /*任务结束选择是返回主菜单还是跳出*/}}(2)追加模块[流程图][程序]/*********************追加模块*****************************/ int enter() /*追加模块*/{FILE *fp;EQ newequ;int i,j;int c;printf("**************************************\n");printf("Add new equiment\n");printf("**************************************\n");printf("How many equiments do you want to add?\n");scanf("%d",&i); /*输入要追加的设备个数*/for(j=0;j<i;j++)4{printf("------------------\n");printf("Input equipcode\n");scanf("%s",newequ.equipCode); printf("Input equiptype\n");scanf("%s",newequ.equipType); printf("Input equipname\n"); scanf("%s",newequ.equipName);printf("Input equipPrice\n"); scanf("%f",&newequ.equipPrice); printf("Input buyYear\n");scanf("%d",&newequ.buyYear); printf("Input buyMonth\n");scanf("%d",&newequ.buyMonth); printf("Input buyDay\n");scanf("%d",&newequ.buyDay);printf("Input scrap\n");scanf("%d",&newequ.scrap); printf("Input scrapYear\n");scanf("%d",&newequ.scrapYear);printf("Input scrapMonth\n");scanf("%d",&newequ.scrapMonth);printf("Input scrapDay\n");scanf("%d",&newequ.scrapDay);if((fp=fopen("test.txt","w"))==NULL) /*打开文件,输入保存*/{printf("Can not open file!\n");}fprintf(fp,"%s %s %s %f %d %d %d %d %d %d %d",newequ.equipCode,newequ.equipType,newequ.equipName,newequ.equipPrice,newequ.buyYear,newequ.buyMonth,newequ.buyDay,newequ.scrap,newequ.scrapYear,newequ.scrapMonth,newequ.scrapDay);fclose(fp);printf("\n-----------------------\n");printf("Return to main menu? \n");printf("1.YES \n");printf("2.NO,I want to quit now\n");scanf("%d",&c); 5 if(c==1)return(-1);if(c==2)return(0); /*任务结束选择是返回主菜单还是跳出*/}}(3)修改模块[需求分析]此模块可以根据客户需要对以记录在文件中的信息进行修改[流程图][程序]/*******************************修改模块*********************/ int modifty()/*修改模块*/{EQ equ[50];char code[10];int i,j,c;输入要修改的设备编号是否找到该设备资料显示找到的记录,调用修改函数显示没有找到对该设备的信息进行修改返回主菜单返回主菜单ynFILE *fp;printf("*************************************\n");printf("Modifty for the equiment\n");printf("*************************************\n");printf("Please input the equipcode for modiftying\n");scanf("%s",code); /*输入要修改的设备编号*/printf("------------------------------------\n");if((fp=fopen("test.txt","r"))==NULL){ 6 printf("\nCan not open test!\n");}for(i=0;!feof(fp);i++){fscanf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ[i].equipCode,equ[i].equipType,equ[i].equipName,&equ[i].equipPrice,&equ[i].buyYear,&equ[i].buyMonth,&equ[i].buyDay,&equ[i].scrap,&equ[i].scrapYear,&equ[i].scrapMonth,&equ[i].scrapDay);if(strcmp(equ[i].equipCode,code)==0){printf("------------------\n");printf("Input new equipcode\n"); scanf("%s",equ[i].equipCode); printf("Input new equiptype\n"); scanf("%s",equ[i].equipType); printf("Input new equipname\n"); scanf("%s",equ[i].equipName); printf("Input equipPrice\n"); scanf("%f",&equ[i].equipPrice);printf("Input new buyYear\n"); scanf("%d",&equ[i].buyYear); printf("Input new buyMonth\n"); scanf("%d",&equ[i].buyMonth); printf("Input new buyDay\n"); scanf("%d",&equ[i].buyDay);printf("Input new scrap\n"); scanf("%d",&equ[i].scrap);printf("Input new scrapYear\n"); scanf("%d",&equ[i].scrapYear); printf("Input new scrapMonth\n");scanf("%d",&equ[i].scrapMonth);printf("Input new scrapDay\n");scanf("%d",&equ[i].scrapDay);}} /*将修改后的信息写如文件中*/fclose(fp);j=i;if((fp=fopen("test.txt","w"))==NULL){printf("\nCan not open test!\n");} 7 for(i=0;i<j;i++){printf("\nwrite!\n");fprintf(fp,"%s %s %s %f %d %d %d %d %d %d %d",equ[i].equipCode,equ[i].equipType,equ[i].equipName,equ[i].equipPrice,equ[i].buyYear,equ[i].buyMonth,equ[i].buyDay,equ[i].scrap,equ[i].scrapYear,equ[i].scrapMonth,equ[i].scrapDay);}fclose(fp);printf("\n-----------------------\n");printf("Return to main menu? \n");printf("1.YES \n");printf("2.NO,I want to quit now\n");scanf("%d",&c);if(c==1)return(-1);if(c==2)return(0);}(4)统计模块[需求分析]将已经输入的设备信息进行统计,并显示设备总数、价格总额等信息[流程图][程序] int total() { 打开文件,并对文件中的设备信息进行统计计算输出统计结果返回主菜单int c;float sum=0;int count=0;float aver=0;char type[20];EQ equ;int i;FILE *fp;if((fp=fopen("test.txt","r"))==NULL){printf("\nWrong\n");} 8printf("please input equipType:\n");scanf("%s",type);for(i=0;!feof(fp);i++){fscanf(fp,"%s %s %s %f %d % d %d %d %d %d %d",equ.equipCode,equ.equipType,equ.equipName,&equ. equipPrice,&equ.buyYear,&equ.buyMonth,&equ.buyDay,&equ.scrap,&equ.scrapYear,&equ.scrapMonth,&equ.scrapDay);printf("\nOK!\n");printf("%s,%s,%s,%f,%d,%d,% d,%d,%d,%d,%d\n",equ.equipCode,equ.equipType,equ.equipName,equ.equi pPrice,equ.buyYear,equ.buyMonth,equ.buyDay,equ.scrap,equ.scrapYear,equ.s crapMonth,equ.scrapDay);if(strcmp(equ.equipType,type) ==0){count++;sum+=equ.equipPrice;aver=sum/count;}}fclose(fp);printf("----------Statist--Result-----------");printf("\n\nthe number of this type is:%d",count);printf("\n\nthe total sum of price is:%f",sum);printf("\n\nthe aver of total price is:%f",aver);printf("\nPress any key to exit......");getch();printf("\n-----------------------\n");printf("Return to main menu? \n");printf("1.YES \n");printf("2.NO,I want to quit now\n");scanf("%d",&c);if(c==1)return(-1);if(c==2)return(0);}(5)搜索模块9 [需求分析]该模块的功能是查找用户需要的对应记录,可以分别根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询。

c语言程序课程设计-实验设备管理系统

c语言程序课程设计-实验设备管理系统

课程设计报告书实验设备管理系统班级:学号: 9姓名:指导教师:二零一零年七月十五号课程设计报告内容1.选择题目题目:实验设备管理系统2.内容摘要摘要:实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。

而且系统应符合设备管理的有关规定,包括新设备的申请、购买确认、新设备信息录入、旧设备维修和报废及用户管理等。

能满足日常工作的基本需要,并达到操作过程中的直观、方便、实用、安全等有关要求。

实验室设备管理系统是一个典型的信息管理系统,采用面向对象的分析方法,给出系统的基本结构、设计特色、设计模型及实现途径,并且对系统的开发技术进行研究。本系统是一个为适应对学校实验室设备管理的迫切需求而设计开发的软件系统。

3.索引关键词关键词:结构体、文件、数组、函数4.目录●目录……………………………………………………………●题目要求 (3)●设计思想............................................................3-4 ●系统完成及功能 (4)●界面设计……………………………………………………4-5●核心算法及说明………………………………………….5-11●结论 (11)●考资料 (12)●后记 (12)●附录………………………………………………………12-135. 正文包括课程设计的要求,设计思想,系统完成的功能,及界面设计,核心算法及说明,和结论几部分,正文必须从页首开始。

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

主要功能:1、能够完成对设备的录入和修改2、对设备进行分类统计3、设备的破损耗费和遗损处理4、设备的查询要求:使用二进制文件方式存储数据,系统以菜单方式工作设计思想第一,应该具有自动初始化的功能。

C语言课程设计-实验室设备信息管理系统.

C语言课程设计-实验室设备信息管理系统.

二○一五~二○一六学年第一学期电子与信息工程系课程设计报告书课程名称:程序设计基础实践班级:学号:姓名:指导教师:二○一五年十二月1..实验室设备信息管理系统功能(1). 每一条记录包括实验室的设备编号、设备名称、设备型号、设备价格、设备购买日期信息。

(2). 实验设备信息录入:可以一次完成诸多条记录的录入。

(3). 实验设备信息更改:可实现对实验设备信息更改的信息进行适当的修改。

(4). 报废设备信息删除:对实验损毁设备信息予以删除。

(5). 实验设备信息查询:本系统提供两种查询实验设备的方法:1.按器材名称查询.2.按器材编号查询.从而完成按实验设备的查找查找功能,并显示。

(6). 实验设备信息排序:根据实验设备的编号进行排序,以实现实验设备的有序全局查看。

实验设备信息显示功能:完成全部学生记录的显示。

(7). 简单帮助:提供实验室负责人简单的信息。

(8). 保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。

(9). 读取功能:将保存在文件中的学生记录读取出来。

(10). 有一个清晰美观界面来调用各个功能2.设计内容2.1 程序的总体设计整个系统除了主函数外,另外还有11个函数,实现以下功能:实验室设备录入功能、显示功能、查找功能、排序功能、读出与写入取功能。

各个函数的详细设计说明分别如下:2.2 数据结构使用C语言创建的结构体如下:typedef Equipment /*定义数据结构*/{char bianhao; //编号char name[20]; //名称char model[20]; //型号bnmchar price[20]; //价格char buy_date[20]; //购买日期};3 详细设计3.1实验设备管理系统主程序模块设计控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图1所示。

通过switch进入分支结构从而调用执行不同的函数,以实现菜单选择的功能。

实验设备管理系统c语言版精选文档

实验设备管理系统c语言版精选文档

实验设备管理系统c语言版精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-4 .主要代码段分析(1).添加模块主要是实现设备的添加,输入添加的设备个数,然后用for循环语句,循环次数是你输入的设备个数。

循环输出设备的编号,种类名称,用fopen打开文件,w写方式实现首次添加。

int addition() /*添加模块*/{EquInfo news[50];int i,j,c;FILE *fp;system("cls");printf("你想输入多少个设备\n");scanf("%d",&i); /*输入要添加的设备个数*/for(j=0;j<i;j++){ printf("------------------\n");printf("输入设备编号\n");scanf("%s",&news[j].equipCode);printf("输入设备种类\n");scanf("%s",news[j].equipType);……if((fp=fopen("","w"))==NULL) /*打开文件,输入保存*/{printf("不能打开文件!\n");}for (j=0;j<i;j++){ fprintf(fp,"%s %s %s %f %s %d %s",news[j].equipCode,news[j].equipType,news[j].equipName,news[j].equip Price,news[j].buyDate,news[j].scrap,news[j].scrapDate); }fclose(fp);printf("\n-----------------------\n");printf("返回主菜单 \n");printf("1.是\n");printf("2.不,退出\n");scanf("%d",&c);if((fp=fopen("","a"))==NULL)quipCode,newequ[j].equipType,newequ[j].equipName,newequ[j].equip Price,newequ[j].buyDate,newequ[j].scrap,newequ[j].scrapDate);}fclose(fp);四、调试过程(1 .测试数据设计 2 .测试结果分析)(1)测试数据设计:进入主菜单:根据需求操作,按“1”添加信息,以便测试设备个数:2设备编号:1设备各类:abc设备名称:switch设备价格:90购买日期:是否报废:0报废日期:0(2)测试结果分析:1.主菜单函数:根据需求输入相应的操作主菜单2.添加模块:当输入1后,进入添加页面,对设备的各方面信息进行添加添加设备添加后文本中的数据3.修改模块:输入您需要修改的设备编号,如果输入的编号与查找不相同将真的提示返回菜单或退出,正确进入如下键面修改设备信息修改后文本中的信息4.追加模块:输入您需要追加的设备个数,进行设备信息的添加,进入如下所示追加设备追加后文件中的数据5.统计模块:输入设备类型,进行设备信息的统计,进入如下所示分类统计6.搜索模块:选择你需要搜索的方式,可以按编号搜索,也可以按设备名搜索,还可以按设备价格搜索,如下所示按编号搜索按价格搜索按设备名搜索7.退出模块:选择5直接退出系统退出五、总结1 .设计中遇到的问题及解决过程文本中会出现乱码,但不是所有数据都就乱码,而是文件是的其中某一项是乱码,应该不是fread与fprint的问题,后来发现我定义的是char字符串类型,但在输入数据时scanf("%d",&equ[i].buyDate);用的是%d的格式输入。

实验设备管理系统-c语言实现

实验设备管理系统-c语言实现

一、设计目的1.1 设计题目:设计实现一个实验设备管理系统。

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

1.2 设计要求(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的破损耗费和遗损处理(4)设备的查询(5)采用二进制文件方式存储数据,系统以菜单方式工作1.3 系统功能需求分析系统功能需求:设备信息的录入、修改;设备分类统计;设备破损耗费和遗损处理;设备信息查询;二进制文件方式存储数据;菜单方式工作;用户操作流程:运行程序后会弹出菜单界面,根据菜单界面的提示选择需要完成的相应功能即可完成操作。

数据处理流程:通过input函数将用户输入的各信息以二进制文件方式存储数据,后续可根据需要调用change函数、sort函数、search函数以及del函数进行数据的相应处理,最后通过output函数实现数据的输出显示。

二、总体设计实验设备管理系统功能结构图如下所示:三、详细设计3.1 结构体struct equipment_infor//定义结构体包含各设备信息{char ID[20]; //设备编号int sort; //设备种类(1代表微机 2代表打印机 3代表扫描机)char name[20]; //设备名称float price; //设备价格char buy_date[20]; //设备购买日期int state; //设备状态(报废为1,未报废为0)char scrap_date[20]; //设备报废日期}device[NUM];定义结构体数组,其中包含设备所有信息,方便数据信息的录入、输出等。

3.2 主要函数3.2.1 void load()加载已有数据函数void load() //加载已有数据{count=0;FILE* fp_5=fopen("binary.txt","rb");if(fp_5==NULL){return;}for(int i=0;;i++,count++){if(feof(fp_5)!=0){count--;break;}fread(&device[i], sizeof(struct equipment_infor),1,fp_5);}fclose(fp_5);}此函数实现了加载已有信息的功能,能够使得下次运行时上次的数据得以保留,同时计算出了count的值,可提供后续函数for循环的循环条件,一举两得。

C语言课程设计报告报告设备管理系统

C语言课程设计报告报告设备管理系统

C语言课程设计报告报告设备管理系统
尊敬的老师:
您好!
本报告基于 C 语言的课程设计,设计的是一个设备管理系统。

此系统分为三个模块,分别为设备信息录入模块、设备信息查询模块、设备信息统计模块。

我们设计的设备管理系统是一个比较完善的管理系统,它能够实现对设备信息的录入、查询和统计操作。

首先,在设备信息录入模块中,它可以实现对设备信息的增加,修改,删除,查询操作。

并且可以通过输入设备代码,快速查询出相关的设备的完整信息。

其次,设备信息查询模块可以实现对设备信息的查询,允许用户输入设备代码查询相
关设备的完整信息,以及根据不同需求查询指定部分信息,例如设备名称、生产厂家、生
产日期等信息。

最后,设备信息统计模块可以实现对设备信息的统计操作。

例如:统计每种设备的数量、查看生产厂商的来源情况,统计设备需求量等。

总之,我们设计的设备管理系统可以满足不同对设备信息的录入、查询、统计操作的
要求,为使用者带来更方便更高效的工作体验。

最后,感谢您抽出宝贵时间查看本报告。

此致
敬礼!。

c语言课程管理系统 c语言课程设计(教学设备管理系统)

c语言课程管理系统 c语言课程设计(教学设备管理系统)

c语言课程管理系统 c语言课程设计(教学设备管理系统)导读:就爱阅读网友为您分享以下“c语言课程设计(教学设备管理系统)”的资讯,希望对您有所帮助,感谢您对的支持!#include&lt;graphics.h&gt;#include&lt;stdlib.h&gt;#includ e&lt;stdio.h&gt;#include&lt;conio.h&gt;#define NULL 0#define LEN sizeof(struct equipment)struct equipment{long number;char name[20];char adr[20];long date;long taishu;long price;long money;char other[20];struct equipment *next;};struct equipment *head,*equip,*p5,*p;int n;struct equipment *del1,*del2,*del3;struct equipment*insert(struct equipment *head,struct equipment *p);/*输入函数*/struct equipment* creat(void){struct equipment *p1,*p2;n=0;p1=p2=(struct equipment*)malloc(LEN);printf(&quot;\n教学设备编号为0时,退出输入!\n&quot;);printf(&quot;输入教学设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;numbe r);printf(&quot;\n输入设备名称:&quot;);scanf(&quot;%s&quot;,p1-&gt;name);printf(& quot;\n输入生产厂家:&quot;);scanf(&quot;%s&quot;,p1-&gt;adr);printf(&qu ot;\n输入购置日期:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;date);pr intf(&quot;\n输入台数:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;taishu); printf(&quot;\n输入单价:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;price);p 1-&gt;money=(p1-&gt;taishu)*(p1-&gt;price);printf(&quot; \n输入备注:&quot;);scanf(&quot;%s&quot;,p1-&gt;other);head=NU LL;while(p1-&gt;number!=0){n=n+1;if(n==1) head=p1;else p2-&gt;next=p1;p2=p1;p1=(structequipment*)malloc(LEN);printf(&quot;\n输入教学设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;number );if(p1-&gt;number==0) break;else{printf(&quot;\n输入设备名称:&quot;);scanf(&quot;%s&quot;,p1-&gt;name);printf(&quot;\n输入生产厂家:&quot;);scanf(&quot;%s&quot;,p1-&gt;adr);printf(&qu ot;\n输入购置日期:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;date);pr intf(&quot;\n输入台数:&quot;);scanf(&quot;%ld&quot;,&amp;p1-&gt;taishu); printf(&quot;\n输入单价:&quot;);scanf(&quot;%ld&quot;, &amp;p1-&gt;price);p1-&gt;money=(p1-&gt;taishu)*(p1-& gt;price);printf(&quot;\n输入备注:&quot;);scanf(&quot;%s&quot;,p1-&gt;other);}}p2-&gt ;next=NULL;return(head);}voidprint(){clrscr();gotoxy(33,0);printf(&quot;\16[{-80|10@30,30 =4(2)5****中南工业大学教学设备明细账****}]&quot;);gotoxy(3,5);printf(&quot;设备编号设备名称生产厂家购置日期台数单价金额备注\n&quot;);}void print1(){int i,j;for(i=0;i&lt;=8;i++)line(70*i+16,60,70*i+16,60+36*(n+1)) ;for(j=0;j&lt;=n+1;j++)line(16,60+36*j,70*8+16,60+36*j);}/ *显示函数*/void output(struct equipment* head){struct equipment*p;p=head;print();if(head!=NULL)do{printf(&qu ot;\n%-9ld%-9s%-9s%-9ld%-9ld%-9ld%-9ld%-9s\n&quot;,p-&gt;number,p-&gt;name,p-&gt;adr,p-&gt;date,p-&gt;taishu,p-&gt;price,p-&gt;money,p-&gt;other);p=p-& gt;next;}while(p!=NULL);print1();getch();}/*修改函数*/void change(struct equipment* head){struct equipment *p;long num;cleardevice();for(;;){printf(&quot;\n请输入要修改的设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;num);p=head;w hile(num!=p-&gt;number&amp;&amp;p-&gt;next!=NULL) {p=p-&gt;next;}if(num!=p-&gt;number){printf(&quot;\n对不起,无此记录!按任意键返回!&quot;);getch();break;}else{printf(&quot;\n请输入新的设备记录:&quot;);printf(&quot;\n输入教学设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;number) ;printf(&quot;\n输入教学设备名称:&quot;);scanf(&quot;%s&quot;,p-&gt;name);printf(&quot;\n输入生产厂家:&quot;);scanf(&quot;%s&quot;,p-&gt;adr);printf(&quo t;\n输入购置日期:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;date);pri ntf(&quot;\n输入台数:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;taishu);p rintf(&quot;\n输入单价:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;price);p-&gt;money=(p-&gt;taishu)*(p-&gt;price);printf(&quot;\n输入备注:&quot;);scanf(&quot;%s&quot;,p-&gt;other);printf(&q uot;\n是否继续退出,Y/N?&quot;);if(getch()!=&#39;y&#39;) break;}}}/*查找函数*/void search(struct equipment* head){ struct equipment *p;char choice;long key;do{clrscr();if(head==NULL)printf(&quot;\n 无此记录!&quot;);printf(&quot;\n请输入要查找的设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;key);p=head;w hile(key!=p-&gt;number&amp;&amp;p-&gt;next!=NULL){ p=p-&gt;next;}if(key==p-&gt;number){print();print1();prin tf(&quot;\n %-9ld%-9s%-9s%-9ld%-9ld%-9ld%-9ld% -9s&quot;,p-&gt;number,p-&gt;name,p-&gt;adr,p-&gt;date ,p-&gt;taishu,p-&gt;price,p-&gt;money,p-&gt;other);printf( &quot;\n&quot;);}else{printf(&quot;\n无此编号,请按任意键返回!&quot;);getch();}printf(&quot;\n您是否需要继续查找?(y/n)\n&quot;);choice=getch();}while(choice==&#39;y&# 39;);}/*删除函数*/struct equipment *del(struct equipment *head){ struct equipment *p1,*p2;long number;int b=0;do{clrscr();if(head==NULL){printf(&quot;\n无此记录!\n&quot;);return(head);}else{b=0;if(del1==NULL)b=b+1;if(del2==NULL) b=b+1;if(del3==NULL) b=b+1;if(b!=0)printf(&quot;\n回收站还有%d的空间!&quot;,b);elseprintf(&quot;\n回收站已满,无法再删除!&quot;);printf(&quot;\n请输入要删除的教学设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;number);p1=he ad;while(number!=p1-&gt;number&amp;&amp;p1-&gt;ne xt!=NULL){p2=p1;p1=p1-&gt;next; }if(number==p1-&gt;n umber){printf(&quot;\n进行逻辑删除还是物理删除,Y/N?&quot;);if(getch()==&#39;y&#39;){if(del1==NULL) del1=p1;else if(del2==NULL) del2=p1;else del3=p1;}if(p1==head) head=p1-&gt;next;else p2-&gt;next=p1-&gt;next;printf(&quot;\n已删除设备编号%ld记录!&quot;,number);b=b-1;}else{printf(&quot;\n无此设备记录!&quot;);getch();}printf(&quot;\n是否继续删除/Y/N?&quot;);}}while(getch()==&#39;y&#39;);getch();retur n(head);}/*恢复函数*/struct equipment *recover(struct equipment* head){ struct equipment *p0,*p1,*p2;long rec_num,a=0;cleardevice();gotoxy(1,3);do{printf(&quot;\n可恢复的设备编号:&quot;);if(del1!=NULL){a=a+1;printf(&quot;\n%ld&qu ot;,del1-&gt;number); }if(del2!=NULL){a=a+1;printf(&quot ;\n%ld&quot;,del2-&gt;number);}if(del3!=NULL){a=a+1;printf(&quot;\n%ld&quot;,del3-&gt;number); }if(a==0){prin tf(&quot;\n没有可恢复的数据,请按任意键退出!&quot;);getch();return(head); }printf(&quot;\n请输入要恢复的教学设备编号:&quot;);scanf(&quot;%ld&quot;,&amp;rec_num);if(rec _num==del1-&gt;number){p0=del1;del1=NULL;}elseif(rec_num==del2-&gt;number){p0=del2;del2=NULL;}else if(rec_num==del3-&gt;number){p0=del3;del3=NULL;}else {printf(&quot;\n输入错误,按任意键返回!&quot;);getch();return(head);}p1=head;if(head==NULL) {head=p0;p0-&gt;next=NULL;}else{while((p0-&gt;number &gt;p1-&gt;number)&amp;&amp;(p1-&gt;next!=NULL)){ p2=p1;p1=p1-&gt;next;}if(p0-&gt;number&lt;p1-&gt;num ber){if(head==p1){head=p0;p0-&gt;next=p1;}elsep2-&gt;next=p0;p0-&gt;next=p1;}else{p1-&gt;next=p0;p0-&gt;next=NULL;}}n=n+1;output(h ead);printf(&quot;\n恢复成功,请按任意键返回!&quot;);printf(&quot;\n是否继续进行恢复Y/N?&quot;);}while(getch()==&#39;y&#39;);getch();return( head);}/*添加函数*/struct equipment *insert(structequipment* head,struct equipment *p){char choice;p=(structequipment*)malloc(LEN);do{clrscr();printf(&quot;\n请输入新的教学设备资料:&quot;);printf(&quot;\n输入编号:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;number) ;printf(&quot;\n输入名称:&quot;);scanf(&quot;%s&quot;,p-&gt;name);printf(&q uot;\n输入生产厂家:&quot;);scanf(&quot;%s&quot;,p-&gt;adr);printf(&quo t;\n输入购置日期:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;date);pri ntf(&quot;\n输入台数:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;taishu);p rintf(&quot;\n 输入单价:&quot;);scanf(&quot;%ld&quot;,&amp;p-&gt;price);p-&gt;money=(p-&gt;taishu)*(p-&gt;price);printf(&quot;\n输入备注:&quot;);scanf(&quot;%s&quot;,p-&gt;other);printf(&q uot;\n&quot;);if(n==0){ n=n+1;head=p; }else{p-&gt;next= head;head=p;n++;}printf(&quot;\n您是否要继续添加?(y/n)\n&quot;);}while(getch()==&#39;y&#39;);return(he ad);}/*统计函数*/void count(struct equipment* head){ intsum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,s um8=0;struct equipment* p;p=head;while(p){ for(p=head;p!=NULL;p=p-&gt;next){ sum1+=p-&gt;taishu;sum2+=p-&gt;money;if(p-&gt;money &lt;200){ sum3+=p-&gt;taishu;sum4+=p-&gt;money; }elseif (p-&gt;price&lt;800){ sum5+=p-&gt;taishu;sum6+=p-&gt; money; }else{ sum7+=p-&gt;taishu;sum8+=p-&gt;money; }} }output(head);printf(&quot;\n 合计%d %d\n&quot;,sum1,sum2);n=n+1;print1();n=n-1;printf(&qu ot;\n&quot;);printf(&quot;\n&quot;);printf(&quot;\n 200元以下的设备总台数及总金额: %d %d&quot;,sum3,sum4);printf(&quot;\ n 200--800元之间的设备总台数及总金额: %d %d&quot;,sum5,sum6);printf(&quot;\n 800元以上的设备总台数及总金额: %d %d&quot;,sum7,sum8);getch();}/*保存函数*/void save(struct equipment *head){ FILE *fp;struct equipment *p;char name[20];p=head;cleardevice();printf(&quot;\n请输入要保存的文件名:&quot;);scanf(&quot;%s&quot;,name);if((fp=fopen(name,&quot;wb&quot;))==NULL){printf(&quot;\n对不起!不能建立新文件!按任意键返回!&quot;);getch();return;}while(p-&gt;number!=NULL){f write(p,LEN,1,fp);p=p-&gt;next;}printf(&quot;\n保存结束,请按任意键返回!&quot;);fclose(fp);getch();}/*打开函数*/struct equipment *dakai(void){ struct equipment *head, *p1,*p2 ;char name[20];FILE *fp=NULL;cleardevice();p1=p2=(struct equipment *)malloc(LEN);printf(&quot;\n请输入要打开的文件名:&quot;);head=p1;scanf(&quot;%s&quot;,name);if((fp=f open(name,&quot;rb&quot;))==NULL){printf(&quot;\n对不起,没有该文件!请按任意键返回!&quot;);getch();}fread(p1,LEN,1,fp);while(!feof(fp)){p2-&gt;next=p1;p2=p1;p1=(structequipment*)malloc(LEN);fread(p1,LEN,1,fp);n++;};p2-&gt; next=NULL;fclose(fp);output(head);printf(&quot;\n文件已输出,请按任意键返回!&quot;);getch();return(head);}main(){char i;long key ,a;int drive=DETECT,mode;initgraph(&amp;drive,&amp;mode, &quot;&quot;);cleardevice();setbkcolor(9);printf(&quot;\16。

c语言课程设计之实验设备管理系统

c语言课程设计之实验设备管理系统

目录目录.............................................................................................................................-1 - 一设计目的.................................................................................................................-2 - 二课程设计的内容.....................................................................................................-2 - 三课程设计的要求与数据.........................................................................................-2 - 四课程设计应完成的工作.........................................................................................-2 - 五总体设计(包含几大功能模块——流程图).....................................................-2 - 六详细设计(各功能模块的具体实现算法——流程图).....................................-3 -七调试分析(包含各模块的测试用例,及测试结果) (8)八总结.........................................................................................................................-17 - 九成员设计内容 (17)十参考资料.................................................................................................................-17 -一:设计目的练习与巩固《C语言程序设计》)理论知识,通过实践检验和提高实际能力,进一步培养自己综合分析问题和解决问题的能力。

C语言课程设计-设备管理系统

C语言课程设计-设备管理系统

#include <>#include <>#include <>#include <>voidmenu();no,d[tot].dname,d[tot].downer,d[tot].ddpartment,d[tot].damount,d[tot].dt ime,d[tot].dprice)!=EOF){d[tot++].dlt=0;}fclose(fp);}void write(){int i;FILE *fp=fopen("D:\\","w");for (i=0;i<tot;i++)if (!d[i].dlt)fprintf(fp,"%s %s %s %s %s %s %s\n",d[i].dno,d[i].dname,d[i].downer,d[i].ddpart ment,d[i].damount,d[i].dtime,d[i].dprice);fclose(fp);}void menu(){char a;while (1){puts("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★请选择需要的功能:★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");puts(" 1.查看所有设备信息\n 2.修改设备信息\n 3.删除设备信息\n 4.增加设备信息\n 5.统计设备信息\n 0.退出系统");a=getch();switch (a){case '0':return;case '1':{lkp();break;}case '2':{chng();break;}case '3':{dlt();break;}case '4':{add();break;}case '5':{count();break;}default:printf("您输入的信息有误!请检查后重新输入\n");}}}void lkp(){system("cls");int i;printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<tot;i++){if(d[i].dlt==0)printf("%20s%20s%20s%20s%20s%20s%20s\n",d[i].dno,d[i].dname,d[i].downer,d[i ].ddpartment,d[i].damount,d[i].dtime,d[i].dprice);}}void chng(){system("cls");char s,ch[20];int i,j;printf("请输入您要修改的设备的编号:(0键返回菜单栏)\n");printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<tot;i++){printf("%4d.%20s%20s%20s%20s%20s%20s%20s\n",i+1,d[i].dno,d[i].dname,d[i].do wner,d[i].ddpartment,d[i].damount,d[i].dtime,d[i].dprice);}while (1){scanf("%s",ch);i=atoi(ch);if (i>=1 && i<=tot)break;else if(i==0){system("cls");return;}else puts("您输入的信息有误!请检查后重新输入\n");}if(d[i-1].dlt==1){printf("该设备已经被删除!\n");return;}printf("请输入您要修改的内容的编号:\n1.设备号\n2.设备名称\n3.领用人\n4.所属部门\n5.数量\n6.购买时间\n7.价格\n0.返回菜单栏\n");while (1){scanf("%s",ch);j=atoi(ch);if (j>=1 && j<=7)break;else if(i==0){system("cls");return;}else puts("您输入的信息有误!请检查后重新输入\n");}printf("请输入您要修改的信息:\n");switch (j){case 1:{scanf("%s",d[i-1].dno);break;}case 2:{scanf("%s",d[i-1].dname);break;}case 3:{scanf("%s",d[i-1].downer);break;}case 4:{scanf("%s",d[i-1].ddpartment);break;}case 5:{scanf("%s",d[i-1].damount);break;}case 6:{scanf("%s",d[i-1].dtime);break;}case 7:{scanf("%s",d[i-1].dprice);break;}}printf("请问是否要继续修改(Y/N)\n");while (1){getchar();gets(&s);if (s=='Y'||s=='N'||s=='y'||s=='n')break;else puts("您输入的信息有误!请检查后重新输入\n");}if(s=='Y'||s=='y')chng();else if(s=='N'||s=='n')system("cls");}void dlt(){system("cls");char ch[20],s;int i;printf("请输入你要删除的设备的编号:(0键返回菜单烂)\n");printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<tot;i++){if(d[i].dlt==0)printf("%4d.%20s%20s%20s%20s%20s%20s%20s\n",i+1,d[i].dno,d[i].dname,d[i].do wner,d[i].ddpartment,d[i].damount,d[i].dtime,d[i].dprice);}while (1){scanf("%s",ch);i=atoi(ch);if (i>=1 && i<=tot)break;else if(i==0){system("cls");return;}else puts("您输入的信息有误!请检查后重新输入\n");}d[i-1].dlt=1;printf("请问是否要继续删除(Y/N)\n");while (1){getchar();gets(&s);if (s=='Y'||s=='N'||s=='y'||s=='n')break;else puts("您输入的信息有误!请检查后重新输入\n");}if(s=='Y'||s=='y')dlt();else if(s=='N'||s=='n')system("cls");}void add(){char s;system("cls");printf("请输入您要添加的设备号:\n");scanf("%s",d[tot].dno);printf("请输入您要添加的设备的名称:\n");scanf("%s",d[tot].dname);printf("请输入您要添加的设备的领用人:\n");scanf("%s",d[tot].downer);printf("请输入您要添加的设备的所属部门:\n");scanf("%s",d[tot].ddpartment);printf("请输入您要添加的设备的数量:\n");scanf("%s",d[tot].damount);printf("请输入您要添加的设备的购买时间:\n");scanf("%s",d[tot].dtime);printf("请输入您要添加的设备的价格:\n");scanf("%s",d[tot].dprice);d[tot].dlt=0;tot+=1;printf("请问是否要继续添加(Y/N)\n");while (1){getchar();gets(&s);if (s=='Y'||s=='N'||s=='y'||s=='n')break;else puts("您输入的信息有误!请检查后重新输入\n");}if(s=='Y'||s=='y')add();else if(s=='N'||s=='n')system("cls");}void count(){system("cls");char ch[20],temp[20],s;int i,j,n;sum=0;printf("请选择统计的方式:\n1.所有设备的总价值。

C语言 实验室设备管理系统

C语言 实验室设备管理系统
3 总体设计与模块的划分
整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模 块 实验设备分类统计模块和实验设备查询模块。
实验设备管理系统设计
实验 设备 信息 输入 模块
实验 设备 信息 添加 模块
实验 设备 信息 修改 模块
实验 设备 分内 统计 模块
实验 设备 查询 模块
(5) 查询记录 若信息为空,则不能查询。流程图如下: 开始
判断是否有资料为空 资料为空 跳出 输入要查询的分类序号 按输入序号调用各功能模块 函数
结束
4
(6)结束语
通过本次 c 语言的程序设计,我不仅提高巩固了 c 语言的基础,也初学习了编写一个实 用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。我相信经过努力后,我的编 程能力一定会得到提高。
C 语言程序设计报告
1 课程设计题目:实验室设备管理里系统
实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、 设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之 能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询
开始
输入 ID 号,并将指针指向最 末尾
依次输入设备机构体内容, 完成一条添加 Nhomakorabea录提示一完成一条记录添加
结束
2
(2) 修改记录 系统要求用户输入要修改的设备 ID 号,这时系统会显示设备的具体信息, 用户只需该设备新的信息按要求输入即可对信息进行修改。流程图如下: 开始 判断是否有资料可以统计分 类 没有资料可以统计 跳出 输入要统计的分类序号 按输入序号调用各功能模块 函数 结束

c语言课程设计设备管理

c语言课程设计设备管理

c语言课程设计设备管理一、教学目标本节课的教学目标是让学生掌握C语言中设备管理的基本概念和编程方法。

具体包括:1.知识目标:使学生了解设备管理的基本概念,理解设备管理在操作系统中的重要性,掌握C语言中设备管理的常用函数和编程方法。

2.技能目标:培养学生运用C语言进行设备管理的编程能力,能够独立完成简单的设备管理程序设计,并具备一定的调试和优化能力。

3.情感态度价值观目标:培养学生对计算机科学和编程的兴趣,激发学生主动学习和探索的热情,培养学生的团队协作意识和沟通能力。

二、教学内容本节课的教学内容主要包括以下几个部分:1.设备管理的基本概念:介绍设备管理的定义、作用和分类,使学生了解设备管理在操作系统中的重要性。

2.C语言设备管理编程方法:讲解C语言中设备管理的常用函数,如文件操作函数、设备控制函数等,并通过实例展示如何运用这些函数进行设备管理程序的设计。

3.设备管理程序设计实践:安排学生进行设备管理程序的设计和调试,培养学生的编程能力和问题解决能力。

三、教学方法为了达到本节课的教学目标,将采用以下教学方法:1.讲授法:讲解设备管理的基本概念和C语言设备管理编程方法,使学生掌握基本知识。

2.案例分析法:通过分析典型设备管理程序案例,使学生更好地理解和运用所学知识。

3.实验法:安排学生进行设备管理程序的设计和调试,培养学生动手实践能力和问题解决能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生的团队协作意识和沟通能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C语言程序设计》等相关教材,为学生提供理论知识的学习参考。

2.参考书:提供一些设备管理相关的参考书籍,丰富学生的知识储备。

3.多媒体资料:制作课件和教学视频,为学生提供直观的学习资料。

4.实验设备:准备计算机和相关设备,为学生提供实践操作的机会。

五、教学评估为了全面、客观地评估学生在设备管理课程中的学习成果,将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答和小组讨论的表现,评估学生的学习态度和理解能力。

C语言课程设计报告设备管理系统

C语言课程设计报告设备管理系统

C语言课程设计报告设备管理系统
一、课程设计的目的
本课程设计的目的是为了建立一个设备管理系统,用于实现对设备的实时管理,以及帮助设备使用者更好的实现设备的日常管理。

二、系统分析
1.功能分析
本设备管理系统主要实现以下功能:(1)用户可以添加设备信息,以便之后更好的管理其它功能;(2)用户可以查看设备信息,以便对设备进行更好的管理;(3)用户可以更新设备的信息,以便更好的管理设备;(4)用户可以删除设备,以便实现设备资源的有效利用;(5)用户可以记录设备状态,以及记录设备使用情况,从而更好的管理设备。

2.实现系统
本设备管理系统实现的主要技术有C 语言,因为C语言拥有极强的处理图形化界面的能力,可以更好地实现系统的功能。

三、设计思想
本设备管理系统采用了模块化设计思想,在建立系统的结构的时候,将系统的功能按照每一个模块做好规划,实现每一个模块的功能,从而实现整个系统的功能。

四、系统实现
1.界面设计
设备管理系统的界面可以采用菜单实现,用户可以从菜单中选择不同的功能,进行相应的操作。

2.功能实现
通过C语言实现设备管理系统功能,具体实现步骤为:(1)通过定义结构来创建存放信息的数据结构;(2)设计不同功能的函数,分别实现设备管理系统的功能;(3)调用相应的函数,实现设备管理系统的各项功能;(4)调试系统,完善系统的功能。

五、总结
本设备管理系统主要实现了设备信息添加、查看、更新和删除的功能,是一个可以帮助管理者更好的管理设备的系统。

它实现的方式是采用C语言,通过模块化设计思想,设计具体实现,最终实现了设备管理系统的功能,为管理者管理设备提供了强有力的支撑。

c语言实验设备管理系统

c语言实验设备管理系统

课程设计说明书学院、系:专业:学生姓名:学号:设计题目:实验设备管理系统起迄日期:指导教师:日期: 2017年5月12日1.设计目的练习与巩固《C语言程序设计》理论知识,通过实践检验和提高实际能力,进一步培养自己综合分析问题和解决问题的能力。

掌握运用C语言独立地编写调试应用程序和进行其它相关设计的技能。

2.任务概述要求实验设备管理系统实现对实验设备基本信息(设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期等)的管理。

系统应给用户提供一个操作简便的人机界面,使用户可以通过菜单的方式来方便的调用提供的功能。

主要功能(1)完成对设备信息的录入函数(2)完成修改某个设备信息的函数(3)根据给定信息对设备进行分类统计(4)设备的破损耗费和遗损处理(5)设备的查询3 模块划分功能[1]:添加新的设备信息功能[2]: 统计设备数量功能[3]:查找符合条件的设备及其数量功能[4]:对设备信息按条件进行分类排序功能[5]:修改设备信息功能[6]:删除某条设备记录4(1)查找search()图查找操作N-S图5(3)?删除delect()图删除界面删除后图删除结果(4)添加图添加前图添加后(5)?查找check()图界面图查找结果(6)?分类sort()?图分类界面图分类结果6 课程设计心得这次课程设计遇到了很多问题,有的是文档格式的设置不符合要求,有的是编译的代码运行不出来,于是又翻出了上学期的C语言书籍温习有关知识。

划分功能模块时,对于实验设备方面的知识欠缺,于是在网上查找了相关知识,结合网上热心网友提供的资源。

完成了这一步。

一个功能对应一个函数,有些函数比较复杂,请教了其他同学并结合网上的例子完成了编写。

第一次修改说明书之前,对于N-S图的画法不是太熟悉,于是用了流程图,后来班长多次强调才改成了N-S图,看了看班长在群里发的例子,又结合书上的说明,完成了N-S图。

文档格式的设置主要通过网上的教程来完成。

C语言实验室设备管理系统

C语言实验室设备管理系统

C语言程序设计报告1课程设计题目:实验室设施管理里系统实验设施信息包含:设施编号、设施种类(如:微机打印机扫描仪等等)、设施名称、设施价钱、设施购入日期、能否报废、报废日期等。

试设计一实验设施信息管理系统,使之能供给以下功能:(1)能够达成对设施的录入和改正(2)对设施进行分类统计(3)设施的查问2需求剖析实验室设施信息用文件储存,供给文件的输入输出操作;要能够达成设施的录入和改正,需要供给设施增添和改正操作;实现对设施进行分类统计,需要供给排序操作;实现对设施查问需要供给查找操作,设施的查问可依据设施编号设施种类设施购入日期正常设施(未报废的)等多种方式查问;此外还要依据键盘式选择菜单以实现功能选择。

3 整体设计与模块的区分整个系统可设计为实验设施信息输入模块实验设施信息增添模块实验设施信息改正模块实验设施分类统计模块和实验设施查问模块。

实验设备管理系统设计实验实验实验实验实验功能设备设备设备设备设备选择信息信息信息分内查询输入添加修改统计模块模块模块模块模块主函数流程图:开始显示一系列功能选择N+输入 n, 判断 m,能否 0 到 5据n 值调用各功能模块函数结束4成立实验设施信息构造体构造体成员包含设施编号设施种类设施名称设施价钱设施购入日期能否报废报废日期。

5应用程序功能详尽说明程序运转后进入管理系统,显示目录:增添记录、改正记录、显示记录、分类统计、查问记录( 1)增添记录系统提示用户在原有的基础上录入新的设施信息。

流程图以下:开始输入 ID 号,并将指针指向最末端挨次输入设施机构体内容,达成一条增添记录提示一达成一条记录增添结束( 2)改正记录系统要求用户输入要改正的设施ID 号,这时系统会显示设施的详细信息,用户只要该设施新的信息按要求输入即可对信息进行改正。

流程图以下:开始判断能否有资料能够统计分类没有资料能够统计跳出输入要统计的分类序号按输入序号调用各功能模块函数结束(3)显示记录无记录退出,有记录者按要求输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#i nclude <stdio.h> #i nclude <stdlib.h> #in elude <coni o.h> #in elude <stri ng.h> void men u();〃 功能选择 void lkp();〃查看信息void chn g();〃 修改信息 void dlt();〃 删除信息 void add();〃 添加信息 void read();〃 读取文件 void write();〃 写入文件 void coun t();〃 统计信息struct dvc { chardn o[20],d name[20],dow ner[20],ddpartme nt[20],damou nt[20],dtime[20],dprice[20]; int dlt; } d[200]; int tot,sum; int mai n() {system("color fc");system("mode con cols=146 lin es=40"); ************************"); * 欢迎使用设备管理系统! *");************************");将保存至外存中的文件读进内存 用户功能选择将内存里的所有信息覆写回外存文件中system("cls"); puts("感谢您的使用"); return 0; }void read() { tot=0;FILE *fp=fope n("D:\\i nf.txt","r"); if(fp==NULL) {fp=fope n( "D:\\i nf.txt","w"); fclose(fp);}while (fscanf(fp," %s %s %s %s %s %s %s",d[tot].dno,d[tot].dname,d[tot].downer,d[tot]puts(" puts(" puts(" read();〃 menu(); // write(); //.ddpartme nt,d[tot].dam oun t,d[tot].dtime,d[tot].dprice)!=EOF){d[tot++].dlt=0;}fclose(fp);}void write(){int i;FILE *fp=fope n( "D:\\i nf.txt","w");for (i=0;i<tot;i++)if (!d[i].dlt) fprintf(fp,"%s %s %s %s %s %s %s\n",d[i].dno,d[i].dname,d[i].downer,d[i].ddpart men t,d[i].dam oun t,d[i].dtime,d[i].dprice);fclose(fp);}void menu(){char a;while (1){puts(" ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★请选择需要的功能:★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");puts("看所有设备信息\n修改设备信息\n除设备信息\n设备信息\n备信息\n统");a=getch();switch (a){case '0':retur n;case '1':{lkp(); break;}case 2:{chn g(); break;case 3:{dlt();break;}case '4':{ 1.2.3.4.5.0.查删增加统计设退出系}add();break;}case '5':{coun t();break;} default:pri ntf(”您输入的信息有误!请检查后重新输入\n");}}}void lkp(){system("cls");int i;printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<tot;i++){if(d[i].dlt==O)prin tf("%20s%20s%20s%20s%20s%20s%20s\n",d[i].d no,d[i].d name,d[i].dow ner,d[i].ddpartme nt,d[i].dam oun t,d[i].dtime,d[i].dprice);}}void chn g(){system("cls");char s,ch[20];int i,j;prin tf(" 请输入您要修改的设备的编号:(0键返回菜单栏)\n");prin tf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<tot;i++){prin tf("%4d.%20s%20s%20s%20s%20s%20s%20s\n" ,i+1,d[i].d no,d[i].d name,d[i].down er,d[i].ddpartme nt,d[i].dam oun t,d[i].dtime,d[i].dprice);}while (1){scan f("%s",ch);i=atoi(ch);if (i>=1 && i<=tot)break;else if(i==0){system("cls");return;}else puts(" 您输入的信息有误!请检查后重新输入\n");}if(d[i-1].dlt==1){prin tf(" 该设备已经被删除!\n");return;}printf(”请输入您要修改的内容的编号:\n1.设备号\n2.设备名称\n3.领用人\n4.所属部门\n5.数量\n6.购买时间\n7.价格\nO.返回菜单栏\n");while (1){scan f("%s",ch);j=atoi(ch);if (j>=1 && j<=7)break;else if(i==0){system("cls");return;}else puts(" 您输入的信息有误!请检查后重新输入\n");}printf(" 请输入您要修改的信息:\n");switch (j){case 1:{sca nf("%s",d[i-1].d no);break;}case 2:{sca nf("%s",d[i-1].d name);break;}case 3:{sca nf("%s",d[i-1].dow ner);case 4:{sca nf("%s",d[i-1].ddpartme nt); break;}case 5:{sca nf("%s",d[i-1].damou nt); break;} case 6:{sca nf("%s",d[i-1].dtime); break;} case 7:{sca nf("%s",d[i-1].dprice); break;}}printf(" 请问是否要继续修改?( Y/N ) \n");while (1) {getchar(); gets(&s);if (s=='Y'||s=='N'||s=='y'||s==' n')break;else puts(" 您输入的信息有误!请检查后重新输入 \n");}if(s=='Y'||s=='y')chn g(); else if(s=='N'||s==' n')system("cls");}void dlt() {system("cls"); char ch[20],s; int i;prin tf(" 请输入你要删除的设备的编号:(0键返回菜单烂)\n"); prin tf(" 设备号设备名称所属部门数量购买时间价格\n");for(i=0;i<tot;i++) {if(d[i].dlt==0)prin tf("%4d.%20s%20s%20s%20s%20s%20s%20s\n" ,i+1,d[i].d no,d[i].d name,d[i].do wn er,d[i].ddpartme nt,d[i].dam oun t,d[i].dtime,d[i].dprice);} while (1)break;}领用人scan f("%s",ch); i=atoi(ch); if (i>=1 && i<=tot)break;else if(i==0){system("cls"); return; }else puts(" 您输入的信息有误!请检查后重新输入}d[i-1].dlt=1;printf(”请问是否要继续删除?( Y/N) \n");while (1){getchar();gets(&s);if (s=='Y'||s=='N'||s=='y'||s==' n')break;else puts(" 您输入的信息有误!请检查后重新输入}if(s=='Y'||s=='y')dlt();else if(s=='N'||s==' n') system("cls");}void add(){char s;system("cls");printf(”请输入您要添加的设备号:\n");scan f("%s",d[tot].d no);printf(" 请输入您要添加的设备的名称:\n");scan f("%s",d[tot].d name);prin tf(" 请输入您要添加的设备的领用人:\n ”);scan f("%s",d[tot].dow ner);printf(" 请输入您要添加的设备的所属部门:\n");scan f("%s",d[tot].ddpartme nt);printf(" 请输入您要添加的设备的数量:\n");scan f("%s",d[tot].damou nt);printf(" 请输入您要添加的设备的购买时间:\n");scan f("%s",d[tot].dtime);prin tf(" 请输入您要添加的设备的价格:\n");\n"); \n");{ lkp();scan f("%s",d[tot].dprice); d[tot].dlt=0; tot+=1;printf(" 请问是否要继续添加?( Y/N ) \n");while (1) {getchar(); gets(&s);if (s=='Y'||s=='N'||s=='y'||s==' n') break;else puts(" 您输入的信息有误!请检查后重新输入 }if(s=='Y'||s=='y')add();else if(s=='N'||s==' n') system("cls");}void coun t() {system("cls");char ch[20],temp[20],s; int i,j,n; sum=0;printf (” 请选择统计的方式:\n1.所有设备的总价值。

相关文档
最新文档