C程序设计课程设计报告Word下载.docx
《C程序设计课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《C程序设计课程设计报告Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
课程设计题目:
实验设备管理系统设计
课程设计要求:
系统提供下列服务:
1..系统以菜单方式工作。
2.能够完成对设备信息的录入(设备信息用文件保存),可不定时地增加设备信息。
3.对设备信息进行分类统计
4.设备信息的查询
(1)按设备类型查询
(2)查询报废设备
5.设备信息的删除与修改
(1)输入设备编号,若该设备报废,则删除;
如果没有报废,则不能删除该设备。
(2)按设备编号修改设备信息。
工作计划及安排:
1,课程设计内容说明,老师讲解内容0.5天;
2,翻阅课本及相关书籍查找资料0.5天;
3,编写应用程序1.5天;
4,上机调试运用程序1天;
5,操作、并改正错误程序0.5天;
6,写课程设计报告1天。
指导教师签字
年月日
课程设计(大作业)成绩
学号:
姓名:
指导教师:
总结:
通过五天的课程设计,我对C程序设计的知识更加进一步的了解了。
跟队友合作,一起上网查找资料、请教别人,一起完成了对代码的编写,并对已写就的代码进行自行检查,自己检查后上机操作运行,通过上机对错误之处加以改正,完成了设计内容,达到了题目的要求。
本次设计我们发现我们在C语言知识上有很大的不足,对有些基本知识概念模糊,导致我们在设计中遇到很多问题,代码编写的错误,结构体运用的出错,数据结构的错用…….
都暴露我们在基本知识方面的缺陷,我们相信通过本次课程设计,我们会将C语言知识更好的运用到今后的学习中。
总之,这次课程设计是我们学到了很多,也发现了很多的不足,学好C语言是作为计算机专业学生的一项基本义务,我们会将之进行到底,最后,感谢老师五天来的耐心解答!
指导教师评语:
成绩:
填表时间:
指导教师签名:
一、问题的定义
实验设备管理系统中设备信息包括:
设备编号,设备种类(如:
微机、打印机、扫描仪等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
通过对该系统输入设备各项信息,对已输入的设备信息进行删除和修改,能够完成对设备信息的录入(设备信息用文件保存),可不定时地增加设备信息。
能对设备信息进行查询,并对设备信息进行分类。
要求:
1.数据存储采用文件形式;
2.标准的C语言输入输出;
3.功能完善,适当注释;
4.模块化设计、结构化编程。
二、需求分析
1、系统以菜单方式工作
2、能够完成对设备信息的录入(设备信息用文件保存),可不定时地增加设备信息。
3、对设备信息进行分类统计
4、设备信息的查询
(1)按设备类型查询
(2)查询报废设备
5、设备信息删除与修改
(1)输入设备号,若该设备报废,则删除;
(2)按设备编号修改设备信息
三、总体设计
根据系统的要求,系统总体设计如下图所示。
系统总体结构图
四、详细设计
(一)设备数据结构设计
#defineSIZE30/*定义常数表示记录数*/
structshebei/*定义数据结构*/
{intnum;
/*输入设备编号*/
charname[15];
/*输入设备名称*/
charkind[15];
/*输入设备种类*/
charover[15];
/*报废*/
charyesno[15];
/*选择“yes”或“no”*/
chartime[10];
/*输入设备报废时间*/
doubleprice;
/*输入设备价格*/
}shebei[SIZE];
(二)函数设计
1.主函数
main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
2..其他函数
(1)设备信息录入函数voidinput()
算法思想:
a.依次录入结构体数组中所包含的各个设备;
b.返回实际录入的设备信息数。
(2)将设备信息存贮为文件函数voidsave(intc)
a.定义指向文件的指针变量;
b.输入存贮路径及文件名,打开文件,若不能打开文件给出提示
(3)查找设备信息函数voidfind()
b.按类别打开文件,读出其中的信息。
(4)删除设备信息函数voiddel()
算法思想:
a.定义指向文件的指针变量;
b.打开存贮过的文件,对其进行删除并把删除后的文件保存。
(5)修改设备信息函数voidxiu()
a.定义指向文件的指针变量;
b.打开文件按选项执行下一步,保存执行后的文件。
3.流程描述
(1)创建菜单流程
(2)设备信息录入流程
(3)浏览设备信息流程
(4)按设备类型查找流程
(5)按是否报废查找流程
(6)删除设备信息流程
(7)添加新设备信息流程
(8)修改设备信息流程
4.代码设计和执行结果
#include<
stdlib.h>
stdio.h>
string.h>
#defineSIZE30
structshebei
{
intnum;
//输入设备编号
//输入设备名称
//输入设备种类
//报废
//输入设备报废时间
//输入设备价格
}shebei[SIZE];
intmenu()//创建菜单
intb;
system("
cls"
);
//清屏
printf("
\n\n"
\t设备管理系统\n"
\t---------------------\n"
\t\n"
\t1.设备信息录入\n"
\t2.设备信息浏览\n"
\t3.设备信息查询\n"
\t4.设备信息删除\n"
\t5.设备信息添加\n"
\t6.设备信息修改\n"
\t7.设备分类统计\n"
\t0.退出\n"
\t----------------------------------\n"
do
{
printf("
\n输入你的选择项(0~7):
\n"
scanf("
%d"
&
b);
}
while(b<
0||b>
7);
fflush(stdin);
returnb;
}
执行结果如下;
voidinput()//录入设备信息
intc=-1;
charc1='
y'
;
while(c1!
='
n'
&
c1!
N'
)
{
c++;
\n请你输入设备num号:
"
shebei[c].num);
\n请输入设备名称:
%s"
shebei[c].name);
\n请输入设备种类:
shebei[c].kind);
\n请输入报废日期:
shebei[c].over);
\n请输入设备是否报废:
shebei[c].yesno);
\n请输入设备购买时间:
shebei[c].time);
\n请输入设备价格:
%lf"
shebei[c].price);
>
提示:
已经完成一条记录的添加。
是否继续输入(y/n)\n"
%c"
c1);
c1=getchar();
save(c);
voidprint()//浏览设备信息
设备编号设备名称设备种类报废日期是否报废购买时间价格\n"
----------------------------------------------------------------------\n"
inti,t;
FILE*fp;
fp=fopen("
date.txt"
"
rb"
//打开一个‘只读’文件
t=load();
if(t==-1)
return;
else
for(i=0;
i<
=t;
i++)
{
fread(&
shebei[i],sizeof(structshebei),1,fp);
//调用fread函数
\n%-13d%-11s%-7s%-10s%-13s%-10s%-5.2lf\n"
shebei[i].num,shebei[i].name,shebei[i].kind,shebei[i].over,shebei[i].yesno,shebei[i].time,shebei[i].price);
---------------------------------------------------------------------\n"
}
fclose(fp);
voidfind()//查找设备信息
intb,i,flag,t;
charkind[10],c2='
while(c2!
c2!
system("
\t1.按设备类型查询\n"
\t2.查询报废设施\n"