C语言课程设计实验设备管理系统设计Word格式.docx
- 文档编号:20841966
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:31
- 大小:212.56KB
C语言课程设计实验设备管理系统设计Word格式.docx
《C语言课程设计实验设备管理系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计实验设备管理系统设计Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;
另外还要提供键盘式选择菜单以实现功能选择。
三.总体设计
根据上面的需求分析,可以将这个系统的设计分为以下模块
四.详细设计
1.主函数
[流程图]
[程序]
main()/*********************主函数***********************************/
{
intn,w,t;
for(t=0;
t<
1;
t++)1
do
puts("
\t\t*******MENU*******\n\n"
);
\t\t1.Enternewdata"
\t\t2.Additiondata"
\t\t3.Modifydata"
\t\t4.Statist"
\t\t5.Search"
\t\t6.Exit"
\n\n\t\t*****************\n"
printf("
Whatdoyouwanttodo(1-6):
"
scanf("
%d"
&
n);
if(n<
1||n>
6)/*对选择的数字作出判断*/
{w=1;
getchar();
}
elsew=0;
while(w==1);
switch(n)
{case1:
t=enter();
break;
/*输入模块*/
case2:
break;
/*追加模块*/
case3:
t=modifty();
/*修改模块*/
case4:
t=total();
/*统计模块*/
case5:
t=search();
/*搜索模块*/
case6:
exit(0);
/*退出*/
}
2.各功能模块设计
(1)输入模块
/*********************输入模块*****************************/2
intenter()/*输入模块*/
FILE*fp;
EQnewequ;
inti,j;
intc;
**************************************\n"
Addnewequiment\n"
Howmanyequimentsdoyouwanttoadd?
\n"
i);
/*输入要输入的设备个数*/
for(j=0;
j<
i;
j++)
------------------\n"
Inputequipcode\n"
%s"
newequ.equipCode);
Inputequiptype\n"
newequ.equipType);
Inputequipname\n"
newequ.equipName);
InputequipPrice\n"
%f"
newequ.equipPrice);
InputbuyYear\n"
newequ.buyYear);
InputbuyMonth\n"
newequ.buyMonth);
InputbuyDay\n"
newequ.buyDay);
Inputscrap\n"
newequ.scrap);
InputscrapYear\n"
newequ.scrapYear);
InputscrapMonth\n"
newequ.scrapMonth);
InputscrapDay\n"
newequ.scrapDay);
if((fp=fopen("
test.txt"
"
w"
))==NULL)/*打开文件,输入保存*/
{printf("
Cannotopenfile!
}3
fprintf(fp,"
%s%s%s%f%d%d%d%d%d%d%d"
newequ.equipCode,newequ.equipType,newequ.equipName,newequ.equipPrice,newequ.buyYear,newequ.buyMonth,newequ.buyDay,newequ.scrap,newequ.scrapYear,newequ.scrapMonth,newequ.scrapDay);
fclose(fp);
\n-----------------------\n"
Returntomainmenu?
\n"
1.YES\n"
2.NO,Iwanttoquitnow\n"
c);
if(c==1)return(-1);
if(c==2)return(0);
/*任务结束选择是返回主菜单还是跳出*/
(2)追加模块
[流程图]
/*********************追加模块*****************************/
intenter()/*追加模块*/
/*输入要追加的设备个数*/
j++)4
5
(3)修改模块
[需求分析]
此模块可以根据客户需要对以记录在文件中的信息进行修改
/*******************************修改模块*********************/
intmodifty()/*修改模块*/
EQequ[50];
charcode[10];
inti,j,c;
*************************************\n"
Modiftyfortheequiment\n"
Pleaseinputtheequipcodeformodiftying\n"
code);
/*输入要修改的设备编号*/
------------------------------------\n"
r"
))==NULL)
{6
printf("
\nCannotopentest!
for(i=0;
!
feof(fp);
i++)
fscanf(fp,"
equ[i].equipCode,equ[i].equipType,equ[i].equipName,&
equ[i].equipPrice,&
equ[i].buyYear,&
equ[i].buyMonth,&
equ[i].buyDay,&
equ[i].scrap,&
equ[i].scrapYear,&
equ[i].scrapMonth,&
equ[i].scrapDay);
if(strcmp(equ[i].equipCode,code)==0)
Inputnewequipcode\n"
equ[i].equipCode);
Inputnewequiptype\n"
equ[i].equipType);
Inputnewequipname\n"
equ[i].equipName);
equ[i].equipPrice);
InputnewbuyYear\n"
equ[i].buyYear);
InputnewbuyMonth\n"
equ[i].buyMonth);
InputnewbuyDay\n"
equ[i].buyDay);
Inputnewscrap\n"
equ[i].scrap);
InputnewscrapYear\n"
equ[i].scrapYear);
InputnewscrapMonth\n"
equ[i].scrapMonth);
InputnewscrapDay\n"
}/*将修改后的信息写如文件中*/
j=i;
}7
i<
j;
\nwrite!
fprintf(fp,"
equ[i].equipCode,equ[i].equipType,equ[i].equipName,equ[i].equipPrice,equ[i].buyYear,equ[i].buyMonth,equ[i].buyDay,equ[i].scrap,equ[i].scrapYear,equ[i].scrapMonth,equ[i].scrapDay);
(4)统计模块
将已经输入的设备信息进行统计,并显示设备总数、价格总额等信息
inttotal()
floatsum=0;
intcount=0;
floataver=0;
chartype[20];
EQequ;
inti;
\nWrong\n"
}8
pleaseinputequipType:
type);
equ.equipCode,equ.equipType,equ.equipName,&
equ.equipPrice,&
equ.buyYear,&
equ.buyMonth,&
equ.buyDay,&
equ.scrap,&
equ.scrapYear,&
equ.scrapMonth,&
equ.scrapDay);
\nOK!
%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%d\n"
equ.equipCode,equ.equipType,equ.equipName,equ.equipPrice,equ.buyYear,equ.buyMonth,equ.buyDay,equ.scrap,equ.scrapYear,equ.scrapMonth,equ.scrapDay);
if(strcmp(equ.equipType,type)==0)
{
count++;
sum+=equ.equipPrice;
aver=sum/count;
----------Statist--Result-----------"
\n\nthenumberofthistypeis:
count);
\n\nthetotalsumofpriceis:
sum);
\n\ntheaveroftotalpriceis:
aver);
\nPressanykeytoexit......"
getch();
(5)搜索模块9
该模块的功能是查找用户需要的对应记录,可以分别根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询。
询问用户想要选择的搜索方式
y
/***********************************搜索模块******************************/
intsearch()/*搜索模块*/
charname[20];
floatprice;
intchoice;
fp=fopen("
if(fp==NULL)exit(0);
pleasechoosethewayofsearch:
\n\n"
1.searchbyequipCode\n\n"
2.searchbyequipName\n\n"
3.searchbyequipPrice\n\n"
0.return\n\n"
pleaseinputnumber0-5:
choice);
10
if(choice==0)exit(0);
switch(choice)
case0:
case1:
pleaseinputequipCode:
scanf("
for(i=0;
if(strcmp(equ.equipCode,code)==0)
{
\nequipCode,equipType,equipName,equipPrice,buyYear,buyMonth,buyDay,scrap,scrapYear,scrapMonth,ScrapDay\n"
\n%s,%s,%s,%f,%d,%d,%d,%d,%d,%d,%d\n"
}
case2:
pleaseinputequipName:
name);
if(strcmp(equ.equipName,code)==0)
\nequipCode,equipType,equipName,equipPrice,buyYear,buyMonth,buyDay,scrap,scrapYear,scrapMonth,ScrapDay
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计 实验设备管理系统设计 语言 课程设计 实验 设备管理 系统 设计