c语言课程设计报告 下载本文

3.设备名称 4.设备价格

5.设备购入日期 6.是否报废 7.报废日期等。

四总体分析

主要功能:

(1) 完成对设备信息的录入函数 (2) 完成修改某个设备信息的函数 (3) 根据给定信息对设备进行分类统计

(4) 设备的破损耗费和遗损处理(删除某个指定设备) (5) 设备的查询

如何执行:

(1)编写算法;

(2)算法测试,并有具体的测试结果和结果分析; (3)撰写课程设计报告。内容包括:

详细设计

实验设备管理系统设计 实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模块 实验设备分内统计模块 实验设备查询模块 功能选择

五源代码

界面模板

void main() {

Node *equip; FILE *fp; int flag; Node *p,*q;

printf(\设备管理系统\\n\

equip=(Node*)malloc(sizeof(Node)); equip->next=NULL; p=equip;

fp=fopen(\设备管理系统\ q=(Node*)malloc(sizeof(Node));

if(fread(q,sizeof(Node),1,fp)) //将文件的内容放入接点中 {

q->next=NULL; p->next=q;

p=q; //将该接点挂入链表中

开始 显示一系列功能选择 输入n,判断m 是否是0到4? N }

fclose(fp); //关闭文件 根据n值调用各 while(1) 功能模块函数 {

printf(\目录********************************\ printf(\添加记录\\n\ printf(\修改记录\\n\ printf(\显示记录\\n\ printf(\统计分类记录\\n\ printf(\

printf(\请输入你要操作的序号:\ scanf(\ switch(flag) {

case 0: printf(\提示:已经退出系统,ByeBye!\\n\ case 1: Add(equip); break; //增加记录 case 2: Modify(equip); break;//修改记录 case 3: Disp(equip); break;//显示记录信息 case 4: Tongji(equip); break;//统计记录

default: printf(\提示:输入错误!\\n\ } } }

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=r->next; //将指针置于最末尾 while(1) 开始 {

printf(\提示:输入0则返回主菜单!\\n\

输入ID号,并将指针置于最末printf(\请你输入设备ID号:\

scanf(\

if(strcmp(id,\

p=(Node *)malloc(sizeof(Node)); //申请空间 依次输入shebei 结构体内容,strcpy(p->data.ID,id); 完成一条添加记录 printf(\请输入设备名称:\ scanf(\ printf(\请输入设备种类:\

scanf(\

提示以完成一条记录添加 printf(\请输入报废日期:\ scanf(\

printf(\请输入设备是否报废:\ scanf(\ 结束 printf(\请输入设备购买时间:\ scanf(\ printf(\请输入设备价格:\ scanf(\

printf(\提示:已经完成一条记录的添加。\\n\ p->next=NULL;

r->next=p; //这一步是必需的,将p与先前的链表连起来构成一条新链表 r=p; //也是必需的.将r 又重设为新链的最后一个有用结点 } }

(3)修改模块

void Modify(Node *equip)//修改 {

Node *p; char find[20]; if(!equip->next) {

printf(\提示:没有资料可以修改!\\n\ return; 开始 }

printf(\请输入要修改的设备ID号:\

判断是否有内容可以修scanf(\ 改 p=equip->next; while(p!=NULL) 没有资料可以修改,{ 跳出 if(strcmp(p->data.ID,find)==0) //如果找到的话返回的是符合要求 break; p=p->next; 请输入要修改的设} 备ID号 if(p) //若找到 {

N