某医药公司售货系统c语言程序设计.docx

上传人:精*** 文档编号:842045 上传时间:2023-09-08 格式:DOCX 页数:20 大小:528.39KB
下载 相关 举报
某医药公司售货系统c语言程序设计.docx_第1页
第1页 / 共20页
某医药公司售货系统c语言程序设计.docx_第2页
第2页 / 共20页
某医药公司售货系统c语言程序设计.docx_第3页
第3页 / 共20页
某医药公司售货系统c语言程序设计.docx_第4页
第4页 / 共20页
某医药公司售货系统c语言程序设计.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、 目录一、需求分析1二、设计分析2三、主要界面截图6四、技术要点9五、个人总结14六、参考文献15七、源程序15一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。使用c+编程可以使某医药公司的销售系统清晰明朗化,使我们能清楚的知道销售的情况,符合现代科技的需要。整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是:录入药品信息,购进药品,出售药品,库存显示。1、录入药品信息 在D盘中创建Medicine.txt文件,并对药品进行录入。2、购进药品 模拟药品进购,并且按照题目要求,随时购进药品,并对其进行储存。3、出售药品 按照题目的具体

2、要求能够随时出售药品,并对其进行储存;4、药库现状查看 可以随时对药库的现存状况进行查看,包括药品编号,药品名字,购进数量,购进价格,出售药品数,出售价格这六项;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。原文件存在D盘的Medicine.txt文件中,包括药品编号,药品名字,购进数量,购进价格,出售药品数,出售价格这六项信息,通过fopen函数读取,然后通过调用各个函数,运行其各项功能。二、设计分析1、程序总体结构图2、具体功能框图(1)录入药品信息函数 图2 录入药品信息函数(2)购进药品信息函数图3购进药品信息函数(3)

3、出售药品信息函数图4出售药品信息函数(4)药库现状查看函数三、主要界面截图四、技术要点本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,录入药品信息,购进药品,出售药品和药库现状是程序中较为核心的部分,下面分别进行说明。1、录入药品信息首先在D盘中创建一个Medicine.txt文件,文件储存药店里药品的信息,信息显示依次为药品编号,药品名字,购进数量,购进价格,出售药品数,出售价格。在编写一个fopen函数,打开D盘中的Medicine.txt文件,并且按照药品编号,药品名字,购进数量,购进价格,出售药品数,出售价格的顺序依次

4、输出。具体的程序段如下:void save()int i,j,z;FILE *fp;if(fp=fopen(d:Medicine.txt ,a)=NULL) if(fp=fopen(d:Medicine.txt ,w)=NULL) printf(文件打开失败!n); return;printf(录入药品信息n); printf(请输入您要输入的药品信息:n);printf(您要输入几种药品信息:n);scanf(%d,&i);for(j=0;ji;j+)printf(请输入药品的编号:n);scanf(%d,&medj.num1);printf(输入要添加的药品名称,库存数量,购进价格,出售药

5、品数,出售价格n);scanf(%s%d%f%d%f,medj.name,&medj.num2,&medj.price1,&medj.num3,&medj.price2);fprintf(fp,%d%s%d%f%d%fn,medj.num1,medj.name,medj.num2,medj.price1,medj.num3,medj.price2);printf(药品编号 药品名称 库存数量购进价格出售药品数 出售价格n);for(z=0;zSIZE;z+) printf(%d%s%d%6.2f%d%6.2fn,medz.num1,medz.name,medz.num2,medz.price1

6、,medz.num3,medz.price2);fclose(fp);zicaidan();2:购进药品:类似出售药品,运用scanf函数先输入购进的药品编号,再输入药品的数量,在对药品的数量进行num2+=t的操作。具体程序如下:void goujin()int i,j,z;int num;FILE *fp;fp=fopen(d:Medicine.txt,w);if(fp=fopen(d:Medicine.txt,w)=NULL) printf(文件打开失败!n); return ;printf(购进药品n); printf(输入编号:);scanf(%d,&num);printf(输入数量

7、:);scanf(%d,&j);for(i=0;i10;i+)if(num=medi.num1)medi.num2+=j;printf(这种药品数是: %dn,medi.num2);for(z=0;zSIZE;z+)fprintf(fp,%d%s%d%f%d%fn,medz.num1,medz.name,medz.num2,medz.price1,medz.num3,medz.price2);zicaidan();3:出售药品该函数执行时,首先出来提示信息,然后运用scanf函数输入药品编号,通过函数的调用读取D盘中的数据,并按照药品编号,药品名字,购进数量,购进价格,出售药品数,出售价格这样

