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

合集下载

实验设备信息管理系统——C语言

实验设备信息管理系统——C语言

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

试设计一实验设备信息管理系统,使之能提供以下功能:1.能够完成对设备的录入和修改。

2.对设备进行分类统计。

3.设备的查询。

需求分析:实验室设备信息用文件储存,提供文件的输入输出操作;要能够完成设备的录入和修改工作,需要添加设备的添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的查询需要提供查找操作,设备的查询可根据设备编号,设备种类,设备名称,设备购入日期等多种方式查询;另外还要提供键盘式选择菜单以实现选择功能。

总体设计:试验设备信息添加输入模块,试验设备信息修改模块,实验设备信息统计模块和试验设备信息查询模块。

建立试验设备信息结构体,结构体成员包括设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。

我的程序设计如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 50void menu();void add();void modify();void stat();void search();int load();struct equipment{char num[10]; /*设备编号*/char kind[10]; /*设备种类*/char name[10]; /*设备名称*/char money[10]; /*设备价格*/char brithday[10]; /*设备日期*/char bf[10]; /*是否报废*/char badday[10]; /*报废日期*/}eup[N],temp;/* 返回主函数模块 */void menu(){int n;puts("\t\t************************MENU*************************\n\n" );puts("\t\t\t\t 1.tianjia shiyan ");puts("\t\t\t\t 2.xiugai");puts("\t\t\t\t 3.tongji");puts("\t\t\t\t 4.chaxun");puts("\t\t\t\t 5.EXIT");puts("\n\n\t\t****************************************************** ****\n");printf("please choice(1-5):[ ]\b\b");scanf("%d",&n);switch(n){case 1:add();break;case 2:modify();break;case 3:stat();break;case 4:search();break;case 5:exit(0);default:menu();}}void main()/*主函数*/{menu();getch();}/* 追加模块 */void add(){int i;FILE *fp;fp=fopen("eup.txt","a");if((fp=fopen("eup.txt","a"))==NULL){printf("cannot open file\n");}printf("\nshuru:num\tkind\tname\tmoney\tbrithday\tbf\tbadday\n");scanf("%s",temp.num);scanf("%s",temp.kind);scanf("%s",);scanf("%s",temp.money);scanf("%s",temp.brithday);scanf("%s",temp.bf);scanf("%s",temp.badday);fprintf(fp,"\n%s\t%s\t%s\t%s\t%s\t%s\t%s",temp.num,temp.kind,temp.na me,temp.money,temp.brithday,temp.bf,temp.badday);fclose(fp);printf("\n\n\tSuccessful.^_^\n\n");printf("\n********************************************************** *********************\n");printf("What do you want to do?\n\n");printf("\t1.Continue to add\t2.Back to main menu\t3.Exit\n"); printf("\n********************************************************** *********************\n");printf("\n\nInput your choice(1-3):");scanf("%d",&i);if(i==1){add();}if(i==2){menu();}if(i==3){exit(0);}}/* 修改模块 */void modify(){FILE *fp;int n,k=0,b,c,i,e;char a[10];n=load();for(i=0;i<n;i++){printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup[i]. name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}printf("\nInput the shebei number you want to modify!\n\nThe equ number:");scanf("%s",a);for(i=0;i<n;i++)if(strcmp(a,eup[i].num)==0) /*查找要修改的设备信息*/{k=1;c=i;break;}if(k==0){printf("\n\nsorry meiyou zhaodao!");printf("\t1).zaici chazhao 2).fanhui MENU []\b\b");scanf("%d",&b);if(b==1){modify();}if(b==2){menu();}}if(k==1){printf("\nFind the shebei!\n");printf("\nPlease input the new information:\n");printf("\nnum kind name money brithday bf badday\n"); scanf("%s",eup[c].num);scanf("%s",eup[c].kind);scanf("%s",eup[c].name);scanf("%s",eup[c].money);scanf("%s",eup[c].brithday);scanf("%s",eup[c].bf);scanf("%s",eup[c].badday);}fp=fopen("eup.txt","w");for(i=0;i<n;i++){fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup [i].name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}fclose(fp);printf("\n\n\tSuccessful.^_^\n\n");printf("\n********************************************************** *********************\n");printf("What do you want to do?\n\n");printf("\t1.Continue to modify\t2.Back to main menu\t3.Exit\n"); printf("\n********************************************************** *********************\n");printf("\n\nInput your choice(1-3):");scanf("%d",&e);if(e==1){modify();}if(e==2){menu();}if(e==3){exit(0);}}/* 分类统计模块 */void stat(){int n,i;FILE *fp;fp=fopen("eup.txt","r");if((fp=fopen("eup.txt","r"))==NULL){printf("cannot open file\n");}while(!feof(fp)){fscanf(fp,"\n%s %s %s %s %s %s %s",temp.num,temp.kind,,temp .money,temp.brithday,temp.bf,temp.badday);printf("\n%s\t%s\t%s\t%s\t%s\t%s\t%s",temp.num,temp.kind,,t emp.money,temp.brithday,temp.bf,temp.badday);}fclose(fp);menu();}/* 查找模块 */void search(){int i,n,k=-1,w1,w2,w3;char c[10];n=load();printf("\n\n chazhao yiju:\n\n1).shebei number 2).kind 3).name 4).birthday [ ]\b\b");scanf("%d",&w3);switch(w3){case 1:{printf("\n\nprint yao chazhao de shebei number! num:");scanf("%s",c);for(i=0;i<n;i++)if(strcmp(c,eup[i].num)==0){k=i;printf("\nFind the shebei!\n");printf("\nThe shebei information:\n");printf("\nnum kind name money brithday bf badday\n\n");printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup[i]. name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}if (k!=-1)printf("\n\nSuccessful.^_^.");if (k==-1)printf("Did not find the shebei!\n");printf("\n\t1).Search again 2).Back menu [ ]\b\b"); scanf("%d",&w2);if(w2==2) menu();if(w2==1) search();}break;case 2:{printf("\n\nprint yao chazhao de shebei kind! kind:");scanf("%s",c);for(i=0;i<n;i++)if(strcmp(c,eup[i].kind)==0){k=i;printf("\nFind the shebei!\n");printf("\nThe shebei information:\n");printf("\nnum kind name money brithday bf badday\n\n");printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup[i]. name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}if (k!=-1)printf("\n\nSuccessful.^_^.");if (k==-1)printf("Did not find the shebei!\n");printf("\n\t1).Search again 2).Back menu [ ]\b\b"); scanf("%d",&w2);if(w2==2) menu();if(w2==1) search();}break;case 3:{printf("\n\nprint yao chazhao de shebei name! name:");scanf("%s",c);for(i=0;i<n;i++)if(strcmp(c,eup[i].name)==0){k=i;printf("\nFind the shebei!\n");printf("\nThe shebei information:\n");printf("\nnum kind name money brithday bf badday\n\n");printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup[i]. name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}if (k!=-1)printf("\n\nSuccessful.^_^.");if (k==-1)printf("Did not find the shebei!\n");printf("\n\t1).Search again 2).Back menu [ ]\b\b"); scanf("%d",&w2);if(w2==2) menu();if(w2==1) search();case 4:{printf("\n\nprint yao chazhao de shebei birthday! birthday:");scanf("%s",c);for(i=0;i<n;i++)if(strcmp(c,eup[i].brithday)==0){k=i;printf("\nFind the shebei!\n");printf("\nThe shebei information:\n");printf("\nnum kind name money brithday bf badday\n\n");printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\n",eup[i].num,eup[i].kind,eup[i]. name,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);}if (k!=-1)printf("\n\nSuccessful.^_^.");if (k==-1)printf("Did not find the shebei!\n");printf("\n\t1).Search again 2).Back menu [ ]\b\b"); scanf("%d",&w2);if(w2==2) menu();if(w2==1) search();}}}int load(){FILE *fp;int i;if((fp=fopen("eup.txt","r"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fscanf(fp,"%s %s %s %s %s %s %s\n",eup[i].num,eup[i].kind,eup[i].nam e,eup[i].money,eup[i].brithday,eup[i].bf,eup[i].badday);fclose(fp);}下面是程序运行的流程图。

c语言实验设备管理系统

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()(2)分类sort()按某种条目进行分类也是需要通过查找相同,但不同的是条目的具体内容是不确定的,只是把条目内容相同的部分进行排序使其归类在一起,使用了冒泡排序法。

由于是使用字符串,所以排序的依据是根据ASCII码顺序。

图4.5 分类N-S图图4.5 分类N-S图(3)删除delect()读取文件内容,但读写时跳过需要删除的行不读,然后把读取出的内容重新写入文件int i,j; char c[20];printf("\nenter you want delete name :\n");for(i=0;i<count;i++)if(strcmp(c,dev[i].devname)==0)Y Nfor(j=i;j<count-1;j++)dev[j]=dev[j+1];printf("\t\t\tyou had delete %s\n",c);图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语言书籍温习有关知识。

c语言设备管理系统

c语言设备管理系统

课程设计说明书学院、系:专业:学生姓名:学号:设计题目:设备管理系统起迄日期:指导教师:日期: 2017年5月12日1 设计目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。

通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。

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

能够显示和统计各种设备的信息。

分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。

3、进一步要求:完成设备按种类、按所属部门进行统计。

3 模块划分系统可设计为:实验设备信息写入模块实验设备信息输出模块.实验设备信息查询模块实验设备信息添加模块实验设备信息删除模块实验设备信息查询模块实验设备信息统计模块结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。

4 主要函数说明及其N-S图4.1主函数流程图4.2 N-S图4.3查询记录图4.4读入/写入文件图4.44.5添加数据图4.54.6删除数据图4.7修改数据4.8统计数据5 程序运行数据及其结果图5.1 进入界面图5.2菜单&功能选择图5.3 添加数据图5.4 查看数据图5.5 删除数据图5.6 修改数据图5.7 统计数据6 课程设计心得经历了大一上半学期C语言课程,C语言笔试,C语言机试的“洗礼”,让我对C语言的有了进一步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。

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语言程序设计报告1 课程设计题目:实验室设备管理里系统实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。

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

3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。

4 建立实验设备信息结构体结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。

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

流程图如下:(2)修改记录系统要求用户输入要修改的设备ID号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。

流程图如下:(3)显示记录无记录退出,有记录者按要求输出。

流程图如下:(4)统计分类若有资料可以统计,则按要求分类统计输出。

流程图如下:(5)查询记录若信息为空,则不能查询。

流程图如下:(6)结束语通过本次c语言的程序设计,我不仅提高巩固了c语言的基础,也初学习了编写一个实用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。

我相信经过努力后,我的编程能力一定会得到提高。

源程序代码清单:void main(){Node *equip;FILE *fp;int flag;Node *p,*q;printf("\t\t\t\t设备管理系统\n");equip=(Node*)malloc(sizeof(Node));equip->next=NULL;p=equip;fp=fopen("设备管理系统","wb+");q=(Node*)malloc(sizeof(Node));if(fread(q,sizeof(Node),1,fp)) /*将文件的内容放入接点中* /{q->next=NULL;p->next=q;p=q; /*将该接点挂入链表中*/}fclose(fp); /*关闭文件*/while(1){printf("********************目录***********************");printf("\n1添加记录\n");printf("\n2修改记录\n");printf("\n3显示记录\n");printf("\n4统计分类\n");printf(“\n5 查询记录\n”);printf("\n0*-EXIT-*\n");printf("请输入你要操作的序号:");scanf("%d",&flag);switch(flag){case 0: printf("\n>>>>>>>>>>提示:已经退出系统,ByeBye!\n");break;case 1: Add(equip); break; /*增加记录*/case 2: Modify(equip); break;/*修改记录*/case 3: Disp(equip); break;/*显示记录信息*/case 4: Tongji(equip); break;/*统计记录*/case 5:chaxun(equip);break;/*查询记录*/default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;}}}Struct shebei{ char ID[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10]; char price[10];}void Add(Node *equip) /*添加记录*/{Node *p,*r,*s;char id[10]; /*先用于输入ID,也用于判断是否跳出循环*/r=equip;s=equip->next; /*使s为第一个有用的结点*/while(r->next!=NULL) /*这个循环的作用是使r为最后一个有用的结点*/r=r->next; /*将指针置于最末尾*/while(1){printf(">>>>>>>>>>提示:输入0则返回主菜单!\n");printf("\n请你输入设备ID号:");scanf("%s",id);if(strcmp(id,"0")==0) break;p=(Node *)malloc(sizeof(Node)); /*申请空间*/strcpy(p->data.ID,id);printf("\n请输入设备名称:");scanf("%s",p->);printf("\n请输入设备种类:");scanf("%s",p->data.kind);printf("\n请输入报废日期:");scanf("%s",&p->data.over);printf("\n请输入设备是否报废:");scanf("%s",&p->data.yesno);printf("\n请输入设备购买时间:");scanf("%s",&p->data.time);printf("\n请输入设备价格:");scanf("%s",&p->data.price);printf(">>>>>>>>>>提示:已经完成一条记录的添加。

c语言实验设备管理系统

c语言实验设备管理系统

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

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

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

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

主要功能(1)完成对设备信息的录入函数(2)完成修改某个设备信息的函数(3)根据给定信息对设备进行分类统计(4)设备的破损耗费和遗损处理(5)设备的查询3 模块划分功能[1]:添加新的设备信息功能[2]: 统计设备数量功能[3]:查找符合条件的设备及其数量功能[4]:对设备信息按条件进行分类排序功能[5]:修改设备信息功能[6]:删除某条设备记录4图4.4 查找操作N-S图5图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语言程序设计实习报告试验设备管理系统班级:姓名:学号:指导老师:一课程设计的目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。

二课程设计报告正文1 课程设计题目的原文;实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。

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

3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。

建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。

4 详细设计A 主函数(){*;*;;*p,*q;("\t\t\t\t设备管理系统\n");(*)(());;("设备管理系统","");(*)(());(((),1)) 将文件的内容放入接点中{>;>;; 将该接点挂入链表中}(); 关闭文件(1){("***********************目录("\n1添加记录\n");("\n2修改记录\n");("\n3显示记录\n");("\n4统计分类记录\n");("\n0**\n");("请输入你要操作的序号:");("");(){0: ("\n>>>>>>>>>>提示:已经退出系统!\n");1: (); ; 增加记录2: (); 修改记录3: (); 显示记录信息4: (); 统计记录: ("\n>>>>>>>>>>提示:输入错误!\n"); ;}}}B 各功能模块设计(1)输入模块{ [10]; [15]; [15]; [15]; [10]; [10];};(2)追加模块( *) 添加记录{*p,*r,*s;[10]; 先用于输入,也用于判断是否跳出循环;>; 使s为第一个有用的结点(>) 这个循环的作用是使r为最后一个有用的结点(1){(">>>>>>>>>>提示:输入0则返回主菜单!\n");("\n请你输入设备号:");("");((,"0")0) ;( *)(()); 申请空间(>);("\n请输入设备名称:");("">);("\n请输入设备种类:");("">);("\n请输入报废日期:");("">);("\n请输入设备是否报废:");("">);("\n请输入设备购买时间:");("">);("\n请输入设备价格:");("">);(">>>>>>>>>>提示:已经完成一条记录的添加。

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

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

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

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

3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。

主函数流程图:N+4 建立实验设备信息结构体 结构体成员包括设备编号 设备名称 部门编号 部门名称 设备价格 设备购买时间 是否报废 报废日期。

5应用程序功能详细说明程序运行后进入管理系统,显示目录:录入设备信息,修改设备信息,查询设备信息,统计设备信息,报废设备信息,退出录入设备信息 系统提示用户在原有的基础上录入新的设备信息。

流程图如下:录入设备信息修改设备信息查询设备信息统计设备信息报废设备信息退出设备管理系统设计开始 显示一系列功能选输入n,判断据n 值调用各功能模结束开始输入设备编号,并将(1)修改记录系统要求用户输入要修改的设备编号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。

流程图如下:开始判断是否有资料可以没有资料可以统计输入要统计的分类序按输入序号调用各功结束(2)显示记录无记录退出,有记录者按要求输出。

流程图如下:开(3) 统计分类 若有资料可以统计,则按要求分类统计输出。

流程图如下:(4) 查询记录 若信息为空,则不能查询。

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

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

减少内存占用:优 化数据结构和算法, 减少内存消耗
提高运行速度:采用 高效的算法和数据结 构,减少不必要的计 算和等待时间
增强可维护性:采 用模块化设计,方 便代码的修改和维 护
增加功能:根据实 际需求,增加必要 的功能,提高系统 的实用性和易用性
系统部署与维护
硬件准备:准备服务器、网络设备、存储设备等 软件安装:安装操作系统、数据库、C语言编译器等 系统配置:配置网络、存储、数据库等参数 测试与上线:进行系统测试,确保系统正常运行,正式上线使用
操作
系统测试与优化
定义与目的:对程序中的每个模块 进行单独测试,确保其功能正确性
测试用例设计:针对每个模块设计 测试用例,包括正常情况、异常情 况等
添加标题
添加标题
添加标题
添加标题
测试方法:白盒测试、黑盒测试、 灰盒测试等
测试结果分析:对测试结果进行统 计和分析,找出问题并进行修复
定义:将多个模块组合在一起进行测试,确保系统整体功能正常运行 目的:发现模块间接口问题,确保系统稳定性和可靠性 测试方法:采用黑盒测试、白盒测试等方法,模拟实际使用场景进行测试 测试用例设计:根据需求和功能设计测试用例,覆盖所有功能点和异常情况
设备管理功能: 实现设备的添加、 删除、修改和查 询等操作
设备状态监控功 能:实时监控设 备的运行状态, 及时发现故障并 报警
设备预约功能: 学生可以通过系 统预约设备,提 高设备使用效率
设备报修功能: 学生可以通过系 统报修设备故障, 方便管理员及时 处理
数据库设计:包 括表结构、字段 定义等
理效率。
系统特点:该系 统采用C语言开发, 具有高效、稳定、 易用等特点,能 够满足实验室设 备管理的需求。

实验设备管理系统c语言版

实验设备管理系统c语言版
(2).修改模块
用for循环使用feof函数从文件头逐个读取文件字符直到文件结尾,其中用了strcmp函数,比较文件中的数据与输入数是否匹配,若是匹配,返回0,说明你输入的编号正确,键面进入请输入新的编号、种类、名称等,将修改后的信息写入文件中,成功后输出write。
int modifty()/*修改模块*/
Visual C++
三、内容与设计思想(1 .设计思路 2 .主要数据结构 3 .主要代码结构 4 .主要代码段分析 。 )
1 .设计思路
如下图所示
2 .主要数据结构
typedef struct EquInfo //定义结构体
{ char equipCode[10]; //编号
char equipType[20]; //种类
fprintf(fp,"%s %s %s %f %s %d %s ",newequ[j].equipCode,newequ[j].equipType,newequ[j].equipName,newequ[j].equipPrice,newequ[j].buyDate,newequ[j].scrap,newequ[j].scrapDate);
}
fclose(fp);
四、调试过程(1 .测试数据设计 2 .测试结果分析)
(1)测试数据设计:
进入主菜单:根据需求操作,按“1”添加信息,以便测试
设备个数:2
设备编号:1
设备各类:abc
设备名称:switch
设备价格:90
购买日期:
是否报废:0
报废日期:0
(2)测试结果分析:
1.主菜单函数:根据需求输入相应的操作
if(strcmp(equ.equipCode,code)==0){

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

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

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

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

三.总体设计根据上面的需求分析,可以将这个系统的设计分为以下模块四.详细设计1.主函数[流程图][程序]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)输入模块[流程图][程序]/*********************输入模块*****************************/ 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,new equ.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,new equ.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); 5if(c==1)return(-1);if(c==2)return(0); /*任务结束选择是返回主菜单还是跳出*/}}(3)修改模块[需求分析]此模块可以根据客户需要对以记录在文件中的信息进行修改[流程图][程序]/*******************************修改模块*********************/int modifty() /*修改模块*/{EQ equ[50];char code[10];int i,j,c;FILE *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){ 6printf("\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].eq uipName,&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");} 7for(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].e quipName,equ[i].equipPrice,equ[i].buyYear,equ[i].buyMonth,equ[i].buyDay,equ[i].scrap,equ[i].sc rapYear,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");} 8 printf("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.scra pMonth,&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.equipPrice,equ. buyYear,equ.buyMonth,equ.buyDay,equ.scrap,equ.scrapYear,equ.scrapMonth,equ.scr apDay);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语言课程设计报告设备管理系统

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

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

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

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

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

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

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

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

c语言程序设计实验设备管理系统-百度文库

c语言程序设计实验设备管理系统-百度文库

本文由导员0000贡献doc文档课程设计报告书实验设备管理系统<br />班学姓<br />级:号:名:<br />0909方 0909-1 20096409 王晶康亚男<br />指导教师:指导教师:<br />石家庄铁道大学四方学院<br />二零一零年七月十五号<br />1<br />课程设计报告内容<br />1. 选择题目<br />题目:实验设备管理系统题目:实验设备管理系统 2. 内容摘要<br />实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验摘要:室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。

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

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

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

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

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

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

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

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

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

实验设备管理系统一、设计内容与设计要求1.设计内容:通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存等操作的管理。

实验设备信息包括:设备编号,设备种类,设备名称(如烧杯、酒精灯等),设备价格,设备购入日期,是否报废,报废日期等。

主要功能:1)、能够完成对设备的录入和修改2)、对设备进行分类统计3)、设备的破损耗费和遗损处理4)、设备的查询5)、将设备信息保存到文件中2.设计要求:1)、设计正确,方案合理。

