下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书学 院、系:专 业:学生姓名:学号:设计题目:设备管理系统起迄日期:指导教师:日期:2017年5月12日1 设计目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握 C 语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C 语言只是运用与自学能力,加强程序分析能力。2 任务概述功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为
2、 1 条记录) ,包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施 :1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个文件,包含一个部门10 台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。3、进一步要求:完成设备按种类、按所属部门进行统计。3 模块划分系统可设计为:实验设备信息写入模块实验设备信息输出模块 .实验设备信息查询模块实验设备信息添加模块实验设备信息删除模块实验设备信息查询模块实验设备信息统计模块结构体成员包括设备号, 设备名称, 设备领用人, 设备所属部门 ,设备
3、数量 ,设备购买时间, 设备价格 。4 主要函数说明及其N-S 图设备管理系统验备自2计三 块 实设信统模验备息询夬实设信查期4.1主函数流程图4.3查询记录4.4读入/写入文件4.5添加数据开始开始4.6删除数据4.7修改数据开始反 输入要修改的ID号m 4.7按要求修改数据结束4.8统计数据开始选择统计方式图 L4_8二显示统计结果结束5程序运行数据及其结果:«8联通使用改品管理不院1 »»»图5.1进入界面舱功总息总名思 的fefF值忘博 支制砧印备小访 福设出设碧墓 乃苫孜汁出 选也添酬雄第温,flL L1.J.5.0.1->»&
4、#187;»>»S->»»»»>»»»»>>»»»»>1 »»»»>»»»»>>»»»»>>»»图5.2菜单物能选择(««««««« ««««&
5、#171; «««««< < 代找找请选择需要的功 te: >»»»»»»>» > »»»>» >»>»»»»»»»»> >»»»»»»»»»»»»» 宜若设窑
6、憎是2 .诙加设各信息3 .刖除设备信息4 .标改设备信息5 .统计出品信息。-退出系统请选坏心的功能选捋力2请输入诙扣的设备号:100请柏A要添加的设缶名称:触川I用也也请箱人爱添加的设香版用人,戚师请用人要添加的设峦的所属部门,住校请用人要诙加的出需妓量:IOOOO请箱人要诙加的设备能买时间,201Q请箱人要诙加的设备价格r3000请问是香城堂添加? CV/K?工不区分大小写,¥谓柏人要海摘的设品号中文-族拼音箱入法功也脑脑脑M 的电电中电 你用 拦师生由白 选教学和生中王姻拼音输入沈半:12345fr .,号01020304 2 31 号蕃0;000 边总设图5.3添加数据功品
7、.息息息 的江花陆信信 要餐品品缶备就 需世tiaa设星. 择若加除改计出 送百用时"统设.itLa.3.4.s.&.1A用领师生国 般干软学功艮 息息电:总 的信信信信信 要*窗各缶备鲸 需4口设设案 拜总味改时出 选哲砺则陆领炽 情 La.a.l,b,u.-称脑脑依is2 名曲电电也 &用利用 -设邮生自白 戟牛为生教学4,及各号!.设缸名称 赣用人 .所属部门 敷量 i.购买时间 ;价格 返何莱华桂学学个个所属郃门数量购芟时间价格校lOOOO2Q103000被hOQOO2G104QOOA600020144000A250W2&165000图5.4查看数据请
8、选把你的功能'E V i设博号 1001 1002 1.003 1004人如生死土12IIJM牛敕学门校焚人12 钻学荣小 厘所效量 10000 S0000600055000 32购买时间 2010 2030 2014 3016 12价格300040004000500032图5.5 删除数据L选把口助电息息息息 的餐宿信宿 芸琴金瞽品品绘 S3.2 拦*l:n除发十出 番聂兽遇»»»»»»»»»»»»»»»»»
9、7;»»»»»»»»»»»»»»»»»»»设晶名称 就此用电北 学生用电疝 教师自用电脑 学生自用电聒人匕生心生 用教学教学 就门校校人人 郃学学士个展.所1000050000000025000的15:时间 2010 2010 2034 26阶格 3000 4000 4000500CT/W) C不区分大小写图5.6修改数据图5.7统计数据6课程设计心得经历了大一上半学期 C语言课程,C语言笔试,C语言机试的
10、“洗礼”,让我对C语言的有了进 步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深 深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。在大一下学期C语言实训中,不仅有网上已有成果的借鉴与分析,以及向同学的请教,还有相关资料 的查阅,既加深了自身能力的认知与对自己不足的体会,也优化了和同学的关系,真可谓一举两得。 同时还得出一个结论:亲身下河知深浅,亲口尝梨知酸甜!作为一名软件工程的学生,平时在电脑跟 前敲代码的过程是必需的,谁也躲不了,一份努力,一份收获,同时,学习C语言需要细密又严谨的 思维,良好的操作习惯,这样才有
11、可能在编程的道路上百尺竿头更进一步!也希望各位老师、身边的 同学监督,更需要自己的积极自省。期待三年后一个成熟优秀的自己!附录:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>void menu();/功能选择void add();/添加信息void del();/删除信息void alt();/修改信息void chec();/查看信息void count();/统计信息void read();/读取文件void write();/写入文件str
12、uct arraychar ano20,aname20,aowner20,aapartment20,aamount20,atime20,aprice20;int del; /判断是否删除,值为 0为未删除, 1 为已删除 a20;int No,sum;int main()system("mode con cols=145 lines=35");puts("nnnnnnnnnnnnn<<<<<<管理系统!>>>>>>");getchar();read();/实现文件读进内存menu()
13、;/实现功能选择write();/实现信息写入文件return 0;欢迎使用设备void menu()system("cls");int a;puts("nnnnnn<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<请选择需要的功能:>>>>>&
14、gt;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");puts("1.查看设备
15、信息n2.添加设备信息n3.删除设备信息n4.修改设备信息n5.统计设备信息n0.退出系统");printf("tt请选择你的功能(选择05) bb");scanf("%d",&a);switch (a)case 0:return;case 1:chec();break;case 2:add();break;case 3:del();break;case 4:alt();break;case 5:count();break;default:printf(" 信息有误!请检查后重新输入n");void read()No
16、=0;FILE *fp=fopen("D:infor.txt","r+"); /读写功能if(fp=NULL)f p=fopen("D:infor.txt","w+"); /若没有则创J建一个txtf close(fp);int i;for(i=0;!feof(fp);i+)fread(&ai,sizeof(struct array),1,fp); /一次读取一个No+;No=No-1;fclose(fp);void write()int i;FILE *fp=fopen("D:infor.txt
17、","w+");for (i=0;i<No;i+)if (!ai.del)fwrite(&ai,sizeof(struct array),1,fp);fclose(fp);void chec()int i;printf("设备号设备名称领用人所属部门数量购买时间 价格 n");for(i=0;i<No;i+)i f(ai.del=0)printf("%8s%20s%20s%20s%20s%20s%20sn",ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamoun
18、t,ai.atime,ai.aprice);getchar();getchar();menu();void add()char s;printf(" 请输入要添加的设备号: n");scanf("%s",aNo.ano);printf(" 请输入要添加的设备名称: n");scanf("%s",aNo.aname);printf(" 请输入要添加的设备领用人: n");scanf("%s",aNo.aowner);printf(" 请输入要添加的设备的所属部门: n
19、");scanf("%s",aNo.aapartment);printf(" 请输入要添加的设备数量: n");scanf("%s",aNo.aamount);printf(" 请输入要添加的设备购买时间: n");scanf("%s",aNo.atime);printf(" 请输入要添加的设备价格: n");scanf("%s",aNo.aprice);aNo.del=0;No+=1;printf(" 请问是否继续添加?( Y/N)
20、(不区分大小写) n");while (1)getchar();gets(&s);i f (s='Y'|s='N'|s='y'|s='n')break;elseputs(" 信息有误!请检查后重新输入 n");puts(" 按任意键重新输入! ");getchar();getchar();getchar();if(s='Y'|s='y')add();else if(s='N'|s='n')system(&quo
21、t;cls");menu();void del()char ch20,s;int i;printf(" 请输入要删除的设备编号: ( 0 键返回菜单栏) n");printf("设备号设备名称领用人所属部门 数量购买时间 价格 n");for(i=0;i<No;i+)i f(ai.del=0)printf("%4d%20s%20s%20s%20s%20s%20s%20sn",i+1,ai.ano,ai.aname,ai.aowner,ai.a apartment,ai.aamount,ai.atime,ai.apric
22、e);while (1)scanf("%s",ch);i =atoi(ch);i f (i>=1 && i<=No)break;else if(i=0)return;else puts(" 信息有误!请检查后重新输入 n");ai-1.del=1;printf(" 是否继续删除?( Y/N ) (不区分大小写) n");while (1)getchar();gets(&s);i f (s='Y'|s='N'|s='y'|s='n')br
23、eak;else puts(" 信息有误!请检查后重新输入 n");if(s='Y'|s='y')del();else if(s='N'|s='n')system("cls");menu();void alt()char s,ch20;int i,j;printf(" 请输入修改的设备的编号: n");printf("设备号设备名称领用人所属部门 数量购买时间 价格 n");for(i=0;i<No;i+)printf("%4d%20s
24、%20s%20s%20s%20s%20s%20sn",i+1,ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.aprice);while (1)scanf("%s",ch);i =atoi(ch);i f (i>=1 && i<=No)break;else if(i=0)return;else puts(" 信息有误!请检查后重新输入 n");if(ai-1.del=1)printf(" 该设备已被删除! n");r e
25、turn;printf(" 请输入您要修改的内容的编号: n1. 设备号 n2. 设备名称 n3. 领用人 n4. 所属部门 n5. 数 量 n6. 购买时间 n7. 价格 n0. 返回菜单栏n");while (1)scanf("%s",ch);j =atoi(ch);i f (j>=1 && j<=7)break;else if(i=0)return;else puts(" 信息有误!请检查后重新输入 n");printf(" 请输入要修改的信息: n");switch (j)cas
26、e 1:scanf("%s",ai-1.ano);break;case 2:scanf("%s",ai-1.aname);break;case 3:scanf("%s",ai-1.aowner);break;case 4:scanf("%s",ai-1.aapartment);break;case 5:scanf("%s",ai-1.aamount);break;case 6:scanf("%s",ai-1.atime);break;case 7:scanf("%s
27、",ai-1.aprice);break;printf(" 是否继续修改?( Y/N ) (不区分大小写) n");while (1)getchar();/获取回车gets(&s);/获取 si f (s='Y'|s='N'|s='y'|s='n')break;else puts(" 信息有误!请检查后重新输入 n");if(s='Y'|s='y')alt();else if(s='N'|s='n')syste
28、m("cls");menu();void count()char ch20,temp20,s;int i,j,n;sum=0;printf(" 请选择统计方式: n1. 所有设备的总价值。 n2. 设备所属部门。 n3. 设备种类。 n0. 返回 菜单栏 n");while (1)scanf("%s",ch);j =atoi(ch);i f (j>=1 && j<=3)break;else if(j=0)return;else puts(" 信息有误!请检查后重新输入 n");switc
29、h (j)case 1:for(i=0;i<No;i+)if(ai.del=0)sum=atoi(ai.aprice)*atoi(ai.aamount)+sum;printf(" 当前设备的总价值为%d。 n",sum);break;case 2:printf(" 设备所属部门统计结果为: n所属部门 数量总价值 n");for(i=0;i<No;i+)sum=0;n=0;strcpy(temp,ai.aapartment); /将可变的数组 ai 复制到 temp 数组中for(j=0;j<No;j+)if(strcmp(temp,aj.aapartment)=0&&i>j)break;else if(strcmp(temp,aj.aapartment)=0&&i<j&&aj.del=0)sum=sum+atoi(aj.aamount)*atoi(aj.aprice);n=n+atoi(aj.aamount);if(strcmp(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48323-2026电动道路车辆用镍氢动力蓄电池包和系统电性能试验方法
- T/ZPMA 0002-2024RFID技术物联网应用与数据安全技术规范
- T/JSCTS 87-2025地铁车站高效通风空调系统设计技术规范
- T/CNFAGS 20-2025液体肥料塑料包装容器
- T/CC 16-2026跨境商品交易所国际协作指南
- T/CSPSTC 187-2025板桁(板梁)组合体系钢-混凝土组合桥面板设计技术规程
- GB/T 48286-2026运载火箭和航天器地面分离试验要求
- 2025~2026学年广东省深圳市罗湖区北师大版三年级上册阳光评价数学试卷【附答案】
- AI农产品品质检测分级分拣技术
- 2025年高压电工证模拟考试题库及答案
- 脚手架危大工程划分
- 椎管内肿物的护理查房
- 抢救柜管理课件
- 《教育评价学(第四版)》课件全套 第1-16章 教育评价概述-增值性评价
- 广东省房屋建筑工程竣工验收技术资料统一用表(2024版)
- 英语A级常用词汇
- 数学-湖北省武汉市2025届高中毕业生二月调研考试(武汉二调)试题和解析
- 2024电力建设工程绿色建造评价规范
- 2024年婴幼儿发展引导员(高级)职业技能鉴定考试题库(含答案)
- 港口液体危化品装卸管理人员理论考试题库-上(单选题)
- 第24课 《拒绝不良诱惑》 心理健康八年级下册
评论
0/150
提交评论