云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言课程设计

C语言课程设计

  • 62 次阅读
  • 3 次下载
  • 2026/4/30 4:35:35

int x=0; while (1) {

if (c=='s'||c=='S') x++; if (c=='w'||c=='W') x--; if (x==5) x=1; if (x==0) x=4; if (c==13) { switch (x) { case 1: name(); break; case 2: time_d(); break; case 3: time_p(); break; case 4: return; }; }

system(\ printf(\

printf(\ |-----------------仪器仪表管理系统----------------|\\n\

if (x==1) printf(\ -------> 按名称查询 <-------\\n\

else printf(\ 按名称查询\\n\ if (x==2) printf(\ -------> 按时间段查询 <-------\\n\

else printf(\ 按时间段查询\\n\ if (x==3) printf(\ -------> 按时间点查询 <-------\\n\

else printf(\ 按时间点查询\\n\ if (x==4) printf(\ -------> 返回主菜单 <-------\\n\

else printf(\ 返回主菜单\\n\ printf(\ printf(\ |-------------------------------------------------|\\n\ c=getch();

} /* while(1) */ }

因不管查找条件是什么,最终都会对应到需查找的仪器仪表上,故补充一个公共函数condi_p();,输出查找一个仪器仪表的结果

[程序]

void condi_p(int year,int month,int day,int n,int *bool_lean,int *bool_repair) {

if (equ[n].time[year][month][day]==buy)

printf(\ M年-月-日购买%s仪器仪表\\n\ /* 借出&&归还 */ if

(equ[n].time[year][month][day]==lean&&(*bool_lean)==0) {

printf(\ M年-月-日借出%s仪器仪表\\n\ (*bool_lean)=1; } if

(equ[n].time[year][month][day]==inlib&&(*bool_lean)==1) {

printf(\ M年-月-日归还%s仪器仪表\\n\ (*bool_lean)=0; } /* 借出&&归还 */ /* 维修&&修完 */ if

(equ[n].time[year][month][day]==repair&&(*bool_repair)==0) {

printf(\ M年-月-日开始维修%s仪器仪表\\n\ (*bool_repair)=1; } if

(equ[n].time[year][month][day]==inlib&&(*bool_repair)==1) {

printf(\ M年-月-日结束维修%s仪器仪表\\n\ (*bool_repair)=0; } /* 维修&&修完 */

}

1按名称查询 ○

首先输入仪器仪表的名称,然后在结构体数组中查找是否存在这个仪器仪表,若是则循环该仪器仪表的所有时间点来判断改时间点处于什么状态,并用公共函数condi_p();来输出。

[程序] int name() {

char equ_input[100]; int i; system(\ printf(\

printf(\ |-----------------仪器仪表管理系统----------------|\\n\

printf(\ printf(\ 请输入仪器的名字:\ scanf(\ printf(\ i=presence(equ_input); if (i!=0) {

int j_y,j_m,j_d,bool_lean=0,bool_repair=0; for (j_y=0;j_y<=year_max;j_y++)

for (j_m=0;j_m<=month_max;j_m++) for (j_d=0;j_d<=day_max;j_d++) {

//P(j_y,j_m,j_d,i); system(\

condi_p(j_y,j_m,j_d,i,&bool_lean,&bool_repair); } /* for for for */ printf(\ printf(\ 查询完成,请按任意键返回上一级菜单\\n\ printf(\ |-------------------------------------------------|\\n\ getch(); return; } /* if */ else { printf(\ 对不起,找不到该仪器\\n\ printf(\ printf(\ 可能是由于您输入仪器的名称错误\\n\ printf(\ printf(\ 也可能是由于无此仪器,还未购买\\n\ printf(\

printf(\ 查询失败,请按任意键返回主菜单\\n\ printf(\ printf(\ |-------------------------------------------------|\\n\ getch(); return;

} /* else */ return; } 2按时间点查询 ○

输入需查询的时间点,然后循环每个仪器仪表在该时间点的状态且判断,并用公共函数condi_p();来输出。

[程序]

int time_p()

{ int i,year,month,day,equ_tmp,bool_lean[101],bool_repair[101]; for (i=0;i<101;i++) { bool_lean[i]=0; bool_repair[i]=0; } system(\ printf(\

printf(\ |-----------------仪器仪表管理系统----------------|\\n\ printf(\ printf(\ 请输入时间点:(以此格式年/月/日)\ scanf(\ printf(\ for(equ_tmp=1;equ_tmp<=equ_num;equ_tmp++)

condi_p(year,month,day,equ_tmp,&bool_lean[equ_tmp],&bool_repair[equ_tmp]); /* 每个仪器 */

printf(\ printf(\ 查询完成,请按任意键返回上一级菜单\\n\ printf(\ |-------------------------------------------------|\\n\ getch(); return; } 2按时间段查询 ○

首先输入起始时间点和结束时间点,应为每个月的天数不完全一样,用三重循环来做比较麻烦,故采用模拟法,设三个变量i、j、k,分别对应年,月,日,然后赋予初值为起始时间点,设置一无限循环,循环内设有判断是否i、j、k的值为结束时间点的语句。若是则跳出循环,否则继续循环。同时,在循环内k总是自加,当k自加至当月最大天数时,j就自加,当j自加至当年最大月数时,i自加。

[程序]

int time_d()

{ int year1,month1,day1,year2,month2,day2,

i,j,k,equ_tmp,bool_lean[101],bool_repair[101]; for (i=0;i<101;i++) { bool_lean[i]=0; bool_repair[i]=0; } system(\

搜索更多关于: C语言课程设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

int x=0; while (1) { if (c=='s'||c=='S') x++; if (c=='w'||c=='W') x--; if (x==5) x=1; if (x==0) x=4; if (c==13) { switch (x) { case 1: name(); break; case 2: time_d(); break; case 3: time_p(); break; case 4: return; };

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com