8、的顺序进行输出,由于药品已售出,故要对该药品的数量进行num2 - =t的操作,对该药品售出的数量进行num3+ =t操作。具体程序如下:void chushou()int i,t,j;int num;FILE *fp;fp=fopen(d:Medicine.txt,w);if(fp=fopen(d:Medicine.txt,w)=NULL) printf(文件打开失败!n); return ;printf(出售药品n);printf(你想买哪种药:);scanf(%d,&num);printf(%以下是此药信息%n);for(i=0;imedi.num2)printf(库存不足!n);els

9、emedi.num2-=t;medi.num3+=t;for(j=0;jSIZE;j+)fprintf(fp,%d%s%d%f%d%fn,medj.num1,medj.name,medj.num2,medj.price1,medj.num3,medj.price2);zicaidan();4:药库现状:通过函数的调用显示出现存的药品状况几及出售的药品状况。具体程序如下:void mednow()int i,j;FILE *fp;fp=fopen(d:Medicine.txt,r+);if(fp=fopen(d:Medicine.txt,r+)=NULL) printf(文件打开失败!n); r

10、eturn ;for(j=0;jSIZE;j+)fscanf(fp,%d%s%d%f%d%fn,&medj.num1,&medj.name,&medj.num2,&medj.price1,&medj.num3,&medj.price2);printf(库存显示n);printf(药品编号 药品名称库存数量购进价格出售药品数 出售价格n);for(i=0;iSIZE;i+)printf(%d %s %d %6.2f %d %6.2fn,medi.num1,medi.name,medi.num2,medi.price1,medi.num3,medi.price2);fclose(fp);zicai

11、dan();五、个人总结课程设计顺利完成,课设要求也都全部实现,可以对医药公司的销售系统进行修改。总体来讲C+的课设无论从性质上还是实质上都超出了一般意义的“课程”的概念。它锻炼了我的动手和动脑能力,是最有意义的一门课程,它的运用使好多复杂的东西简单化,我现在运用的还不够好,有时候还会出现小的毛病,我会继续学习使它更加的完善。事实上,我在接到这道题的时候心里真的没有底。虽然对书本上的知识掌握的还算可以,但是在题目中明显要用到许多书中不常出现的函数,结构。并且,平时学习时练习的大多是分解的单功能程序。在这次的课设中是要把多个具有不同功能的程序体有机的联系在一起,使其能够达到题目的要求。对于我来说

12、难度着实是不小的。经过计划,首先思考系统的结构,分解其各个功能。然后针对每个功能去编辑程序,并且借鉴了一定量的已有程序。设计这个程序真的很辛苦,无数次的尝试被无情的证明是错误的。但是当自己的程序能运行时心中的快乐绝对可以胜过之前的磨砺。所有付出都值得,并且有很大的收获。是我对这次课设的最简洁的个人总结。六、参考文献1 c语言程序设计,王晓斌等编著,-北京:清华大学出版社,2012.12 2 21世纪普通高校计算机公共课程规划教材 七、源程序#include#include#include#define SIZE 10struct medicine int num1;int num2;int n

