C语言课程设计报告—实验设备管理系统[1]

时间:2024.4.5

                        C语言程序设计报告

一  课程设计的目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。

二  课程设计报告正文

1 课程设计题目的原文;

   实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能:

(1)能够完成对设备的录入和修改

(2)对设备进行分类统计

(3)设备的查询

2 需求分析
   实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
3总体设计与模块的划分
    整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模块 实验设备分类统计模块和实验设备查询模块。
4  建立实验设备信息结构体,结构体成员包括设备编号 设备种类 设备名称 设备价格 设备购入日期 是否报废 报废日期。

4 详细设计

A 主函数

void main()

{

Node *equip;

FILE *fp;

int flag;

Node *p,*q;

printf("\t\t\t\t设备管理系统\n");

C语言课程设计报告—实验设备管理系统[1]

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;

}

}

}

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为第一个有用的结点

C语言课程设计报告—实验设备管理系统[1]

scanf("%s",&p->data.time);

printf("\n请输入设备价格:");

scanf("%s",&p->data.price);

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)

C语言课程设计报告—实验设备管理系统[1]

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");

}

(4)输出记录

void Disp(Node *equip)//输出记录

{

Node *p;

p=equip->next;

if(!p)

{

printf("\n>>>>>>>>>>提示:没有记录可以显示!\n");

return;

}

printf("\t\t\t\t显示结果\n");

printf("设备号码 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");

while(p)

{

printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

p=p->next;

C语言课程设计报告—实验设备管理系统[1]

void Tongji(Node *equip)//统计

{

Node *p;

int sel;int flag2=0,ha=0; char find[20];

p=equip->next;

if(!equip->next) //若链表为空

{

printf("\n>>>>>>>>>>提示:没有资料可以统计分类!\n");

return;

}

printf(">>>>>>>>>>提示:\n=====>0退出\n=====>1按设备号统计\n=====>2按设备名称统计\n");

scanf("%d",&sel);

if(sel==1)

{

printf("\n输入你要统计分类的设备号:");

scanf("%s",find);

while(p)

{

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->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

ha=flag2;

}

else if(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,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)

{

if(strcmp(p->data.name,find)==0)

{

flag2++;

}

if(flag2==1&&ha!=flag2)

{ printf("设备号码 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");

printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

ha=flag2;

}

else if(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,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==0) return;

}


第二篇:C语言课程设计报告—实验设备管理系统[1]


                        C语言程序设计报告

一  课程设计的目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。

二  课程设计报告正文

1 课程设计题目的原文;

   实验设备信息包括:设备编号、设备种类(如:微机 打印机 扫描仪 等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能:

(1)能够完成对设备的录入和修改

(2)对设备进行分类统计

(3)设备的查询

2 需求分析
   实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。
3总体设计与模块的划分
    整个系统可设计为实验设备信息输入模块 实验设备信息添加模块 实验设备信息修改模块 实验设备分类统计模块和实验设备查询模块。
4  建立实验设备信息结构体,结构体成员包括设备编号 设备种类 设备名称 设备价格 设备购入日期 是否报废 报废日期。

4 详细设计

A 主函数

void main()

{

Node *equip;

FILE *fp;

int flag;

Node *p,*q;

printf("\t\t\t\t设备管理系统\n");

C语言课程设计报告—实验设备管理系统[1]

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;

}

}

}

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为第一个有用的结点

C语言课程设计报告—实验设备管理系统[1]

scanf("%s",&p->data.time);

printf("\n请输入设备价格:");

scanf("%s",&p->data.price);

printf(">>>>>>>>>>提示:已经完成一条记录的添加。\n");

p->next=NULL;

r->next=p; //这一步是必需的,将p与先前的链表连起来构成一条新链表

r=p; //也是必需的.将r 又重设为新链的最后一个有用结点

}

}

(3)修改模块

void Modify(Node *equip)//修改

{

Node *p;

char find[20];

C语言课程设计报告—实验设备管理系统[1]

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");

}

(4)输出记录

void Disp(Node *equip)//输出记录

{

Node *p;

p=equip->next;

if(!p)

{

printf("\n>>>>>>>>>>提示:没有记录可以显示!\n");

return;

}

printf("\t\t\t\t显示结果\n");

printf("设备号码 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");

while(p)

{

printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

p=p->next;

C语言课程设计报告—实验设备管理系统[1]

(5)统计模块

void Tongji(Node *equip)//统计

{

Node *p;

int sel;int flag2=0,ha=0; char find[20];

p=equip->next;

if(!equip->next) //若链表为空

{

printf("\n>>>>>>>>>>提示:没有资料可以统计分类!\n");

return;

}

printf(">>>>>>>>>>提示:\n=====>0退出\n=====>1按设备号统计\n=====>2按设备名称统计\n");

scanf("%d",&sel);

if(sel==1)

{

printf("\n输入你要统计分类的设备号:");

scanf("%s",find);

while(p)

{

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->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

ha=flag2;

}

else if(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,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)

{

if(strcmp(p->data.name,find)==0)

{

flag2++;

}

if(flag2==1&&ha!=flag2)

{ printf("设备号码 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");

printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);

ha=flag2;

}

else if(flag2>ha){printf("\n%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",p->data.ID,p->data.name,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==0) return;

}

更多相关推荐:
c语言图书管理系统课程设计报告

合肥学院计算机科学与技术系课程设计报告20xx20xx学年第二学期课学学专指业导班教生姓程C语言课程设计图书管理系统名号级师课程设计名称20xx年6月一需求分析为了满足图书管理的要求通过计算机技术给图书管理人员...

c语言课程设计报告·图书管理系统

第一章11题目描述图书管理系统设计要求图书管理信息包括图书名称图书编号单价作者存在状态借书人姓名性别学号等试设计一图书管理系统使之能提供以下功能1新图书基本信息的输入2图书基本信息的查询3对撤销图书信息的删除4...

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统…

c语言图书管理系统课程设计报告

沈航北方科技学院课程设计说明书课程名称教学部专业数控班级B042111学号B04211123学生姓名指导教师赵小磊20xx年6月链表实现图书信息操作田文目录摘要31绪论32系统分析321功能需求322数据需求4...

c语言图书管理系统课程设计报告

河南工业大学C语言课程设计报告20xx20xx学年第2学期课程C语言课程设计课程设计名称图书管理系统姓名晁永兵学号20xx16040220学院信息科学与工程学院专业软件工程班级2班20xx年05月04日一需求分...

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

C语言图书管理系统课程设计报告

C语言图书管理系统课程设计报告引言随着社会经济的迅速发展和现代科学技术的进步,人类社会正逐渐走向现代化。计算机事业的飞速发展,使得以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,随着经济文化水平的…

C语言课程设计报告—图书信息管理系统

C语言课程设计报告图书信息管理系统设计5507113陈杰20xx1001797指导老师刘文中C语言程序设计编程实践是学习C语言程序设计的一重要环节上机实习和课程设计是提高同学们程序设计能力的有效途径能够使同学们...

C语言图书馆管理系统课程设计报告

一目的要求C语言程序设计是一门讲述C语言的基本知识和编程方法的课程在讲述C语言数据类型的基础上对C语言的五类语句做了简单的介绍另外还讨论了C语言的三种程序结构顺序选择和循环对函数的使用指针的概念结构体的应用文件...

C语言图书馆管理系统课程设计报告12

C语言课程设计学生姓名袁盛升学生学号所在班级任课教师姜林10211121图书馆管理系统设计目的图书信息包括登录号书名作者名分类号出版单位出版时间价格等试设计一图书信息管理系统使之能提供以下功能1系统以菜单方式工...

基于vc++的C语言图书馆管理系统课程设计报告

图书管理课程设计学生姓名学生学号所在班级任课教师图书馆管理系统设计目的图书信息包括登录号书名作者名分类号出版单位出版时间价格等试设计一图书信息管理系统使之能提供以下功能1系统以菜单方式工作2图书信息录入功能图书...

C语言课程设计报告—图书信息管理系统

C语言课程设计报告图书信息管理系统设计5507113陈杰20xx1001797指导老师刘文中C语言程序设计编程实践是学习C语言程序设计的一重要环节上机实习和课程设计是提高同学们程序设计能力的有效途径能够使同学们...

c语言图书管理系统课程设计报告(26篇)