实验设备管理系统

  • 格式:doc
  • 大小:6.10 MB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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请输入设备价格:");