实验设备管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验设备管理系统
C语言课程设计
一.题目要求
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期等。试设计一实验设备信息管理系统,使之能提供以下功能:
(1)能够完成对设备的录入和修改
(2)对设备进行分类统计
(3)设备的查询
二.需求分析
实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以实现功能选择。
三.总体设计
根据上面的需求分析,可以将这个系统的设计分为以下模块
四.详细设计
1.主函数
[流程图]
[程序]
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("\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;//统计记录
default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;
}
}
}
2.各功能模块设计
(1)输入模块
[流程图]
[程序]
/***************************输入模块*****************************/ #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请输入设备价格:");