- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言课程实践验设备管理系统
中国地质大学(武汉)机械设计制造及其自动化专业072105——陈乾
#include
#include
#define AMOUNT 50
typedef struct int year;
int month;
int day;
DATE;
struct EQU
int num; /*本程序默认设备编号各不相同且不为0*/
char type[20];
char name[20];
int price;
DATE buy_time;
int scrap; /*0表示报废1表示不报废*/
DATE scr_time;
equ[AMOUNT]; /*公共函数 保存与加载函数*/
void save FILE *fp;
int i;
if fp fopen record,wb NULL printf cannot open file\n ;
for i 0;i AMOUNT;i++ if fwrite equ[i],sizeof struct EQU ,1,fp ! 1 printf file write error\n ;
fclose fp ; void load FILE *fp;
int i;
if fp fopen record,rb NULL printf cannot open file\n ;
for i 0;i AMOUNT;i++ if fread equ[i],sizeof struct EQU ,1,fp ! 1 if feof fp fclose fp ; printf file read error\n ; fclose fp ; /*录入模块*/
void add int flag;
struct EQU *p;
load ; /*程序缺陷 如果record文件中存储数据不足 将重复输出多个file read error 原因在于for语句对其进行循环AMOUNT次循环 如不写本行记录将被覆盖*/
p equ;
do if p- num! 0 p++;
printf 请输入设备编号\n ;
scanf %d,p- num ;
printf 请输入设备种类\n ;
scanf %s,p- type ;
printf 请输入设备名称\n ;
scanf %s,p- name ;
printf 请输入设备价格\n ;
scanf %d,p- price ;
printf 请输入设备购买日期 年 月 日以空格隔开\n ;
scanf %d%d%d,p- buy_time.year,p- buy_time.month,p- buy_time.day ;
p- scrap 1;
p- scr_time.year 0;
p- scr_time.month 0;
p- scr_time.day 0;
printf \n以下记录录入成功\n ; printf 编号:%d 设备种类:%s 设备名称:%s\n价格:%d 购买日期:%d %d %d\n是否报废:%d 报废日期:%d %d %d \n,p- num,p- type,p- name,p- price,p- buy_time.year,p- buy_time.month,p- buy_time.day,p- scrap,p- scr_time.year,p- scr_time.month,p- scr_time.day ; printf 继续录入请按1,退出请按2\n ;
scanf %d,flag ;
while flag 1 ;
save ; /*修改模块*/
void change int flag,n,i 0;
struct EQU *p;
p equ;
load ;
printf 请输入要更改的设备编号\n ;
scanf %d,flag ;
for i 0,p equ;i AMOUNT;i++,p++ if p- num flag do printf 请输入要更改的信息:\n1设备编号\n2设备种类\n3设备名称\n4设备价格\n5购买日期\n6是否报废\n7退出\n ; scanf %d,n ; switch n case 1: printf 请输入新的设备编号\n ; scanf %d,p- num ;break; case 2: printf 请输入新的设备种类\n ; scanf %s,p- type ;break; case 3: printf 请输入新的设备名称\n ; scanf %s,p- name ;break; case 4: printf 请输入新的价格\n ; scanf
文档评论(0)