材料采购保管收费管理系统.docx
- 文档编号:7806015
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:7
- 大小:31.47KB
材料采购保管收费管理系统.docx
《材料采购保管收费管理系统.docx》由会员分享,可在线阅读,更多相关《材料采购保管收费管理系统.docx(7页珍藏版)》请在冰豆网上搜索。
材料采购保管收费管理系统
材料采购保管收费管理系统
C语言课程设计报告
1.程序设计题目
2.设计目的与要求
3.总体设计
3.1需求分析
3.2包含模块功能
4.详细设计
4.1主函数流程图
4.2query函数流程图
5.数据结构设计
6.调试分析
7.总结
8.参考文献
9.答辩记录
10.教师意见
正文
1.程序设计题目
材料采购保管收费管理系统(B级)
功能要求:
a)输入功能:
输入采购的10种材料货号、名称、材料供应价格、运杂费、运输损耗费、采购及保管费率。
b)计算功能:
计算每个材料的保管费用,材料采购保管费用=(材料供应价格+运杂费+运输损耗费)*采购及保管费率
c)查询功能:
按条件(货号、名称)显示材料的采购及保管费率。
2.设计目的与要求
设计一个程序,管理所输入的材料信息,并计算材料的保管费用以及按照货号或者名称查询材料的某个信息。
通过对任务的自行理解,并结合已掌握的或者是待掌握的C语言知识,来检验自己上学期C语言课程的学习情况。
在加深课本知识的掌握同时,也可以积累程序设计的经验,今后在学习工作中遇到困难,容易想起用编程等方式快速解决。
可以学会将课本上的理论知识和实际有机的结合起来,锻炼实际分析问题和解决问题的能力。
3.总体设计
3.1需求分析
在信息较多的情况下,人们总希望能有一个系统性的数据库来存储信息,并在其中完成查询工作,或是用筛选出来的数据进行计算或是对比。
尤其像任务需求的那样,在材料种类繁多的情况下,一个一个计算保管费用是不太现实的,容易出现输入输出上的错误。
这个时候就需要一个系统来完成存储信息,并且能为人们所调用来完成计算和查询的功能。
3.2包含模块功能
该系统需要做到以下几点:
①材料货号、名称、各项费用、费率的录入与保存;②调用其中的费用数据,计算所输入的各个材料的保管费用。
③询问是否使用查询功能,若使用,则按照货号或者名称输出材料信息。
该系统主要包含两个函数:
①main函数:
负责输入输出以及计算;②query函数:
负责询问是否查询以及按条件查询功能。
4.详细设计
4.1主函数流程图
4.2query函数流程图
5.数据结构设计
源程序:
#include
#include
#include
#include
#defineN10
structMat//声明无名结构体类型
{intnum;//材料货号
charname[10];//材料名称
floatprice1;//材料供应价格
floatprice2;//材料运杂费
floatprice3;//材料运输损耗费
floatprice;//材料保管费用
floatrate;//材料采购及保管费率
}mat[N];
voidquery(Matmat[])//声明查询函数
{
intn=0,choice=0,a=0,flag=1,i;
printf("请输入要查询的方式:
1.货号,2.名称\n");//声明查询方式
scanf("%d",&choice);
switch(choice)
{
case1:
//使用货号进行查询,如货号匹配则输出该材料的保管费率
printf("请输入要查询的货号\n");
scanf("%d",&n);
for(i=0;i { if(n==mat[i].num) { printf("所查找的材料的采购及保管费率为: %6.2f\n",mat[i].rate); a=1; break; } } if(a==1) break; else { printf("未查询到相关货号\n"); break; } case2: //使用材料名称进行查询,如名称匹配则输出该材料的保管费率 charnamep[10]; printf("请输入要查询的名称\n"); scanf("%s",namep); for(i=0;i { flag=strcmp(namep,mat[i].name); if(flag==0) { printf("所查找的材料的采购及保管费率为: %6.2f\n",mat[i].rate);break; } } if(flag==0) break; else {printf("未查询到相关货号\n");break;} } } intmain() { inti,choice=0;//输入材料信息 for(i=0;i { printf("请输入采购的材料各项信息,用空格间隔: \n"); printf("货号名称供应价格运杂费运输损耗费保管费率\n"); scanf("%d%s%f%f%f%f",&mat[i].num,&mat[i].name,&mat[i].price1,&mat[i].price2,&mat[i].price3,&mat[i].rate); printf("\n"); mat[i].price=(mat[i].price1+mat[i].price2+mat[i].price3)*mat[i].rate;//计算材料的保管费用 } printf("货号保管费用\n"); for(i=0;i { printf("%-6d%6.2f",mat[i].num,mat[i].price); printf("\n"); } printf("\n"); do { printf("是否要进行查询? 1.是,使用查询功能or缺省.否,程序将直接退出\n"); scanf("%d",&choice); switch(choice) { case1: query(mat);break;//如使用查询,调用查询函数 default: exit(0); } }while(choice! =1); exit(0); return0; } 6.调试分析 输入及运算功能调试: 查询功能调试(按货号): 查询功能调试(按名称): 7.总结 通过编写这个程序,我能对上学期学习的C语言知识有了一定的巩固与更深地了解。 虽然在最初编写时,有许多想法不完善或是语法错误,但后来都在仔细阅读课本、参考书目,或是询问老师的过程中被一一查找出来并进行了完善。 这种出现问题,自行找办法解决,或是找同学老师解答难题的学习方式让我十分有成就感,写程序就变成了一件轻松的事情。 经过这次课程设计我也明白,C语言并不是像我们当初学习的时候那样分类,它是一个系统的学习体系,看似不相关的知识点其实都是串在一起的。 有了生活中的实际问题,更能让我们发现程序的便捷。 在这一周的编写调试过程中,我发现题目虽然看上去简单,但也有一些需要注意的细节。 只有耐心对待,一遍又一遍地调试,才能发现自己的错误在哪里,才能在这次学习过程中有很大收获。 最后要感谢课程设计过程给我辅导的老师,感谢为我点出了问题的关键,并帮助我跨过了一些一直阻碍着的障碍。 在今后的生活中,我会灵活应用程序,让它们帮助我的生活更加便捷。 8.参考文献 1.《C语言课程设计实例精选与编程指导》东南大学出版社 2.《C语言程序设计学习指导、实验指导与课程设计》中国水利水电出版社2006年盛夕清,赵阳等 3.《C语言课程设计案例精编》中国水利水电出版社2005年郭翠英等 9.答辩记录 10.教师意见
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 材料 采购 保管 收费 管理 系统