2)、界面友好,使用方便。

3)、程序精炼,结构清晰。

4)、设计报告5000字以上,。

5)、上机演示。

#include "stdio.h"#include "stdlib.h"#include "string.h"struct shebei{char ID[10];char name[15];char kind[15];char over[15];char yesno[10];char time[10];char price[10];};typedef struct node{struct shebei data;struct node *next; //建立一个链表。

}Node;void Add(Node *equip) //添加记录{Node *p,*r,*s;char id[10]; //先用于输入ID,也用于判断是否跳出循环r=equip;s=equip->next; //使s为第一个有用的结点while(r->next!=NULL) //这个循环的作用是使r为最后一个有用的结点r=r->next; //将指针置于最末尾while(1){printf(">>>>>>>>>>提示:输入0则返回主菜单!\n");printf("\n请你输入设备ID号:");scanf("%s",id);if(strcmp(id,"0")==0) break;p=(Node *)malloc(sizeof(Node)); //申请空间strcpy(p->data.ID,id);printf("\n请输入设备名称:");scanf("%s",p->);printf("\n请输入设备种类:");scanf("%s",p->data.kind);printf("\n请输入报废日期:");scanf("%s",&p->data.over);printf("\n请输入设备是否报废:");scanf("%s",&p->data.yesno);printf("\n请输入设备购买时间:");scanf("%s",&p->data.time);printf("\n请输入设备价格:");scanf("%s",&p->data.price);printf(">>>>>>>>>>提示:已经完成一条记录的添加。

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

