C语言课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
-仪器仪
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
管理系统
仪器仪表管理
1.
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目要求
?.【要求】
系统功能的基本要求:
(1) 新的仪器仪表信息的录入;
(2) 在借出、归还、维修时对仪器仪表信息的修改;
(3) 对报废仪器仪表信息的删除;
(4) 按照一定的条件查询符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基
本信息(如仪器仪表名字、仪器仪表编等)的查询、按时间点(借入时间、借出时
间、归还时间)查询等
(5) 对查询结果的输出。
【提示】
数据结构采用结构体。仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0代表可借出,1代表已借出,2代表正在维修)等。
?.需求分析
根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入
输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜
单实现功能选择。
2.功能实现设计
2.1总体设计
仪器仪表管理系统
添加 查询 修改 删除 退出
系统功能模块图
2.2详细设计
1. 主函数
主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模
块用菜单方式选择。本题将main()函数体内的界面选择部分语句单独抽取出来作
为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。
【程序】
main()
{menu();
1
}
菜单部分设计如下:
【
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图】
显示一系列功能选项
N
输入n,判断n是否是1,7
Y
根据n的值调用各功能模块函数 主函数的菜单流程图
【程序】
main()
{
system("cls");/**********清屏************/
menu();
}
void menu()
{
int w,n;
do
{
system("cls");
printf("\t\t WELCOME TO THE EQUIPMENT MANAGEMENT
SYSTEM\n\n\n");
printf("\n\n\t\t====================******====================\n\n\n");
printf("\t\t\t1:Add message of new equipmen\n\n");
printf("\t\t\t2:Load the message of all equipment\n\n");
printf("\t\t\t3:Correct the message of equipment\n\n");
printf("\t\t\t4:Ddlete the message of broken equipment\n\n");
printf("\t\t\t5:Search the message of equipment\n\n");
printf("\t\t\t6:Search of all the equipment\n\n");
printf("\t\t\t7:Exit\n");
printf("\n\n\t\t====================******====================\n\n\n");
printf("Please choice your number:[ ]\b\b");
scanf("%d",&n);
if(n<1||n>7) w=1;
else w=0;
}
while (w==1);
2
/****************选择功能****************/
switch(n)
{
case 1:add_new_message();break;/*添加模块*/
case 2:load_record();break;/*显示模块*/
case 3:modify();break;/*修改模块*/
case 4:delete();break;/*删除模块*/
case 5:search();break;/*查询模块*/
case 6:statistic();break;/*统计模块*/
case 7:exit(0);break;/*退出模块*/
}
}
2. 各功能模块设计
(1)添加模块
【数据结构】
【分析】
单独看各数据信息,仪器仪表名是字符型,可采用字符型数组;仪器仪表
编号、购买时间、借入时间、借出时间、归还时间、维修时间应采用实型;状
态信息是整数,采用整型。实际上操作时发现只有字符型的数据可以在文件中
成功被保存,所以本题所有数据一律采用字符型。
struct equip
{
char number[4];
char name[11];
char b_time[11];
char bin_time[11];
char bout_time[11];
char giveb_time[11];
char repair_time[11]; /*time为下面程序中按时间查找和修改时
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
输入的
时间*/
int state;
}equ[M];
【注意】
equ[M]中的M是仪表仪器个数,程序中采用宏定义的方式,可以随时在源程
序宏定义中改,本程序宏定义#define M 50。
【流程图】
输入用户要输入仪器的个数n
i从0到n,1调用输入函数input(i)
i~,0
3
Y
调用保存函数save(n)
输入模块流程图
【程序】/****************添加模块****************/ void add_new_message()
{
int t,i,m;
system("cls");
t=load_equ();
printf("How many groups datas do you want to add?\n");
printf("input the number:[ ]\b\b\b"); scanf("%d",&m);
for(i=0;i
4) w=1;
else w=0;
}
while (w==1);
/*选择功能*/
switch(n)
{
case 1:sb_buy_tq();break;/*按购买时间段查询函数*/
case 2:sb_gb_tq();break;/*按归还时间段查询*/
case 3:sb_par_number();break;/*按指定编号查询*/
case 4:sb_name();break;/*按仪器名称查询*/
}
}
void sb_buy_tq()/*按购买时间段查询函数*/
{
char year1[11],year2[11];
int t,i,sum=0;
t=load_equ();
system("cls");
printf("Please input the start time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b");
scanf("%s",year1);
printf("\n");
printf("Please input the finish time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b");
scanf("%s",year2);
printf("\n");
system("cls");
for(i=0;i=0)&&(strcmp(equ[i].b_time,year2)<=0))
{
printf_one(i);/*把符合条件的记录显示出来*/
sum++;
save_search_record(i);/*把符合条件的记录保存在查询记事本里*/
}
}
getch();
8
if(sum==0)
{
system("cls");
printf("Sorry! Cannot find the equipment which you want to.\n\n");
getch();
}
printf("Press any key to go back the former step...\n");
getchar();
menu();
}
void sb_gb_tq()/*按购买时间段查询函数*/
{
char year1[11],year2[11];
int t,i,sum=0;
t=load_equ();
system("cls");
printf("Please input the start time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",year1);
printf("\n");
printf("Please input the finish time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",year2);
printf("\n");
system("cls");
for(i=0;i=0)&&(strcmp(equ[i].b_time,year2)<=0))
{
printf_one(i);/*把符合条件的记录显示出来*/
sum++;
save_search_record(i);/*把符合条件的记录保存在查询记事本里*/
}
}
getch();
if(sum==0)
{
system("cls");
printf("***************************************************\n\n");
printf("Sorry! Cannot find the equipment which you want to.\n\n");
printf("***************************************************\n\n");
getch();
}
9
printf("Press any key to go back the former step...\n");
getchar();
menu();
}
void sb_par_number()/*按指定编号查询*/
{
char number[4];
int t,i,sum=0;
t=load_equ();
system("cls");
printf("Please input the equipment number(000~999):[___]\b\b\b\b");
scanf("%s",number);
printf("\n");
system("cls");
for(i=0;i4) w=1;
else w=0;
}
while (w==1);
/****************选择功能****************/ switch(n)
{
case 3:tb_par_number();break;
case 4:tb_name();break;
case 1:tb_buy_tq();break;
case 2:tb_gb_tq();break;
}
}
void tb_par_number()
{
char number[4];
int t,i,sum=0;
t=load_equ();
system("cls");
printf("Please input the equipment number(000~999):[___]\b\b\b\b");
scanf("%s",number);
printf("\n");
for(i=0;i=0)&&(strcmp(equ[i].b_time,year2)<=0))
{
sum++;
save_statistic_record(i);/*把符合条件的记录保存在查询记事本里*/
}
}
if(sum==0)
{
system("cls");
printf("**************************************************************\n\n");
printf(" Sorry! Cannot find the equipment which you want to!\n\n");
printf("**************************************************************\n\n");
getch();
}
else
{
system("cls");
printf("*************************************************************************\n\n");
printf(" There are[%-2d]equipment(s) which you want to statistic in the record!\n\n",sum);
printf("*************************************************************************\n\n\n\n");
getch();
}
printf("Press any key to go back the former step...\n");
getchar();
menu();
16
}
void tb_gb_tq()
{
char year1[11],year2[11];
int t,i,sum=0;
t=load_equ();
system("cls");
printf("Please input the start time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",year1);
printf("\n");
printf("Please input the finish time:[____.__.__]\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",year2);
printf("\n");
for(i=0;i=0)&&(strcmp(equ[i].giveb_time,year2)<=0))
{
sum++;
save_statistic_record(i);/*把符合条件的记录保存在查询记事本里*/
}
}
if(sum==0)
{
system("cls");
printf("**************************************************************\n\n");
printf(" Sorry! Cannot find the equipment which you want to!\n\n");
printf("**************************************************************\n\n");
getch();
}
else
{
system("cls");
printf("*************************************************************************\n\n");
printf(" There are[%-2d]equipment(s) which you want to statistic in the record!\n\n",sum);
printf("*************************************************************************\n\n\n\n");
getch();
17
}
printf("Press any key to go back the former step...\n");
getchar();
menu();
}
(7)显示记录模块
/****************显示记录模块****************/ void load_record()
{
int t;
t=load_equ();
printf_n(t);
system("cls");
printf("\n\n\nPress any key to go back...\n\n");
getch();
getchar();
menu();
}
公共函数
下面是在每个功能模块中都有可能用到的一些公共函数。
(1) 保存函数save(int n)
(2) void save(int n,int m)/*n表示保存n组数据,m表示保存在哪个文件夹里*/ (3) {
(4) FILE *fp;
(5) int i;
(6) if(m==0)
(7) fp=fopen("record.txt","w");/*以只写方式打开*/
(8) else if(m==1)
(9) fp=fopen("search_record.txt","w"); (10) else
(11) fp=fopen("statistic_record.txt","w");
(12) if(fp==NULL)
(13) {
(14) printf("\nCannot open file\n"); (15) exit(0);
(16) }
(17) for(i=0;i
本文档为【C语言课程设计-仪器仪表管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。