实验室管理系统—C语言
实验设备管理系统C语言课程设计报告
电子信息学院C语言程序设计课程设计设计报告课题题目:实验设备管理系统班级:通信11302班姓名:王焱章班级序号:19同组成员:王炳辉、杨继玲完成时间:2015 年7 月9 日目录一、课题题目 (3)二、设计目的 (3)三、总体设计 (3)四、详细设计 (5)五、调试与测试 (11)六、课程设计心得及体会 (13)七、源程序清单与执行结果 (15)附:指导老师意见 (32)一、课题题目实验设备管理系统二、设计目的1.加深对讲授内容的理解,尤其是一些语法规则;2.熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用;3.能够综合运用所学知识,编程解决实际问题;4.培养团队分工合作的意识,最终使学生提高;编程技能和解决实际问题的能力。
三、总体设计(1)系统组成框图(2)系统流程图是四、详细设计(1)主函数:void main(){Node *equip;equip = (Node*)malloc(sizeof(Node)); equip->next=NULL; int flag;否printf("\t\t\t\t 实验室设备管理系统\n"); while(1){system("cls");printf(" *************目录 printf("\n 1.添加记录\n"); printf("\n 2.修改记录\n"); printf("\n 3.显示记录\n"); printf("\n 4.查询设备\n"); printf("\n 5.删除设备记录\n"); printf("\n 6.用文件保存\n"); printf("\n 7.简单的帮助\n");printf("\n 8.分类统计\n");printf("\n 9.从文件输出\n");printf("\n 0.退出\n");printf("\n 请输入你要操作的序号:\n");printf("\n 提示:输入0则返回主菜单!\n");scanf("%d",&flag);switch(flag){case 0: system("cls");printf("\n>>>>>>>>>>提示:已经退出系统,ByeBye!\n");break;case 1: system("cls");Add(equip); break; //添加记录case 2: system("cls");Modify(equip); break;//修改记录case 3: system("cls");Disp(equip); break;//显示记录case 4: system("cls");search(equip); break;//查询设备case 5: system("cls");delet(equip); break;//删除设备记录case 6: system("cls");Save(equip); break;//用文件保存case 7: system("cls");help(); break;//简单的帮助case 8: system("cls");Classify(equip); break;//分类统计case 9: system("cls");Read_From_File(); break;//从文件输出default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;}scanf("%d",&flag);}}(2)添加记录模块:主要功能就是添加设备信息,包括设备编号、设备名称、设备种类、是否报废、报废日期、购买日期、价格等信息。
实验设备信息管理系统——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语言课程设计院系:姓名:学号:班号:指导教师:日期:目录一.题目要求 (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语言程序课程设计-实验设备管理系统
课程设计报告书实验设备管理系统班级:学号: 9姓名:指导教师:二零一零年七月十五号课程设计报告内容1.选择题目题目:实验设备管理系统2.内容摘要摘要:实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。
而且系统应符合设备管理的有关规定,包括新设备的申请、购买确认、新设备信息录入、旧设备维修和报废及用户管理等。
能满足日常工作的基本需要,并达到操作过程中的直观、方便、实用、安全等有关要求。
实验室设备管理系统是一个典型的信息管理系统,采用面向对象的分析方法,给出系统的基本结构、设计特色、设计模型及实现途径,并且对系统的开发技术进行研究。本系统是一个为适应对学校实验室设备管理的迫切需求而设计开发的软件系统。
3.索引关键词关键词:结构体、文件、数组、函数4.目录●目录……………………………………………………………●题目要求 (3)●设计思想............................................................3-4 ●系统完成及功能 (4)●界面设计……………………………………………………4-5●核心算法及说明………………………………………….5-11●结论 (11)●考资料 (12)●后记 (12)●附录………………………………………………………12-135. 正文包括课程设计的要求,设计思想,系统完成的功能,及界面设计,核心算法及说明,和结论几部分,正文必须从页首开始。
课程设计题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
主要功能:1、能够完成对设备的录入和修改2、对设备进行分类统计3、设备的破损耗费和遗损处理4、设备的查询要求:使用二进制文件方式存储数据,系统以菜单方式工作设计思想第一,应该具有自动初始化的功能。
实验设备管理系统c语言版
printf("**********************************************************\n");
printf("请输入要修改的设备编号:\n");
scanf("%s",code); /*输入要修改的设备编号*/
printf("------------------------------------\n");
}
fclose(fp);
printf("\n-----------------------\n");
printf("返回主菜单 \n");
printf("1.是\n");
printf("2.不,退出\n");
scanf("%d",&c);
if(c==1)return(-1);
if(c==2)return(0); /*任务结束选择是返回主菜单还是跳出*/
实验室设备信息用文件存储,故要提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的查询需要提供查找操作;另外还要提供键盘式选择菜单以实现功能选择总体设计
整个系统被设计为实验设备信息输入模块、实验设备信息添加模块、实验设备信息修改模块、实验设备分类统计模块和实验设备查询模块。
{
if((fp=fopen("","r"))==NULL)
{printf("\n不能打开文件!\n");}
C语言课程设计实验室设备信息管理系统
二○一五~二○一六学年第一学期电子与信息工程系课程设计报告书课程名称:程序设计基础实践班级:学号:姓名:指导教师:二○一五年十二月1..实验室设备信息管理系统功能(1). 每一条记录包括实验室的设备编号、设备名称、设备型号、设备价格、设备购买日期信息。
(2). 实验设备信息录入:可以一次完成诸多条记录的录入。
(3). 实验设备信息更改:可实现对实验设备信息更改的信息进行适当的修改。
(4). 报废设备信息删除:对实验损毁设备信息予以删除。
(5). 实验设备信息查询:本系统提供两种查询实验设备的方法:1.按器材名称查询.2.按器材编号查询.从而完成按实验设备的查找查找功能,并显示。
(6). 实验设备信息排序:根据实验设备的编号进行排序,以实现实验设备的有序全局查看。
实验设备信息显示功能:完成全部学生记录的显示。
(7). 简单帮助:提供实验室负责人简单的信息。
(8). 保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\。
(9). 读取功能:将保存在文件中的学生记录读取出来。
(10). 有一个清晰美观界面来调用各个功能2.设计内容2.1 程序的总体设计整个系统除了主函数外,另外还有11个函数,实现以下功能:实验室设备录入功能、显示功能、查找功能、排序功能、读出与写入取功能。
各个函数的详细设计说明分别如下:2.2 数据结构使用C语言创建的结构体如下:/*定义数据结构*/{; 编号[20]; 名称[20]; 型号[20]; 价格[20]; 购买日期};3 详细设计3.1实验设备管理系统主程序模块设计控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图1所示。
通过进入分支结构从而调用执行不同的函数,以实现菜单选择的功能。
程序如下:(){;2;();("");(1){/*主菜单*/("\n\n\n\n\n\t\ 苏州科技学院实验器材管理系统\n\n");("\t\t\t 1. 实验设备信息录入\n");("\t\t\t 2. 实验设备信息更改\n");("\t\t\t 3. 报废设备信息删除\n");("\t\t\t 4. 实验设备信息查询\n");("\t\t\t 5. 实验设备信息排序\n");("\t\t\t 6. 帮助\n");("\t\t\t 7. 退出\n");("\n\t\******\n");("\n\n\n 请选择(1-7):");("");();("");(){1:();;2:();;3:;4:("\n\n\n\n\n\t请选择(1/2) → 1.按器材名称查询\n"); (" 2.按器材编号查询\n\n\n");(""2);(2){1:();;2:();;};5:();();;6:("\n\n\n\n\n\n\t\t\**电子与通信工程学院实验室**\n\n");("\t\t\t\t 负责人:\n\n");("\t\t\t\t 办公室:201 \n\n");("\t\t\t\t :8 \n\n");("\t\t\**************\n\n");("\t\t\t\t\ →\n\n");;7:;}("");("");();}}N 其运行界面如下:3.2一些辅助函数通过设备编号返回数组下标(( []))显示系统所提供的全部功能选择输入0-7,通过判断据n值调用各功能模块函数结束开始通过(([i])0) 进行比较,从而反馈回对应设备的数组下标。
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语言版精选文档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语言实现
一、设计目的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语言程序设计报告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语言程序设计报告课程设计的目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。
二课程设计报告正文1课程设计题目的原文;实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。
试设计一实验设备信息管理系统,使之能提供以下功能:(1 )能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询2需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。
4建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。
4详细设计A主函数void mai n(){Node *equip;FILE *fp;int flag;Node *p,*q;printf("\t\t\t\t 设备管理系统\n"); equip=(Node*)malloc(sizeof(Node));printf("\n2 修改记录\n");printf("\n3 显示记录\n");printf("\n4统计分类记录\n");prin tf("\nO*-EXIT-*\n ”);printf("请输入你要操作的序号:”);sca nf("%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: Ton gji(equip); break;// 统计记录default: printf("\n>>>>>>>>>> 提示:输入错误!\n"); break;}}}B各功能模块设计(1 )输入模块Struct shebei{ char ID[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10]; char price[10];};(2 )追加模块void Add(Node *equip) // 添加记录{Node *p,*r,*s;char id[10]; //先用于输入ID,也用于判断是否跳出循环r=equip;s=equip->next; //使s 为第一个有用的结点 while(r->next!=NULL) // 这个循环的作用是使r=r->next; //将指针置于最末尾 while(1){ printf(">>>>>>>>>>提示:输入0则返回主菜单printf("\n 请你输入设备ID 号:"); sca nf("%s",id);if(strcmp(id,"0")==0) break; p=(Node*)malloc(sizeof(Node)); // 申请空间 strcpy(p->data.ID,id); printf("\n 请输入设备名称:"); scanf("%s",p->data .n ame); printf("\n 请输入设备种类:");sca nf("%s",p->data.ki nd); printf("\n 请输入报废日期:"); sca nf("%s",& p->data.over); printf("\n 请输入设备是否报废:"); sca nf("%s", &p->data.yes no);printf("\n 请输入设备购买时间:”); sca nf("%s",&p->data.time); printf("\n 请输入设备价格:"); scanf("%s", &p->data.price); printf(">>>>>>>>>>提示:已经完成一条记录的添加。
c程序课程设计--实验室管理系统
目录1需求分析 (4)2 总体设计 (4)2.1程序的总体设计 (4)2.2数据结构 (5)3 详细设计 (6)3.1主控模块设计 (6)3.2实验设备信息录入模块设计 (7)3.3实验设备信息更改模块设计 (8)3.4实验设备信息删除模块设计 (9)4.主要函数功能描述 (10)4.1 添加设备函数addEequipment() (10)4.2 输入到文件函数fpintE (10)4.3 修改设备信息函数changeEquipment() (10)4.4 删除设备信息函数deleteEquipment() (10)5 测试与调试 (11)6 个人设计小结与心得体会 (12)参考文献 (12)致谢 (13)附件1 程序源代码 (13)前言现在,科学技术的飞速发展把人类社会推向了一个崭新的时代─信息时代。
这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。
随着对信息作为一种资源来管理的需求日益加强,信息研究领域出现了一种新的管理思想和模式─信息管理。
计算机管理以其快捷高效的特点在很多领域已经取代了传统的手工管理方式,尤其是在繁复琐碎的物资设备管理中,计算机管理手段的这一优势更显得十分突出。
与传统管理方式相比较,设备管理系统能更加有效的进行信息管理。
设备管理系统应用数据库,对信息数据以数据库形式表示,更容易更新和管理。
传统的管理方式往往以表格的形式进行管理,一旦数据过于庞大,要对这些数据进行管理时,就要花费大量的时间,而且很容易出错。
由于现代信息化的普及化,因此现代信息化的设备管理模式很快取代了传统模式的管理方式。
摘要在此次课程设计中我们小组的课设题目是实验室设备信息管理系统,我们使用软件Visual C++6.0及C语言来完成此次课程设计。
我在课设过程中实现了系统的主菜单,设备信息录入,设备信息修改,设备信息删除等功能。
利用开发程序对实验室设备进行方便、有效、合理的管理。
C语言-实验室设备管理系统
精心整理C语言程序设计报告1 课程设计题目:实验室设备管理里系统实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。
试设计一实验设备信息管理系统,使之能提供以下功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询2 需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。
主函数流程图:N+4 建立实验设备信息结构体 结构体成员包括设备编号 设备名称 部门编号 部门名称 设备价格 设备购买时间 是否报废 报废日期。
5应用程序功能详细说明程序运行后进入管理系统,显示目录:录入设备信息,修改设备信息,查询设备信息,统计设备信息,报废设备信息,退出录入设备信息 系统提示用户在原有的基础上录入新的设备信息。
流程图如下:录入设备信息修改设备信息查询设备信息统计设备信息报废设备信息退出设备管理系统设计开始 显示一系列功能选输入n,判断据n 值调用各功能模结束开始输入设备编号,并将(1)修改记录系统要求用户输入要修改的设备编号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。
流程图如下:开始判断是否有资料可以没有资料可以统计输入要统计的分类序按输入序号调用各功结束(2)显示记录无记录退出,有记录者按要求输出。
流程图如下:开(3) 统计分类 若有资料可以统计,则按要求分类统计输出。
流程图如下:(4) 查询记录 若信息为空,则不能查询。
C语言实验室设备管理系统
减少内存占用:优 化数据结构和算法, 减少内存消耗
提高运行速度:采用 高效的算法和数据结 构,减少不必要的计 算和等待时间
增强可维护性:采 用模块化设计,方 便代码的修改和维 护
增加功能:根据实 际需求,增加必要 的功能,提高系统 的实用性和易用性
系统部署与维护
硬件准备:准备服务器、网络设备、存储设备等 软件安装:安装操作系统、数据库、C语言编译器等 系统配置:配置网络、存储、数据库等参数 测试与上线:进行系统测试,确保系统正常运行,正式上线使用
操作
系统测试与优化
定义与目的:对程序中的每个模块 进行单独测试,确保其功能正确性
测试用例设计:针对每个模块设计 测试用例,包括正常情况、异常情 况等
添加标题
添加标题
添加标题
添加标题
测试方法:白盒测试、黑盒测试、 灰盒测试等
测试结果分析:对测试结果进行统 计和分析,找出问题并进行修复
定义:将多个模块组合在一起进行测试,确保系统整体功能正常运行 目的:发现模块间接口问题,确保系统稳定性和可靠性 测试方法:采用黑盒测试、白盒测试等方法,模拟实际使用场景进行测试 测试用例设计:根据需求和功能设计测试用例,覆盖所有功能点和异常情况
设备管理功能: 实现设备的添加、 删除、修改和查 询等操作
设备状态监控功 能:实时监控设 备的运行状态, 及时发现故障并 报警
设备预约功能: 学生可以通过系 统预约设备,提 高设备使用效率
设备报修功能: 学生可以通过系 统报修设备故障, 方便管理员及时 处理
数据库设计:包 括表结构、字段 定义等
理效率。
系统特点:该系 统采用C语言开发, 具有高效、稳定、 易用等特点,能 够满足实验室设 备管理的需求。
实验室管理系统—C语言
西安郵電大学软件课程设计报告题目:实验室设备管理系统院系名称:电子工程学院专业名称:电子信息工程班级:1204班内序号:5学生姓名:诺贝尔杨时间:2013年3月18日至2013年3月29日1.课程设计目的实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
主要功能:1.录入设备信息2.修改设备信息3.查询设备信息(1)按设备编号查询(2)按设备名称查询4.对设备按种类进行分类统计5.报废设备登记。
6.报废设备统计。
2.设计思路需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块。
建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。
3.功能模块图5.程序代码#include""#include""#define null 0int t=0;int mmcsz=0;int mima;int menu();d);if(strcmp(sb[t].id,"0")==0) main();printf("\n请输入设备名称:");scanf("%s",sb[t].name);printf("\n请输入设备种类:");scanf("%s",sb[t].kind);printf("\n请输入报废日期:");scanf("%s",sb[t].over);printf("\n请输入设备是否报废,1、没报废,0、报废:"); scanf("%d",&sb[t].yesno);printf("\n请输入设备购买时间:");scanf("%s",sb[t].time);printf("\n请输入设备价格:");scanf("%s",sb[t].price);printf("提示:已经完成一条记录的添加。
c语言课程设计之实验设备管理系统
目录目录.............................................................................................................................-1 - 一设计目的.................................................................................................................-2 - 二课程设计的内容.....................................................................................................-2 - 三课程设计的要求与数据.........................................................................................-2 - 四课程设计应完成的工作.........................................................................................-2 - 五总体设计(包含几大功能模块——流程图).....................................................-2 - 六详细设计(各功能模块的具体实现算法——流程图).....................................-3 -七调试分析(包含各模块的测试用例,及测试结果) (8)八总结.........................................................................................................................-17 - 九成员设计内容 (17)十参考资料.................................................................................................................-17 -一:设计目的练习与巩固《C语言程序设计》)理论知识,通过实践检验和提高实际能力,进一步培养自己综合分析问题和解决问题的能力。
基于C的智能化学实验室管理系统设计与实现
基于C的智能化学实验室管理系统设计与实现一、引言随着科技的不断发展,化学实验室管理系统在实验室管理中扮演着越来越重要的角色。
为了提高实验室管理的效率和精度,许多实验室开始引入智能化技术,其中基于C语言的智能化学实验室管理系统成为了研究的热点之一。
本文将介绍基于C的智能化学实验室管理系统的设计与实现。
二、系统设计1. 系统需求分析在设计智能化学实验室管理系统之前,首先需要进行系统需求分析。
根据实验室的具体情况和需求,确定系统所需功能模块,包括但不限于实验室设备管理、试剂管理、实验数据管理、人员管理等。
2. 系统架构设计基于C语言的智能化学实验室管理系统的架构设计至关重要。
可以采用模块化设计,将系统划分为多个模块,每个模块负责不同的功能,通过接口进行交互。
同时,考虑到系统的可扩展性和稳定性,在设计时需要充分考虑各个模块之间的关联性和数据流动。
3. 数据库设计在系统设计过程中,数据库设计是至关重要的一环。
需要设计合理的数据库结构,包括数据表、字段、索引等,以确保数据存储和检索的高效性和准确性。
同时,需要考虑数据安全性和备份策略,以防止数据丢失或泄露。
三、系统实现1. 系统功能实现在系统功能实现阶段,需要按照系统设计文档逐步开发各个功能模块。
通过C语言编程实现各种功能,如设备信息录入、试剂管理、实验数据记录等。
同时,需要进行功能测试和调试,确保系统运行稳定。
2. 用户界面设计用户界面设计是用户体验的重要组成部分。
通过C语言图形库或其他UI库,设计直观友好的用户界面,方便用户操作和信息查看。
界面设计应简洁明了,符合用户习惯,提高用户满意度。
3. 系统优化与改进系统上线后需要不断进行优化与改进。
通过用户反馈和数据分析,及时发现问题并进行修复和改进。
同时可以根据需求增加新功能模块,提升系统的整体性能和用户体验。
四、总结与展望基于C的智能化学实验室管理系统在提高实验室管理效率和精度方面具有重要意义。
通过本文对系统设计与实现过程的介绍,相信读者对该领域有了更深入的了解。
C语言 实验室设备管理系统
整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模 块 实验设备分类统计模块和实验设备查询模块。
实验设备管理系统设计
实验 设备 信息 输入 模块
实验 设备 信息 添加 模块
实验 设备 信息 修改 模块
实验 设备 分内 统计 模块
实验 设备 查询 模块
(5) 查询记录 若信息为空,则不能查询。流程图如下: 开始
判断是否有资料为空 资料为空 跳出 输入要查询的分类序号 按输入序号调用各功能模块 函数
结束
4
(6)结束语
通过本次 c 语言的程序设计,我不仅提高巩固了 c 语言的基础,也初学习了编写一个实 用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。我相信经过努力后,我的编 程能力一定会得到提高。
C 语言程序设计报告
1 课程设计题目:实验室设备管理里系统
实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、 设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之 能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询
开始
输入 ID 号,并将指针指向最 末尾
依次输入设备机构体内容, 完成一条添加 Nhomakorabea录提示一完成一条记录添加
结束
2
(2) 修改记录 系统要求用户输入要修改的设备 ID 号,这时系统会显示设备的具体信息, 用户只需该设备新的信息按要求输入即可对信息进行修改。流程图如下: 开始 判断是否有资料可以统计分 类 没有资料可以统计 跳出 输入要统计的分类序号 按输入序号调用各功能模块 函数 结束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安郵電大学软件课程设计报告题目:实验室设备管理系统院系名称:电子工程学院专业名称:电子信息工程班级:1204班内序号:5学生姓名:诺贝尔杨时间:2013年3月18日至2013年3月29日1.课程设计目的实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
主要功能:1.录入设备信息2.修改设备信息3.查询设备信息(1)按设备编号查询(2)按设备名称查询4.对设备按种类进行分类统计5.报废设备登记。
6.报废设备统计。
2.设计思路需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块。
建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。
3.功能模块图5.程序代码#include""#include""#define null 0int t=0;int mmcsz=0;int mima;int menu();d);if(strcmp(sb[t].id,"0")==0) main();printf("\n请输入设备名称:");scanf("%s",sb[t].name);printf("\n请输入设备种类:");scanf("%s",sb[t].kind);printf("\n请输入报废日期:");scanf("%s",sb[t].over);printf("\n请输入设备是否报废,1、没报废,0、报废:");scanf("%d",&sb[t].yesno);printf("\n请输入设备购买时间:");scanf("%s",sb[t].time);printf("\n请输入设备价格:");scanf("%s",sb[t].price);printf("提示:已经完成一条记录的添加。
\n");t++;}}void xg()d,find)==0) d);scanf("%s",sb[t].id);printf("请输入新设备名称(原来是 %s ):",sb[t].name);scanf("%s",sb[t].name);printf("请输入新设备设备种类名称(原来是 %s ):",sb[t].kind);scanf("%s",sb[t].kind);printf("请输入新设备报废日期名称(原来是 %s ):",sb[t].over);scanf("%s",sb[t].over);printf("请输入新设备是否报废,1、没报废,0、报废(原来是 %d):",sb[t].yesno);scanf("%d",&sb[t].yesno);printf("请输入新设备购买时间(原来是 %s ):",sb[t].time);scanf("%s",sb[t].time);printf("请输入新设备价格(原来是 %s ):",sb[t].price);scanf("%s",sb[t].price);printf("\n提示:该项记录资料已经成功修改!\n");printf("退回主菜单请输入0\n");printf("继续操作请输入1\n");scanf("%d",&x);switch(x){case 0:choose();break;case 1:xg();break;default:printf("输入无效,自动返回主菜单\n");choose();break;}}}}void cx()d,find)==0&&sb[t].yesno==1) d,sb[t].name,sb[t].kind,sb[t].over,sb[t].yesno,sb[t].time,sb[t].price);t++;}elset++;}while (t<100);printf("键入数字1返回主菜单\n");printf("键入数字任意键返回上层菜单\n");scanf("%d",&choice);if (choice==1)choose();else cx();}void cx_mc()ame,ming)==0&&sb[t].yesno==1) d,sb[t].name,sb[t].kind,sb[t].over,sb[t].yesno,sb[t].time,sb[t].price);t++;}elset++;}while (t<100);printf("键入数字1返回主菜单\n");printf("键入数字任意键返回上层菜单\n");scanf("%d",&choice);if (choice==1)choose();else cx();}void tj()ind,tong)==0&&sb[t].yesno==1) d,sb[t].name,sb[t].kind,sb[t].over,sb[t].yesno,sb[t].time,sb[t].price);t++;}elset++;}while (t<100);printf("键入数字1返回主菜单\n");printf("键入数字任意键返回上层菜单\n");scanf("%d",&choice);if (choice==1)choose() ;}void bf() d,find)==0) esno);scanf("%d",&sb[t].yesno);printf("\n>>>>>>>>>>提示:该项记录资料已经成功登记!\n");scanf("%d",&x);switch(x){case 0:choose();break;case 1:bf();break;default:printf("输入无效,自动返回主菜单\n");choose();break;}}}}void bf_tj()ind,find)==0&&sb[t].yesno==0) d,sb[t].name,sb[t].kind,sb[t].over,sb[t].yesno,sb[t].time,sb[t].price);t++;}elset++;}while (t<3);printf("键入数字1返回主菜单\n");printf("键入数字任意键返回上层菜单\n");scanf("%d",&choice);if (choice==1)choose();}int menu(int choice){printf("\n\n\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ 实验设备管理系统 |\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ [1]----录入设备信息 |\n");printf("\t\t\t+ [2]----修改设备信息 |\n");printf("\t\t\t+ [3]----查询设备信息 |\n");printf("\t\t\t+ [4]----统计设备信息 |\n");printf("\t\t\t+ [5]----报废设备信息 |\n");printf("\t\t\t+ [0]----*-EXIT-* |\n");printf("\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n");printf("\t\t\t--------------------------------\n");printf("请输入你要操作的序号:");scanf("%d", &choice);return choice;}void choose(){int choice;choice=1;choice=menu(choice);do{switch (choice){case 0: printf("\n提示:你已经退出系统\n\t\t 再见!\n"); break; case 1: lr(); break;case 2: xg(); break;case 3: cx(); break;case 4: tj(); break;case 5: bf(); break;default: printf("提示:输入错误!\n"); break;}}while(choice!=0);}main(){char s[20];int i;if(mmcsz==0){printf("请输入登录密码:");序运行结果7.编程中遇到的困难和解决方法在编程的过程中,很容易出现很多个个问题,就时少大括号“}”、等号“==”。