ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:221.19KB ,
资源ID:7201302      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7201302.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言设备管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言设备管理系统.docx

1、c语言设备管理系统c语言设备管理系统 作者: 日期: 课程设计说明书学 院、系:专 业:学 生 姓 名:学 号:设 计 题 目:设备管理系统 起 迄 日 期:指 导 教 师:日期: 2017年5月12日1 设计目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。2 任务概述功能:设备管理系统应包含各

2、种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。3、进一步要求:完成设备按种类、按所属部门进行统计。3 模块划分 系统可设计为:实验设备信息写入模块实验设备信息输出模块.实验设备信息查询模块实验设备信息添加模块实验设备信息删除模块实验设备信息查询模块实验设备信息统计模块

3、结构体成员包括设备号,设备名称,设备领用人,设备所属部门 ,设备数量 ,设备购买时间, 设备价格。4 主要函数说明及其N-S图 4.1 主函数流程图 输入数字numberT number=1 Fchec() T number=2 F add() T number=3 Fdel() T number=4 Falt() T number=5 Fcount() T number=0 F 退出系统 4.2 N-S图4.3查询记录 图4.34.4读入/写入文件 图4.44.5添加数据 图4.54.6删除数据 图4.64.7修改数据 图4.7 开始 选择统计方式4.8统计数据 图4.8 结束5 程序运行数

4、据及其结果 图5.1 进入界面 图5.2菜单&功能选择图5.3 添加数据 图5.4 查看数据 图5.5 删除数据 图5.6 修改数据 图5.7 统计数据6 课程设计心得经历了大一上半学期C语言课程,C语言笔试,C语言机试的“洗礼”,让我对C语言的有了进一步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。在大一下学期C语言实训中,不仅有网上已有成果的借鉴与分析,以及向同学的请教,还有相关资料的查阅,既加深了自身能力的认知与对自己不足的体会,也优化了和同学的关系,真可谓一举

5、两得。同时还得出一个结论:亲身下河知深浅,亲口尝梨知酸甜!作为一名软件工程的学生,平时在电脑跟前敲代码的过程是必需的,谁也躲不了,一份努力,一份收获,同时,学习语言需要细密又严谨的思维,良好的操作习惯,这样才有可能在编程的道路上百尺竿头更进一步!也希望各位老师、身边的同学监督,更需要自己的积极自省。期待三年后一个成熟优秀的自己!附录:#include #include #include #include void menu(); /功能选择void add(); /添加信息void del(); /删除信息void alt(); /修改信息void chec(); /查看信息void coun

6、t(); /统计信息void read(); /读取文件void write(); /写入文件struct array char 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(); /实

7、现信息写入文件 return 0;void menu() system(cls); int a; puts(nnnnnn); puts( 1.查看设备信息n 2.添加设备信息n 3.删除设备信息n 4.修改设备信息n 5.统计设备信息n 0.退出系统); 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; d

8、efault:printf(信息有误!请检查后重新输入n); void read() No=0; FILE *fp=fopen(D:infor.txt,r+); /读写功能 if(fp=NULL) fp=fopen(D:infor.txt,w+); /若没有则创建一个txt fclose(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+)

9、; for (i=0;iNo;i+) if (!ai.del) fwrite(&ai,sizeof(struct array),1,fp); fclose(fp);void chec() int i; printf( 设备号 设备名称 领用人 所属部门 数量 购买时间 价格n); for(i=0;iNo;i+) if(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();

10、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); scanf(%s,aNo.aapartment); printf(请输入要添加的设备数量:n); scanf(%s,aNo.aamount); printf(请输入要添加的设备购买时间:n); scanf(%s,aNo.atime);

11、 printf(请输入要添加的设备价格:n); scanf(%s,aNo.aprice); aNo.del=0; No+=1; printf(请问是否继续添加?(Y/N)(不区分大小写)n); while (1) getchar(); gets(&s); if (s=Y|s=N|s=y|s=n) break; else puts(信息有误!请检查后重新输入n); puts(按任意键重新输入!); getchar(); getchar(); getchar(); if(s=Y|s=y) add(); else if(s=N|s=n) system(cls); menu();void del()

12、char ch20,s; int i; printf(请输入要删除的设备编号:(0键返回菜单栏)n); printf( 设备号 设备名称 领用人 所属部门 数量 购买时间 价格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); if (s=Y|s=N|s=y|s=n) break; else puts(信息有误!请检查后重新输入n); if(s

13、=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=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.apric

14、e)*atoi(ai.aamount)+sum; printf(当前设备的总价值为%d。n,sum); break; case 2: printf(设备所属部门统计结果为: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.apri

15、ce); 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=n+atoi(ai.aamount); if(sum=0) continue; printf(%20s%20d%20dn,ai.aname,n,sum); break; printf(请问是否继续统计?(Y/N)(不区分大小写)n); while (1) getchar(); gets(&s); if (s=Y|s=N|s=y|s=n) break; else puts(信息有误!检查后重新输入n); if(s=Y|s=y) count(); else if(s=N|s=n) system(cls);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1