已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXXX 大学信息科学与工程学院大学信息科学与工程学院 课程设计报告书课程设计报告书 课 题 药品信息管理系统 姓 名 专 业 电 子 信 息 工 程 年 级 2 0 1 3 级 指导老师 时 间 目录 引言 1 一 系统概述 2 二 需求分析 2 1 系统需求 2 2 开发环境 3 三 详细设计 4 四 所遇到的问题和分析解决 10 五 系统特色及关键技术 11 六 结论及心得体会 11 七 附录 源代码 12 参考文献 17 引言引言 通过本课程设计 使自己更加系统地理解和掌握数据结构的基本概念 能 自如地根据实际要求 设计相应的数据结构 并运用 C 或 C 语言实现所设计 的算法 编写较大型的程序 分析和解决实际应用问题 进一步加深 巩固所 学专业课程的基本理论知识 理论联系实际 进一步培养自己综合分析问题和 解决问题的能力 掌握 C 语言或 C 语言独立的编写 调试应用程序和进行其 它相关设计的技能 此项目主要是考察我们对结构体 数组 文件等具体操作 以及对 C 语言 语法的掌握 所以做成此项目要求比较高的设计要求 对整体有很熟悉的概括 同时调试过程也是很重要的 对程序界面的要求也比较高 要设计的合理同时 也要美观一点 能够人性化的描述清楚你的各个功能 一目了然 对其他用户 使用本程序简单易懂 这才能成本程序或本系统是成功的 这个设计能够练习我们的理解和运用结构化程序设计的思想和方法 掌握 开发一个小型实用系统的基本方法 学会调试一个比较长的程序的基本方法 同时掌握书写程序设计开发文档的能力 1 系统概述系统概述 1 课程设计应完成的工作 1 编写算法 2 算法测试 并有具体的测试结果和结果分析 3 撰写课程报告 内容包括 封面 目录 课程设计报告正文 使用说明 参考文献 2 总体设计工作 包含几大功能模块 1 按药品编号查询 2 按药品名称查询 3 按药品价格查询 4 按数据结构降序 冒泡 排序 5 按总分降序 选择 排序 6 退出 2 需求分析需求分析 1 1 系统需求 系统需求 1 问题描述 问题描述 该系统实现对若干个大药品的种类进行管理 至少包括以下信息 药品编号 名称 价格 功效 2 功能要求 功能要求 1 使用中文菜单 界面设计和用户输入输出要人性化些 2 具有数据删除功能 能最终从文件中删除 3 排序功能 根据自己设计的数据结构 设计排序算法 4 具有多种查询 如按编号查询 按名称查询 按价格查询等 及输 出功能 5 药品信息的修改 比如修改药品名称 修改药品的编号 3 说明 说明 功能各方面越完善越好 自定义的数据结构可以使用数组 链表 树等 然后根据不同的数据 结构 设计不同的排序 查找算法 其中 排序算法至少有两种 可以使用多 种数据结构来存放数据 然后在其上使用不同的排序算法 若用数组 必须动态分配空间 4 输入输出的形式输入输出的形式 本系统是一个药品成绩管理系统 采用 VC 6 0 编译器作为开 发环境 这个环境是我们在学习 C 的平台 输入数据类型主要是 char int float 等数 据类型 输入内容包括 药品编号 药品名称 药品价格 药品功效 用户在 输入药品数据时要保证输入数据格式的正确性 系统不会自动检测输入的数据 是否正确 输出形式与输入形式类似 根据需要可以选择显示输入的各项内容 显示内容包括 药品编号 药品名称 药品价格 药品功效 2 开发环境开发环境 Visual C 不仅仅是是一个 C 编译器 而是一个基于 Windows 操作系统 的可视化集成开发环境 这种环境开发出来的软件稳定性好 可移植性 强 可以编制各种各样的 Windows 应用程序 三 详细设计三 详细设计 1 大概设计模块 大概设计模块 1 先编入系统所需的库函数 从而使程序可运行 先编入系统所需的库函数 从而使程序可运行 include include include include include 文件和标准控制台的输入输出 2 Main 函数的设计函数的设计 在main 函数中主要运用 switch case 选择判断语句来调用相关 功能模块 系统的运行是在一个永真的循环里进行的 只有在主界面并选择 退出 时 才会跳出永真循环 并退出程序 3 主界面的设计主界面的设计 在主界面中包括 输入药品信息并保存到文件 读取文件并输出药品 信息 插入新药品信息 修改药品信息 删除药品信息 之所以设计这麽 一个主界面 一是因为能使用户对程序操作的流程更加清晰简明 二是保证了 用户同时只能对一个文件进行操作系统的要求 保证了系统不会打开文件紊乱 或者出现致命的错误 再加上相应的颜色函数 system color 3F 从而成功 使系统界面背景颜色与字体分别变成蓝色与白色 每个函数体如下 int main 主函数 system color 3F int c printf t t t n n printf t t t 欢迎使用药品信息管理系统欢迎使用药品信息管理系统 n n printf t t t n n do printf t t t 1 输入信息输入信息 n printf t t t 2 删除信息删除信息 n printf t t t 3 查找信息查找信息 n printf t t t 4 浏览信息浏览信息 n printf t t t 5 退出系统退出系统 n printf 请选择您的操作请选择您的操作 n scanf d switch c case 1 add break case 2 del break case 3 search break case 4 traverse break case 5 break default printf 错误选择 请重选 错误选择 请重选 n break while c 5 return 0 主界面主界面 void add 录入药品 int i 0 k N printf t 欢迎进入药品信息的录入 欢迎进入药品信息的录入 n printf t 请输入要录入信息的药品的数量请输入要录入信息的药品的数量 n scanf d 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 void del 删除操作 int i j char str 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 int n M n if stu n flag 1 stu n flag 0 break break if i M printf 无此编号无此编号 n void search 查找操作 char str 10 int k 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 void traverse 浏览操作 int k 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 来做 都没怎么用所 学的知识 这时候想练练 就这样确定了整体的结构算法 2 确定程序主要功能模块确定程序主要功能模块 这个就比较简单了 主要是根据系统设计的说明及要求来设计 从而设 计了十大功能模块 有文件操作 有系统维护功能 排序和统计功能 有输入 输出等基本功能 比较人性化 添加了较多的提示语 这个程序的主要功能时 输入药品的功效 名称 价格和编号 3 系统结构体的设计系统结构体的设计 struct student char bnum 12 编号编号 char name 12 药品名称药品名称 char price 8 价格价格 char function 100 功效功效 int flag stu M 4 所遇到的问题和分析解决所遇到的问题和分析解决 1 存在的不足 本药品信息管理系统由十大模块组成 每个模块相互联系又相互独立 这个 药品信息管理系统存在着很多不足之处 由于自己本身编程能力的问题 这个 系统可以实现的功能非常有限 只能实现药品信息管理系统最基本的功能 可 以进行简单的输入 输出药品信息 查询和修改药品信息 而且在每个模块也 有不足的地方 比如在输入药品资料时 对每个信息项没有严格的规定 可以 输入任何的字符 这有待以后努力 更详尽的实现模块的功能 2 指针数组的使用 就是在插入药品记录模块中 另一个指针数组的定义 之前做的时候没有注 意到这点 结果所做的修改不能够保存到文件 之后操作的时候也没有显示所 做修改的记录 之后找了资料看了之后才知道 是变量的问题 所以最后作了 修改 加了一个另外的指针数组 3 细节方面 其实在有些细节方面还是要特别注意啊 比如分号的添加 函数的返回值等 问题 虽然容易改掉 但是很容易养成不好的习惯 而且还会浪费时间 所以 在一开始写的时候就要很仔细 这样才能保证程序编的精细 同时若出现很多 这样的错误的话 在编写程序的时候也会心里烦的 所以在编程的时候要认真 仔细 4 内存的分配问题 对于初学者的话对内存的分配和释放问题是比较抽象的和模糊的问题 在排 序是之前就出现了交换数据困难的问题 以及内存分配空间繁琐释放空间不及 时的问题 造成空间的浪费 使得程序运行时效率较低 因此最后采用了顺序 存储记录的方式 这就能改变前面所出现的问题 5 较小的问题方面 其余的就没什么比较大的问题了 基本上只要细心一点的话就可以正确调试 了 5 系统特色及关键技术系统特色及关键技术 其实在本程序的设计过程当中 没有很吸引人的关键技术 因为我们小 组的 C 语言或 C 语言都不是学的很好 所以当初设计的时候就只是想把功能 都实现就好了 尽可能的把所要求的功能都编进程序 这样就觉得很满足了 所以都是设计的比较简单易懂的语言 这样能够使人更明白一些 所以就没有 时间去细细地去设计程序 本程序要说有什么值得说的 那就只有人性化这点 了 在设计成学的时候 因为我们怕弄混了 所以添加了很详尽的提示 这样 在编程的过程中或调试的时候都能够比较快的运行 还有就是尽可能的应用了 while 语句和 switch case 语句 这两个语句在之前不是很常用 所以在这个程 序中试炼了一下 虽然在编写的过程中总是出错 但还是成功的用好了 也使 程序有条理一些 我们也知道可能别人设计的程序比我们弄得还要好 但是在 我们所学的知识中成功的应用了这些 我们觉得这就是好事 就是进步 6 结论及心得体会结论及心得体会 组员分工 负责查找有关设计药品管理设计程序的资料 并进行筛选 并负责撰写课程设计模板 组员分工 对筛选后得到的资料 运用 C 语言在 Microsoft Visual C 6 0 环境中进行编写一个药品管理系统程序 和对程序进行 调试 作出修改 最后对程序进行测试 得出运行结果 和对课程设计的内容 进行修改和补充 程序设计时所面临的问题 在药品删除的程序的实现中 当输入多组药 品信息后 在多组药品进行删除时 程序只能正确删除第一组药品信息 而不 能正确删除第二组及之后的药品信息 最后正确的解决是通过修改 for j i j M j stu j stu j 1 printf 删除成功 n for int n 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 也学了近一年 有很多知识都是似懂 非懂 通过平时上机操作 也了解了一些 但让我们有了更深的理解和更好的 认识 则是在这次的课设上 之前的困惑也通过这次的课设解决了一些 虽然 还是不能够全面的理解 但是有进步就很高兴 在课程设计之前 因为有了综合实验的经验与教训 明白了写代码这一步 是非常重要的 因为当你把代码输进去之后 并编译让其运行 发现通过不了 再来检查出问题 是很费费力的事情 因此分析和规划代码是很重要的 最重 要的是要把逻辑结构写好 这样就不会出现大问题 写代码就要先找出核心的 内容 用多种方法来实现核心部分 这样可以尽可能的避免发现逻辑或编译不 支持的错误 7 附录 源代码 附录 源代码 include include include define M 100 struct student char bnum 12 char name 12 char price 8 char function 100 int flag stu M void add void del void search void traverse int main system color 3F int c printf t t t n n printf t t t 欢迎使用药品信息管理系统欢迎使用药品信息管理系统 n n printf t t t n n do printf t t t 1 输入信息输入信息 n printf t t t 2 删除信息删除信息 n printf t t t 3 查找信息查找信息 n printf t t t 4 浏览信息浏览信息 n printf t t t 5 退出系统退出系统 n printf 请选择您的操作请选择您的操作 n scanf d switch c case 1 add break case 2 del break case 3 search break case 4 traverse break case 5 break default printf 错误选择 请重选 错误选择 请重选 n break while c 5 return 0 void add int i 0 k N printf t 欢迎进入药品信息的录入 欢迎进入药品信息的录入 n printf t 请输入要录入信息的药品的数量请输入要录入信息的药品的数量 n scanf d 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 void del int i j char str 12 printf t 欢迎进入药品信息的删除欢迎进入药品信息的删除 n printf 请输入要删除信息的编号 请输入要删除信息的编号 scan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然气开采工操作规范评优考核试卷含答案
- 民用阀门及管道连接件制作工冲突管理竞赛考核试卷含答案
- 铸造模型工安全风险水平考核试卷含答案
- 无线电监测与设备运维员安全技能测试考核试卷含答案
- 抽纱挑编工岗前深度考核试卷含答案
- 拖拉机燃油喷射系统装试工岗前实操综合知识考核试卷含答案
- 汽轮机值班员操作管理水平考核试卷含答案
- 金属材涂层机组操作工冲突管理强化考核试卷含答案
- 快件处理员创新思维测试考核试卷含答案
- 活性炭酸洗工操作规程考核试卷含答案
- 特种工安全岗前培训课件
- 新疆维吾尔自治区普通高中2026届高二上数学期末监测试题含解析
- 2026届福建省三明市第一中学高三上学期12月月考历史试题(含答案)
- 2026北京海淀初三上学期期末语文试卷和答案
- 全国中学生数学建模竞赛试题及答案
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 肘关节恐怖三联征
- 国开2023年企业法务形考任务1-4答案
- 两轮车控制器行业报告
- 公司食材配送方案
- 红外和拉曼光谱
评论
0/150
提交评论