




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
⑤删除药品信息。之因此设计这麽一个主界面,一是因为能使用户对程序操作的流程更加清晰简明,二是保证了用户同时只能对一个文件进行操作系统的要求,保证了系统不会打开文件紊乱或者出现致命的错误。再加上相应的颜色函数:system(“color3F”)从而成功使系统界面背景颜色与字体分别变成蓝色与白色。每个函数体如下:intmain()//主函数{ system("color3F"); intc; printf("\t\t\t*****************************\n\n"); printf("\t\t\t欢迎使用药品信息管理系统!\n\n"); printf("\t\t\t*****************************\n\n"); do { printf("\t\t\t1>输入信息\n"); printf("\t\t\t2>删除信息\n"); printf("\t\t\t3>查找信息\n"); printf("\t\t\t4>浏览信息\n"); printf("\t\t\t5>退出系统\n"); printf("请选择您的操作~~\n"); scanf("%d",&c); switch(c) { case1:add();break; case2:del();break; case3:search();break; case4:traverse();break; case5:break; default:printf("错误选择,请重选!\n");break; } } while(c!=5); return0;}主界面:voidadd()//录入药品{ inti=0,k,N; printf("\t欢迎进入药品信息的录入!\n"); printf("\t请输入要录入信息的药品的数量!\n"); scanf("%d",&N); for(i=1;i<=M;i++)if(stu[i].flag!=1){ k=i; break; } for(i=k;i<k+N;i++) { stu[i].flag=1; printf("请输入第%d个药品的编号:",i); scanf("%s",stu[i-1].bnum); printf("请输入第%d个药品的名称:",i); scanf("%s",stu[i-1].name); printf("请输入第%d个药品的价格:",i); scanf("%s",stu[i-1].price); printf("请输入第%d个药品的功效:",i); scanf("%s",stu[i-1].function);}}voiddel()//删除操作{ inti,j; charstr[12]; printf("\t欢迎进入药品信息的删除!\n"); printf("请输入要删除信息的编号:"); scanf("%s",str); for(i=0;i<=M;i++)if(strcmp(str,stu[i].bnum)==0){for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("删除成功!\n"); for(intn=M;;n--) if(stu[n].flag==1) { stu[n].flag=0; break; }break;}if(i==M)printf("无此编号!\n");}voidsearch()//查找操作{ charstr[10]; intk,i; printf("请输入要查找药品的编号:"); scanf("%s",str); for(i=0;i<M;i++) if(strcmp(str,stu[i].bnum)==0) { k=i; break; } printf("编号:%s\t名称:%s\t价格:%s\t功效:%s\n",stu[k].bnum,stu[k].name,stu[k].price,stu[k].function);voidtraverse()//浏览操作{ intk,i; for(i=1;i<=M;i++) if(stu[i].flag==0) { k=i-1; break; } for(i=0;i<k;i++) { printf("编号:%s\t名称:%s\t价格:%s\t功效:%s\n",stu[i].bnum,stu[i].name,stu[i].price,stu[i].function); }}2、设计思想(1)确定语言算法由于之前都没有做过类似的设计,因此一时间不能够确定到底使用何种语言来设计本系统,因此在网上看了一些其它人设计的程序,链表的、数组的,C++的,各种各样的,也不知如何选择,可是仔细地看了其中的设计思想,最终还是用C和指针数组的来做,一是觉得本人对链表掌握的不是很熟练,那么在设计过程中容易产生不能理解的错误,耽误时间,二是想运用C,能够巩固一下所学的数据结构的知识,之前做实验的时候一直用C来做,都没怎么用所学的知识,这时候想练练。就这样确定了整体的结构算法。确定程序主要功能模块这个就比较简单了,主要是根据系统设计的说明及要求来设计,从而设计了十大功能模块,有文件操作,有系统维护功能,排序和统计功能,有输入输出等基本功能,比较人性化,添加了较多的提示语。这个程序的主要功能时输入药品的功效,名称,价格和编号。系统结构体的设计structstudent{ charbnum[12];//编号 charname[12];//药品名称 charprice[8];//价格 charfunction[100];//功效 intflag;}stu[M];所遇到的问题和分析解决存在的不足本药品信息管理系统由十大模块组成,每个模块相互联系又相互独立。这个药品信息管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统能够实现的功能非常有限。只能实现药品信息管理系统最基本的功能,能够进行简单的输入、输出药品信息,查询和修改药品信息。而且在每个模块也有不足的地方,比如在输入药品资料时,对每个信息项没有严格的规定,能够输入任何的字符。这有待以后努力,更详尽的实现模块的功能。指针数组的使用就是在插入药品记录模块中,另一个指针数组的定义,之前做的时候没有注意到这点,结果所做的修改不能够保存到文件,之后操作的时候也没有显示所做修改的记录,之后找了资料看了之后才知道,是变量的问题,因此最后作了修改,加了一个另外的指针数组。细节方面其实在有些细节方面还是要特别注意啊,比如分号的添加,函数的返回值等问题,虽然容易改掉,可是很容易养成不好的习惯,而且还会浪费时间,因此在一开始写的时候就要很仔细,这样才能保证程序编的精细,同时若出现很多这样的错误的话,在编写程序的时候也会心里烦的,因此在编程的时候要认真仔细。内存的分配问题对于初学者的话对内存的分配和释放问题是比较抽象的和模糊的问题,在排序是之前就出现了交换数据困难的问题,以及内存分配空间繁琐释放空间不及时的问题,造成空间的浪费,使得程序运行时效率较低,因此最后采用了顺序存储记录的方式,这就能改变前面所出现的问题。较小的问题方面其余的就没什么比较大的问题了,基本上只要细心一点的话就能够正确调试了。系统特色及关键技术其实在本程序的设计过程当中,没有很吸引人的关键技术,因为我们小组的C语言或C++语言都不是学的很好,因此当初设计的时候就只是想把功能都实现就好了,尽可能的把所要求的功能都编进程序,这样就觉得很满足了。因此都是设计的比较简单易懂的语言,这样能够使人更明白一些,因此就没有时间去细细地去设计程序。本程序要说有什么值得说的,那就只有人性化这点了,在设计成学的时候,因为我们怕弄混了,因此添加了很详尽的提示,这样在编程的过程中或调试的时候都能够比较快的运行。还有就是尽可能的应用了while语句和switch-case语句,这两个语句在之前不是很常见,因此在这个程序中试炼了一下,虽然在编写的过程中总是出错,但还是成功的用好了,也使程序有条理一些。我们也知道可能别人设计的程序比我们弄得还要好,可是在我们所学的知识中成功的应用了这些,我们觉得这就是好事,就是进步。结论及心得体会组员分工:负责查找有关设计药品管理设计程序的资料,并进行筛选,并负责撰写课程设计模板。组员分工:对筛选后得到的资料,运用C语言在MicrosoftVisualC++6.0环境中进行编写一个药品管理系统程序,和对程序进行调试,作出修改,最后对程序进行测试,得出运行结果,和对课程设计的内容进行修改和补充。程序设计时所面临的问题:在药品删除的程序的实现中,当输入多组药品信息后,在多组药品进行删除时,程序只能正确删除第一组药品信息,而不能正确删除第二组及之后的药品信息。最后正确的解决是经过修改for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("删除成功!\n");for(intn=M;;n--)if(stu[n].flag==1){stu[n].flag=0;break;}break;中的for(j=i;j<=M;j++)stu[j]=stu[j+1];才使删除操作能够正常实现了。经过几天多次的程序修改,程序终于能够正确运行了,虽然有些疲惫,但还是有很多的收获的,像计算机组成原理的课设一样,让我们我又一次巩固了所学到的知识,之前的学习只是停留在理论基础上,现在经过我们自己动手操作试验后,才是真正的理解及体会。C也学了近一年,有很多知识都是似懂非懂,经过平时上机操作,也了解了一些,但让我们有了更深的理解和更好的认识,则是在这次的课设上,之前的困惑也经过这次的课设解决了一些,虽然还是不能够全面的理解,可是有进步就很高兴。在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输进去之后,并编译让其运行,发现经过不了,再来检查出问题,是很费费力的事情,因此分析和规划代码是很重要的,最重要的是要把逻辑结构写好,这样就不会出现大问题,写代码就要先找出核心的内容,用多种方法来实现核心部分,这样能够尽可能的避免发现逻辑或编译不支持的错误。附录(源代码)#include<stdio.h>#include<string.h>#include<stdlib.h>#defineM100structstudent{ charbnum[12]; charname[12]; charprice[8]; charfunction[100]; intflag;}stu[M];voidadd();voiddel();voidsearch();voidtraverse();intmain(){ system("color3F"); intc; printf("\t\t\t*****************************\n\n"); printf("\t\t\t欢迎使用药品信息管理系统!\n\n"); printf("\t\t\t*****************************\n\n"); do { printf("\t\t\t1>输入信息\n"); printf("\t\t\t2>删除信息\n"); printf("\t\t\t3>查找信息\n"); printf("\t\t\t4>浏览信息\n"); printf("\t\t\t5>退出系统\n"); printf("请选择您的操作~~\n"); scanf("%d",&c); switch(c) { case1:add();break; case2:del();break; case3:search();break; case4:traverse();break; case5:break; default:printf("错误选择,请重选!\n");break; } } while(c!=5); return0;}voidadd(){ inti=0,k,N; printf("\t欢迎进入药品信息的录入!\n"); printf("\t请输入要录入信息的药品的数量!\n"); scanf("%d",&N); for(i=1;i<=M;i++)if(stu[i].flag!=1){ k=i; break; } for(i=k;i<k+N;i++) { stu[i].flag=1; printf("请输入第%d个药品的编号:",i); scanf("%s",stu[i-1].bnum); printf("请输入第%d个药品的名称:",i); scanf("%s",stu[i-1].name); printf("请输入第%d个药品的价格:",i); scanf("%s",stu[i-1].price); printf("请输入第%d个药品的功效:",i); scanf("%s",stu[i-1].function);}}voiddel(){ inti,j; charstr[12]; printf("\t欢迎进入药品信息的删除!\n"); printf("请输入要删除信息的编号:"); scanf("%s",str); for(i=0;i<=M;i++)if(strcmp(str,stu[i].bnum)==0){for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("删除成功!\n"); for(intn=M;;n--) if(stu[n].flag==1) { stu[n].flag=0; break; }break;}if(i==M)printf("无此编号!\n");}voidsearch(){ char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国汽车弹簧行业市场现状供需分析及投资评估规划分析研究报告
- 安全生产监督法律责任解析试题及答案
- 2025-2030中国汞蒸气计行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国水轮发电机行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国水润滑无油螺杆压缩机行业前景风险评估与投资商机报告
- 2025-2030中国水果夹心软糖行业供需趋势及投资风险研究报告
- CPSM考试热点问题试题及答案
- 2025-2030中国氯铱酸市场销售区域及投资前景战略规划报告
- 2025-2030中国氯丙烯市场供应渠道与未来发展走势预测研究报告
- 2025-2030中国氧指数分析仪行业市场发展趋势与前景展望战略研究报告
- 2025届四川省成都市高三下学期二诊物理试题含答案
- 2025年天翼云笔试试题及答案
- 2025年山东省中小学生海洋知识竞赛参考试指导题库500题(含答案)
- (高清版)DZT 0203-2020 矿产地质勘查规范 稀有金属类
- 单片机实训室建设方案
- (整理)龙潭寺车站《站细》
- 材料认质认价单(完整版)
- 市政管线工程施工工艺标准
- 第六章 肝脏病常用的实验室检测
- (完整版)20以内进位退位加减法经典口算题
- 冀人版小学科学四年级下册教学课件 4.11《呼吸》
评论
0/150
提交评论