版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书学 院、系:专 业:学 生 姓 名: 学 号:设 计 题 目: 设备管理系统起 迄 日 期 :指 导 教 师 :日期: 2017 年 5 月 12 日1 设计目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握 C 语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养 C 语言只是运用与自学能力,加强程序分析能力。2 任务概述功能:设备管理系统应包含各种设备的全部信息,每台设备为一条
2、记录(同一时间同一部门购买的若干台相同设备可作为 1 条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施 :1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个文件,包含一个部门 10 台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。3、进一步要求:完成设备按种类、按所属部门进行统计。3 模块划分系统可设计为:实验设备信息写入模块实验设备信息输出模块 .实验设备信息查询模块实验设备信息添加模块实验设备信息删除模块实验设备信息查询模块实验设备信息统计模块结构体成员包括设备号,
3、 设备名称, 设备领用人, 设备所属部门 ,设备数量 ,设备购买时间, 设备价格 。4 主要函数说明及其 N-S 图设备管理系统实 验进 入 实 验 实 验 实 验 实 验实验 实 验菜单 设 备 设 备 设 备 设 备 设 备 设 备 设 备信 息信 息 信 息 信 息 信 息 信 息 信 息写 入 查 询输 出 添 加 查 询删 除 统 计功 能选择模块模块 模块 模块 模块模块模块4.1 主函数流程图输入数字 numberT number=1Fchec() T number=2Fadd() T number=3Fdel() T number=4 Falt() T number=5 Fco
4、unt() T number=0 F退出系统4.2 N-S 图4.3 查询记录开始按要求查看记录图 4.3结束4.4 读入 / 写入文件开始定义文件指针F 判断文件是否可存在?图 4.4创建一个文件T写入数据关闭文件结束4.5 添加数据开始按要求输入信息图 4.5完成一条记录的添加F是否继续输入 ?T结束4.6 删除数据开始输入设备 ID 号图 4.6进行删除操作结束4.7 修改数据开始 输入要修改的 ID 号图 4.7按要求修改数据结束4.8 统计数据开始选择统计方式 图 4.8显示统计结果结束5 程序运行数据及其结果图 5.1 进入界面图 5.2 菜单 &功能选择图 5.3 添加数据图 5
5、.4 查看数据图 5.5 删除数据图 5.6 修改数据图 5.7 统计数据6 课程设计心得经历了大一上半学期 C语言课程, C语言笔试, C语言机试的“洗礼” ,让我对 C语言的有了进一步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。在大一下学期 C语言实训中,不仅有网上已有成果的借鉴与分析,以及向同学的请教,还有相关资料的查阅,既加深了自身能力的认知与对自己不足的体会,也优化了和同学的关系,真可谓一举两得。同时还得出一个结论:亲身下河知深浅,亲口尝梨知酸甜!作为一名
6、软件工程的学生,平时在电脑跟前敲代码的过程是必需的,谁也躲不了,一份努力,一份收获,同时,学习语言需要细密又严谨的思维,良好的操作习惯,这样才有可能在编程的道路上百尺竿头更进一步!也希望各位老师、身边的同学监督,更需要自己的积极自省。期待三年后一个成熟优秀的自己!附录:#include #include #include #include void menu(); / 功能选择void add(); / 添加信息void del(); / 删除信息void alt(); / 修改信息void chec(); / 查看信息void count(); / 统计信息void read(); / 读取
7、文件void write(); / 写入文件struct 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(); / 实现功能选择write(); / 实现信息写入文件return 0;void menu
8、()system(cls);int a;puts(nnnnnn);puts( 1. 查看设备信息 n2. 添加设备信息 n 3. 删除设备信息 n4. 修改设备信息 n 5. 统计设备信息 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( 信息有误!请检查后重新输入
9、n);void read()No=0;FILE *fp=fopen(D:infor.txt,r+); / 读写功能if(fp=NULL)f p=fopen(D:infor.txt,w+); / 若没有则创建一个 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,w+);for (i=0;iNo;i+)if (!ai.del)fwrite
10、(&ai,sizeof(struct array),1,fp);fclose(fp);void chec()int i;printf( 设备号 设备名称 领用人 所属部门数量 购买时间 价格 n);for(i=0;iNo;i+)i f(ai.del=0)printf(%8s%20s%20s%20s%20s%20s%20sn,ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.aprice);getchar();getchar();menu();void add()char s;printf( 请输入要添加的设备号: n)
11、;scanf(%s,aNo.ano);printf( 请输入要添加的设备名称: n);scanf(%s,aNo.aname);printf( 请输入要添加的设备领用人: n);scanf(%s,aNo.aowner);printf( 请输入要添加的设备的所属部门: n);scanf(%s,aNo.aapartment);printf( 请输入要添加的设备数量: n);scanf(%s,aNo.aamount);printf( 请输入要添加的设备购买时间: n);scanf(%s,aNo.atime);printf( 请输入要添加的设备价格: n);scanf(%s,aNo.aprice);aN
12、o.del=0;No+=1;printf( 请问是否继续添加?( Y/N)(不区分大小写) 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(cls);menu();void del()char ch20,s;int i;printf( 请输入要删除的设备编号: (0 键返回菜单栏) n);printf
13、( 设备号 设备名称 领用人所属部门 数量 购买时间 价格 n);for(i=0;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)break;else puts( 信息有误!请检查后重新输入 n);if(s=Y|s=y)del();else if(s=N|s=n)system(cls);menu();void alt()char s
14、,ch20;int i,j;printf( 请输入修改的设备的编号: n);printf( 设备号 设备名称 领用人所属部门 数量 购买时间 价格 n);for(i=0;i=1 & i=1 & j=1 & j=3)break;else if(j=0)return;else puts( 信息有误!请检查后重新输入 n);switch (j)case 1:for(i=0;iNo;i+)if(ai.del=0)sum=atoi(ai.aprice)*atoi(ai.aamount)+sum;printf( 当前设备的总价值为 % d。n,sum);break;case 2:printf( 设备所属部
15、门统计结果为: n 所属部门 数量总价值 n);for(i=0;iNo;i+)sum=0;n=0;strcpy(temp,ai.aapartment); / 将可变的数组 ai 复制到 temp 数组中for(j=0;jj)break;else if(strcmp(temp,aj.aapartment)=0&ij)continue;if(ai.del=0) sum=sum+atoi(ai.aamount)*atoi(ai.aprice);n=n+atoi(ai.aamount);if(sum=0)continue;printf(%20s%20d%20dn,ai.aapartment,n,sum);break;case 3:printf( 设备种类统计结果为: n 设备名 数量总价值 n);for(i=0;iNo;i+)sum=0;n=0;strcpy(temp,ai.aname);for(j=0;jj)break;else if(strcmp(temp,aj.aname)=0&ij)continue;if(ai.del=0) sum=sum+atoi(ai.aamount)*atoi(ai.aprice);n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年住宅工程分户验收标准及流程
- 2026年国内储能行业技术路线演进及未来五年装机预测
- 2026年洗手台台面材质选择与抗污要求
- 2026年体验式培训项目设计与效果评估实训
- 2026年幼儿园上学期师德师风建设总结
- 2026年学习方法经验交流主题班会总结
- 2026年智能家居体验馆创业计划书
- 2026年索赔风险评估与预警机制
- 2026年基于TRIZ的康复训练机器人防倾倒设计
- 输液过敏反应的护理知识普及
- 2026中国铁路兰州局集团有限公司招聘普通高校毕业生113人(三)笔试备考题库及答案解析
- 精神科风险评估管理规范2026.1.10
- 2026年中国邮政集团面试与笔试全攻略
- 2026无锡市中考历史押题必刷卷含答案
- 第10课 学会表达 课件(内嵌视频)2025-2026学年道德与法治三年级下册统编版
- 2025-2030韩国造船设备行业市场深度调研及发展趋势与投资前景预测研究报告
- 发展对象应知应会题库
- 内蒙古自治区包头市2025-2026学年中考二模物理试题(含答案解析)
- 雨课堂学堂在线学堂云人工智能与医学数据计算(中国医科大学)单元测试考核答案
- 广东省江门市2026年高考模拟考试(一模)英语试题( 含答案)
- 瑞幸咖啡入职在线测评题库
评论
0/150
提交评论