13、um3;char name20;float price1;float price2;medSIZE;void caidan()printf(欢迎光临n);printf(#!#!#!#!#!#!#! 某医药公司售货系统 #!#!#!#!#!#!n);printf(#!#!#!#!#!#! 按1:录入药品信息 #!#!#!#!#!#!#!n);printf(#!#!#!#!#!#! 按2:购进药品处理 #!#!#!#!#!#!n);printf(#!#!#!#!#!#!#! 按3:顾客买药处理 #!#!#!#!#!n);printf(#!#!#!#!#!#! 按4:某日某种药品销售情况#!#!#!

14、#!#!n);printf(#!#!#!#!#! 按5:退出! #!#!#!#!#!n);printf(#!#!#!#!#!#! 请选择序号按回车确认 #!#!#!#!#!n);printf(n);void zicaidan()printf(欢迎光临n);printf(#!#!#!#!#!#!某医药公司售货系统 #!#!#!#!#!#n);printf(#!#!#!#!#! 按1:录入药品信息 #!#!#!#!#!#n);printf(#!#!#!#!#!#! 按2:购进药品处理 #!#!#!#!#n);printf(!#!#!#!#!#! 按3:顾客买药处理 #!#!#!#!#!#!#n);

15、printf(#!#!#!#!#! 按4:某日某种药品销售情况#!#!#!#!#n);printf(#!#!#!#!#! 按5:退出! #!#!#!#!#!#n);printf(#!#!#!#! 请选择序号按回车确认 #!#!#!#!#n);printf(n);void save()int i,j,z;FILE *fp;if(fp=fopen(d:Medicine.txt ,a)=NULL) if(fp=fopen(d:Medicine.txt ,w)=NULL) printf(文件打开失败!n); return;printf(录入药品信息n); printf(请输入您要输入的药品信息:n);

16、printf(您要输入几种药品信息:n);scanf(%d,&i);for(j=0;ji;j+)printf(请输入药品的编号:n);scanf(%d,&medj.num1);printf(输入要添加的药品名称,库存数量,购进价格,出售药品数,出售价格n);scanf(%s%d%f%d%f,medj.name,&medj.num2,&medj.price1,&medj.num3,&medj.price2);fprintf(fp,%d%s%d%f%d%fn,medj.num1,medj.name,medj.num2,medj.price1,medj.num3,medj.price2);print

17、f(药品编号 药品名称库存数量购进价格出售药品数 出售价格n);for(z=0;zSIZE;z+) printf(%d%s%d%6.2f%d%6.2fn,medz.num1,medz.name,medz.num2,medz.price1,medz.num3,medz.price2);fclose(fp);zicaidan();void goujin()int i,j,z;int num;FILE *fp;fp=fopen(d:Medicine.txt,w);if(fp=fopen(d:Medicine.txt,w)=NULL) printf(文件打开失败!n); return ;printf(

18、购进药品n); printf(输入编号:);scanf(%d,&num);printf(输入数量:);scanf(%d,&j);for(i=0;i10;i+)if(num=medi.num1)medi.num2+=j;printf(这种药品数是: %dn,medi.num2);for(z=0;zSIZE;z+)fprintf(fp,%d%s%d%f%d%fn,medz.num1,medz.name,medz.num2,medz.price1,medz.num3,medz.price2);zicaidan();void chushou()int i,t,j;int num;FILE *fp;fp

19、=fopen(d:Medicine.txt,w);if(fp=fopen(d:Medicine.txt,w)=NULL) printf(文件打开失败!n); return ;printf(出售药品n);printf(你想买哪种药:);scanf(%d,&num);printf(%以下是此药信息%n);for(i=0;imedi.num2)printf(库存不足!n);elsemedi.num2-=t;medi.num3+=t;for(j=0;jSIZE;j+)fprintf(fp,%d%s%d%f%d%fn,medj.num1,medj.name,medj.num2,medj.price1,m

20、edj.num3,medj.price2);zicaidan();void mednow()int i,j;FILE *fp;fp=fopen(d:Medicine.txt,r+);if(fp=fopen(d:Medicine.txt,r+)=NULL) printf(文件打开失败!n); return ;for(j=0;jSIZE;j+)fscanf(fp,%d%s%d%f%d%fn,&medj.num1,&medj.name,&medj.num2,&medj.price1,&medj.num3,&medj.price2);printf(库存显示n);printf(药品编号 药品名称库存数量

21、购进价格出售药品数 出售价格n);for(i=0;iSIZE;i+)printf(%d%s%d%6.2f%d%6.2fn,medi.num1,medi.name,medi.num2,medi.price1,medi.num3,medi.price2);fclose(fp);zicaidan();void main()caidan();aa:switch(getch() case 1:save();break;case 2:goujin();break;case 3:chushou();break;case 4:mednow();break;case 5:printf(&欢迎下次使用,再见&n);exit(0);goto aa;

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922