C语言 实验室设备管理系统
3 总体设计与模块的划分
整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模 块 实验设备分类统计模块和实验设备查询模块。
实验设备管理系统设计
实验 设备 信息 输入 模块
实验 设备 信息 添加 模块
实验 设备 信息 修改 模块
实验 设备 分内 统计 模块
实验 设备 查询 模块
(5) 查询记录 若信息为空,则不能查询。流程图如下: 开始
判断是否有资料为空 资料为空 跳出 输入要查询的分类序号 按输入序号调用各功能模块 函数
结束
4
(6)结束语
通过本次 c 语言的程序设计,我不仅提高巩固了 c 语言的基础,也初学习了编写一个实 用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。我相信经过努力后,我的编 程能力一定会得到提高。
C 语言程序设计报告
1 课程设计题目:实验室设备管理里系统
实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、 设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之 能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询
开始
输入 ID 号,并将指针指向最 末尾
依次输入设备机构体内容, 完成一条添加 Nhomakorabea录提示一完成一条记录添加
结束
2
(2) 修改记录 系统要求用户输入要修改的设备 ID 号,这时系统会显示设备的具体信息, 用户只需该设备新的信息按要求输入即可对信息进行修改。流程图如下: 开始 判断是否有资料可以统计分 类 没有资料可以统计 跳出 输入要统计的分类序号 按输入序号调用各功能模块 函数 结束
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

试设计一实验设备信息管理系统,使之能提供以下功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询主函数流程图:是否(1)修改记录系统要求用户输入要修改的设备编号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。

流程图如下:(3)统计分类若有资料可以统计,则按要求分类统计输出。

流程图如下:(6)结束语通过本次c语言的程序设计,我不仅提高巩固了c语言的基础,也初学习了编写一个实用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。

我相信经过努力后,我的编程能力一定会得到提高。

源程序代码清单:void main(){printf("\n4统计分类\n");printf(“\n5 查询记录\n”);printf("\n0*-EXIT-*\n");printf("请输入你要操作的序号:");scanf("%d",&flag);switch(flag){case 0: printf("\n>>>>>>>>>>提示:已经退出系统,ByeBye!\n");break;case 1: Add(equip); break; /*增加记录*/case 2: Modify(equip); break;/*修改记录*/case 3: Disp(equip); break;/*显示记录信息*/case 4: Tongji(equip); break;/*统计记录*/case 5:chaxun(equip);break;/*查询记录*/default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;}}}Struct shebei{ char ID[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10]; char price[10];scanf("%s",&p->data.over);printf("\n请输入设备是否报废:");scanf("%s",&p->data.yesno);printf("\n请输入设备购买时间:");scanf("%s",&p->data.time);printf("\n请输入设备价格:");scanf("%s",&p->data.price);printf(">>>>>>>>>>提示:已经完成一条记录的添加。

\n");p->next=NULL;r->next=p; /*这一步是必需的,将p与先前的链表连起来构成一条新链表*/r=p; /*也是必需的.将r 又重设为新链的最后一个有用结点*/}}void Modify(Node *equip)/*修改*/{Node *p;char find[20];if(!equip->next){printf("\n>>>>>>>>>>提示:没有资料可以修改!\n");Nprintf("请输入新设备名称(原来是%s ):",p->);scanf("%s",p->);printf("请输入新设备设备种类名称(原来是%s ):",p->data.kind);scanf("%s",p->data.kind);printf("请输入新设备报废日期名称(原来是%s ):",p->data.over);scanf("%s",p->data.over);printf("请输入新设备是否报废(原来是%s ):",p->data.yesno);scanf("%s",p->data.yesno);printf("请输入新设备购买时间(原来是%s ):",p->data.kind);scanf("%s",p->data.time);printf("请输入新设备价格(原来是%s ):",p->data.price);scanf("%s",p->data.price);printf("\n>>>>>>>>>>提示:该项记录资料已经成功修改!\n");}}else printf("\n>>>>>>>>>>提示:你要修改的信息不存在!\n");}void Disp(Node *equip)/*输出记录*/{{printf("\n>>>>>>>>>>提示:没有资料可以统计分类!\n");return;}printf(">>>>>>提示:\n===>0退出\n===>1按设备号统计\n===>2按设备名称统计\n"); scanf("%d",&sel);if(sel==1){printf("\n输入你要统计分类的设备号:");scanf("%s",find);{if(strcmp(p->data.ID,find)==0){flag2++;}if(flag2==1&&ha!=flag2){ printf("设备号码设备名称设备种类报废日期是否报废购买时间价格\n");printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->,p->data.kind,p-> data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;{ printf("设备号码设备名称设备种类报废日期是否报废购买时间价格\n");printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->,p->data.kind,p-> data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}elseif(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->,p-> data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}p=p->next;}{printf("\n***********按设备名称%s统计的有%d条记录:***************\n\n",find,flag2); }else {printf("\n按设备名称%s统计分类的结果为0个\n\n",find);}}else if(sel==0) return;}(6) 查询模块void chaxun(Node *equip)/*查询*/\n");printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->,p->data.kind,p-> data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}elseif(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->,p-> data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}p=p->next;}if(flag2){printf("\n**************按设备号%s查询有%d条记录:*****************\n\n",find,flag2); }else {printf("\n按设备号%s统计的结果为0个\n\n",find);}}else if(sel==2){printf("\n输入你要查询的设备名称:");scanf("%s",find);while(p){。

相关文档
最新文档