




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
保险公司营销员信息管理系统程序设计 目录 摘摘 要要 1 1 绪论 绪论 1 2 系统分析系统分析 1 2 1 功能需求 1 2 2 数据需求 2 2 3 性能需求 2 3 总体设计总体设计 2 3 1 功能模块设计 2 3 2 系统设计方案 3 4 详细设计详细设计 4 4 1 建立营销员信息档案模块 4 4 2 输出营销员信息模块 6 4 3 添加模块 6 4 4 查找模块 7 4 5 删除模块 10 4 6 修改模块 11 5 调试与测试调试与测试 12 5 1 调试 12 5 2 测试 12 6 结论结论 14 结束语结束语 14 参考文献参考文献 14 附录附录 1 用户手册 用户手册 15 附录附录 2 源程序 源程序 19 摘摘 要要 保险公司营销员信息管理程序是一个企业单位不可缺少的部分 本系统以 保险公司营销员信息管理系统为设计课题 对保险公司人事信息进行管理 本系统使用 C 语言作为开发工具 实现了保险公司对营销员信息的有序管 理 实现了对人事信息的添加 查找 删除 修改等功能 具体到用姓名 学 历 年龄范围等条件查找 根据职工号删除和修改营销员信息等 本文从分析课题的题目背景 题目意义 题目要求等出发 分别从需求分 析 总体设计 详细设计 测试等各个方面详细介绍了系统的设计与实现过程 最后对系统的完成情况进行了总结 关键词 C 语言 信息管理 保险公司 1 绪论 绪论 随着科技的发展 越来越多的企业也发展起来 公司的员工也越来越多 伴随而来的是企业因员工量大而信息管理更加繁重的问题 开发保险公司营销 员信息管理系统 使得企业对员工的信息管理问题得到了改善 保险公司营销 员信息管理程序 能实现企业对员工信息的添加 查找 修改和删除等功能 方便了企业的管理 满足了企业的需求 根据课程设计任务书要求 本系统开发主要完成以下功能和性能 1 对营销员信息进行输入并存储档案 2 对营销员信息档案进行输出 3 对营销员信息进行添加 4 对营销员信息进行查找 5 对营销员信息进行修改 6 对营销员信息进行删除 2 系统分析系统分析 2 1 功能需求功能需求 实现对保险公司营销员档案进行存储 保险公司营销员档案包括 营销员 代码 姓名 性别 职级 年龄 学历 所属机构 住址 电话 身份证号码 等 显示营销员的档案 对营销员的信息进行添加 查找 删除 修改等操作 当添加时录入重复给予提示并取消录入 2 2 数据需求数据需求 需要管理营销员的信息包括 代码 姓名 职级 性别 年龄 学历 所 属机构 住址 电话 身份证号码等 2 3 性能需求性能需求 安全性 本系统在设计 开发 运行各环节 都需要贯彻了安全性的原则 落实到了每个环节 每个方面 可靠性 需要遵循安全性原理 来提高本系统的可靠性 稳定性 本系统根据需要可以定义全局变量 可以使用结构体以及链表 来确保本系统的稳定性 响应速度 本系统因应用了链表 理论上可以提高查找的速度 整体的响 应速度也会得到了提升 3 总体设计总体设计 3 1 功能模块设计功能模块设计 根据分析整个系统主要划分为 6 个功能模块 分别执行要求中的功能 建 立营销员信息档案模块实现对保险公司营销员信息的存储 输出营销员信息模 块实现输出营销员的信息 添加模块实现了对营销员信息的添加 查询模块实 现了对营销员信息的按姓名 学历 年龄范围的查询 修改模块实现了按职工 号对营销员信息进行修改 删除模块实现了按职工号对营销员信息进行删除 功能模块图如图 1 保险公司营销员信息管理程 序 建 立 营 销 员 信 息 档 案 模 块 添 加 查 块 查 找 模 块 修 改 模 块 输 出 营 销 员 信 息 模 块 删 除 模 块 图图 1 功能模块图功能模块图 1 建立营销员信息档案模块 对输入的营销员信息进行存储 2 输出营销员信息模块 输出用户所建立的营销员档案 3 添加模块 对添加的营销员信息进行存档 4 查找模块 对已存档的营销员信息进行不同条件的查找 5 修改模块 对已存档的营销员信息进行修改 6 删除模块 对已存档的营销员信息进行删除 3 2 系统设计方案系统设计方案 1 数据结构设计 struct person long num 定义营销员代码 char name 20 定义营销员名字 int level 定义营销员职级 char argan 100 定义营销员机构 char sex 2 定义营销员性别 int age 定义营销员年龄 char academic 30 定义营销员学历 char addr 30 定义营销员地址 char tel 8 定义营销员电话 char id 14 定义营销员身份证号码 struct person next 2 菜单设计 设计一个总菜单 1 添加营销员信息 2 按姓名查找营销员信息 3 按学 历查找营销员信息 4 按年龄范围查找营销员信息 5 按营销员代码删除营销 员信息 6 按营销员代码修改营销员信息 3 函数设计 struct person creat void 建立营销员信息 struct person insert struct person head struct person peo 添加营销员 信息 void print struct person head 输出营销员信息 struct person del struct person head 按号码删除营销员信息 struct person find struct person head char name find 20 按姓名查找 营销员信息 struct person find1 struct person head char academic find 30 按学历 查找营销员信息 struct person find3 struct person head 按年龄范围查找营销员信息 struct person revise struct person head long revise num 按职工代码 修改营销员信息 4 详细设计详细设计 4 1 建立营销员信息档案模块 主要是对营销员的信息建立档案 首先定义指针变量 p1 p2 和整型变量 n 0 然后开辟一个新结点 输入营销员信息 使头结点为空 a n p1 num 当 p1 num 不为 0 时 执行 n n 1 i 0 如果满足 inum 是否相等 若相等 然后输出 录入重复 请重新录入 i 1 否则执行 p1 num 0 条件语句 若满足 执行 p2 next NULL 返回主函数 若不满足 a i 1 p1 num 继续执行 i n 循环 当不满足 inext p1 继续执行 p2 p1 再开辟新结点 直到 p1 num 0 时 执行 p2 next NULL 返回主函数 具体实现营销员信息建立档 案如图 2 开始 定义指针变量p1 p2 n 0 a 100 开辟一个新结点 并使p1 p2指向它 输入营销员 信息 head NULL a n p1 num p1 num 0 n n 1 i 0 inum 输出 录入 重复 请重 新录入 i 1 p1 num 0 p2 next NULL i n 1 head p1p2 next p1 p2 p1 再开辟一个新结点 p2 num NULL return head 结束 Y N Y N Y N Y N Y an p1 num N 图图 2 保存基本信息流程图保存基本信息流程图 4 2 输出营销员信息模块输出营销员信息模块 建立输出函数 定义指针 p 当 head 不等于空 输出营销员信息 并使 p p next 再执行 p 不等于空语句 当 head 等于空 输出列表为空 结束循环 具体实现程序流程如图 3 开始 定义指针变量p1 使P指向第一个结 点 p p next P指向的不是尾结点 p NULL 输出营销 员信息 Y 结束 N Y N 图图 3 3 输出信息流程图输出信息流程图 4 3 添加模块添加模块 采用链表实现添加营销员信息 定义指针变量p0 p1 p2 使P1指向第一个 结点 使p0指向要插入的结点 判断head是否为空 若为空 head p0 使p0指 向的结点作为头结点 p0指向的下一个结点为空 否则 当p0指向的下一个结 点的职工代码大于P1指向的下一个结点的职工代码并且P1的下一个节点的代码 不为空时 p2指向刚才p1指向的结点 如果p0指向的下一个结点的职工代码小 于或p1指向的下一个结点 当head p1时 插到原来第一个结点之前 否则插 到p2指向的结点之后 p1指向结点赋值给p0指向的下一个结点前面都不满足则 插到最后的结点之后 节点数n加1 返回到主函数 具体实现程序流程如图4 p1 head p0 per head NULL 输入营销员 信息 p2 p1 p1 p1 next p0 numnum head p1 p2 next p0 p0 next p1 head p0 p0 next NULL p1 next p0 p0 next NULL head p0 n n 1 return head 结束 N Y Y p0 num p1 num以及p1 next NULL Y N N Y N 开始 定义指针b变量 P0 P1 P2 图图4 4 添加流程图添加流程图 4 4 查找模块查找模块 1 采用查找链表实现 定义指针变量 p1 先判断 head 是否为空 若为空 返回到主函数 p1 head 否则 如果输入的姓名或学历与档案中的相符 输出 此人的信息 不相符输出 没查找到 返回主函数 以姓名查找举例 具体实 现程序流程如图 5 开始 定义指针变量p1 p2 flag 0 输入要查找 的营销员的 姓名 head NULL p1 head p1 NULL 输入姓名 已存储 姓名 结束 输出此查找 的营销员信 息 return head flag 1 输出 error 输出 没有 找到 p1 p1 next Fiag 0 Y N Y N Y N N Y 图图 5 姓名查找流程图姓名查找流程图 2 采用查找链表实现 定义指针变量p1 先判断head是否为空 若为空 返回到主函数 p1 head 否则 输入一个年龄范围 年龄在此范围内的输出否 则输出 没有找到 返回主函数 具体实现程序流程如图6 开始 定义指针变量p1 flag 0 max 0 min 0 输入要查找 的营销员的 最大年龄 最小年龄 head NULL p1 head p1 NULL minagenext Fiag 0 Y N Y N Y N Y N 图图 6 6 年龄范围查找流程图年龄范围查找流程图 4 5 删除模删除模块块 采用删除链表实现 先定义指针变量 p1 p2 先判断 head 是否为空 若 为空 返回到主函数 p1 head 如果 p1 指向的不是所要找的结点 并且后面 还有结点 p1 就后移一个结点 如果找到了 若 p1 指向的是首结点 就把一 二个结点地址赋值给 head 否则 将下一个结点地址赋给前一个结点地址 n n 1 否则输出找不到该结点 返回到主函数 具体实现程序流程如图 7 所示 开始 定义指针变量p1 p2 num 输入要删除 的营销员的 代码 head NULL p1 head num p1 num p1 next NULL num p1 num 结束 head p1 next 输出 空 表 p2 next p1 next p2 p1 p1 p1 next p1 head n n 1 return head 输出要删除 的代码 输出 没有 找到 Y N N Y Y Y N N 图图 7 7 代码删除流程图代码删除流程图 4 6 修改模块修改模块 采用删除链表 定义指针变量 P1 先判断 head 是否为空 若为空 返回 到主函数 p1 head 输入一个要修改信息的职工代码 如果输入的代码等于已 存档的代码 就根据个人要求修改营销员信息 返回到主函数 具体实现程序 流程如图 8 开始 定义指针变量p1 定义营销员信息 flag 0 输入要修改 的营销员信 息 head NULL p1 head p1 NULL 输入要修改 的信息 p1 p1 next return head 结束 输出 错 误 flag 0 输出没 有找 到 输入代码 存档 有的代码 Y N Y Y N flag 1 N N Y Y 图图 8 8 代码修改模块流程图代码修改模块流程图 5 调试调试与测试与测试 5 1 调试调试 调试是软件开发过程中的一个重要环节 也是最复杂 对软件开发者者来 说也是最艰巨的任务 调试的任务是及时改正测试过程中发现的软件错误 具 体地说 调试过程由两个步骤组成 它从表示程序中存在错误的某迹象开始 首先确定错误的准确位置 也就是找出哪个模块或哪个语句引起的错误 然后 仔细研究推断代码以确定问题的原因 并设法改正 调试过程主要是运行编制好的程序 然后遇到错误后根据系统的提示 找 到相关的问题所在 本系统调试过程中遇到问题 原因和解决方法如下面介绍 1 程序运行中 再添加营销员信息时 没能实现录入重复提醒 并被迫 终止运行 建立模块程序内 因判断条件没有被控制好 以及返回位置没有准确掌握 导致了出现错误 2 程序运行途中 出现错误 被迫中止 因结束循环控制条件位置错误 和错把 写成 以及错在循环控 制语句后加了分号 3 编译没有错误 但运行界面无法打开 原因是上一次的运行界面没有关闭 误以为程序出现了异常 5 2 测试测试 软件测试是软件生存期中的一个重要阶段 是软件质量保证的关键步骤从 用户的角度来看 普遍希望通过软件测试暴露软件中隐藏的错误和缺陷 所以 软件测试应该是 为了发现错误而执行程序的过程 或者说 软件测试应该根 据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例 即 输入数据及其预期的输出结果 并利用这些测试用例去运行程序 以发现程序 错误或缺陷 过度测试则会浪费许多宝贵的资源 到测试后期 即使找到了错 误 然而付出了过高的代价 测试数据过程如下 先进入运行程序 先选择步骤 1 输入营销员代码 姓名 职级 性别 年龄 学历 所属 机构 住址 电话 身份证号码 出现 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 出现 Now these 2 record are 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 添加营销员信息 2 按姓名查询营销员信息 3 按学历查询营销员信息 4 按年龄范围查询营销员信息 5 按职工号删除营销员信息 6 按职工号修改营销员信息 输入 1 6 中任意一个数 执行要完成的功能 例如 2 输入要查找的人名 1 1 1 1 1 1 1 1 1 1 1 输入要查找的人名 0 1 继续 0 结束 1 1 添加营销员信息 2 按姓名查询营销员信息 3 按学历查询营销员信息 4 按年龄范围查询营销员信息 5 按职工号删除营销员信息 6 按职工号修改营销员信息 5 输入要删除的职工号 1 Delate 1 Now these now 1 records are 2 2 2 2 2 2 2 2 2 2 1 继续 0 结束 0 Prese any key to continue 6 结论结论 课程设计顺利完成 任务书中所提到的要求也都已经全部实现 可以对营 销员信息进行存储档案 能实现企业对员工信息的添加 查找 修改和删除等 功能 方便了企业的管理 满足了企业的需求 但这个程序还不够完善 例如 在进行输入时 由于一次性输入太多数据 容易出错 结束语结束语 通过对任务书的理解和参考书本的理解 我完成了程序 我进一步了解了 C 语言 对 C 语言有进一步的认识 我觉的这次课设实习很有意义 增长了我 的忍耐力 因为编程真的是需要耐心的去琢磨每一条语句的实现过程 所以帮 助我提高了心里素质 还有在 C 语言编程中 一个分号 括号写错 就可能出 现一连串的问题 让我懂得了不论做什么 都要细心 注意细节 在细节中琢 磨出真理 我想在我今后的学习工作中我会不断的学习 不断丰富自己的知识 去实现自己的梦想 参考文献参考文献 1 严蔚敏 吴伟国 数据结构 C 语言版 北京 清华大学出版社 2002 9 2 潭浩强 C 语言程序设计 第三版 北京 清华大学出版社 2005 附录附录 1 用户手册 用户手册 首先打开程序 初始页面 如图 9 图图 9 初始图初始图 第一步 开始输入营销员信息 输入 0 按回车结束 存档运行界面如图 10 图图 1010 存档运行图存档运行图 进行第二步 选择你要进行的操作 例如按 1 按回车 出现运行添加界 面 如图 11 然后添加你要添加的信息 再继续运行出现添加运行界面 如图 12 继续查找按 1 结束再输入 0 出现图 14 图图 1111 运行添加图运行添加图 图图 1212 添加运行图添加运行图 进行第三步 按 1 继续 选择 2 再按回车 进入按姓名查找营销员信息 出现提示语句 例如查找人名为 2 出现按姓名查找运行界面如图 13 继续查 找按 1 结束查找输入 0 又出现 1 继续 0 结束 图图 1313 姓名查找运行图姓名查找运行图 进行第四步 按 1 继续 选择 3 再按回车 进入按学历查找营销员信息 出现提示语句 例如查找学历为 3 出现按学历查找运行界面 如图 14 继续 查找按 1 结束查找输入 0 又出现 1 继续 0 结束 图图 1414 学历查找运行图学历查找运行图 进行第五步 按 1 继续 选择 4 再按回车 进入按年龄范围查找营销员 信息 出现提示语句 例如查找学历为 4 出现按年龄范围查找运行界面 如 图 15 继续按 1 结束输入 0 图图 1515 年龄范围查找运行图年龄范围查找运行图 进行第六步 按 1 继续 选择 5 再按回车 进入按职工号删除营销员信 息 出现提示语句 例如要修改职工号为为 1 出现按职工号删除运行界面 如图 16 继续删除按 1 结束结束输入 0 又出现 1 继续 0 结束 图图 1616 职工号删除运行图职工号删除运行图 进入第七步 按 1 继续 选择 6 再按回车 进入按职工号删除营销员信 息 出现提示语句 例如要修改职工号为为 3 出现按职工号修改营销员信息 运行界面 如图 17 继续删除按 1 结束结束输入 0 又出现 1 继续 0 结束 图图 1717 职工号修改运行图职工号修改运行图 进入步骤八 进入结束运行程序 输入 0 程序结束 结束图 如图 18 图图 18 结束图结束图 附录附录 2 源程序 源程序 主要模块源代码清单 include 包含了输入输出库函数的定义信息 include 包含了分配了 size 字节的存储区 include 包含了使用字符串处理的函数 include define NULL 0 定义了一个符号常量 define LEN sizeof struct person 开辟了一个长度为 LEN 的内存区 struct person long num 定义营销员代码 char name 20 定义营销员名字 int level 定义营销员职级 char argan 100 定义营销员机构 char sex 2 定义营销员性别 int age 定义营销员年龄 char academic 30 定义营销员学历 char addr 30 定义营销员地址 char tel 8 定义营销员电话 char id 14 定义营销员身份证号码 struct person next int n int a 100 辅助数组 struct person creat void 建立营销员信息 struct person head struct person p1 p2 n 0 p1 p2 struct person malloc LEN scanf ld s d s s d s s s s a n p1 num head NULL while p1 num 0 n n 1 for int i 0 inum printf 录入重复 请重新输入 若此处全部输入 0 这结束输入 n scanf ld s d s s d s s s s i 1 if p1 num 0 p2 next NULL return head else continue if n 1 head p1 else p2 next p1 p2 p1 p1 struct person malloc LEN scanf ld s d s s d s s s s a n p1 num p2 next NULL return head struct person insert struct person head struct person peo 添加营销员信息 struct person p0 p1 p2 p1 head p0 peo if head NULL head p0 p0 next NULL else while p0 num p1 num p1 p1 next if p0 numnum if head p1 head p0 else p2 next p0 p0 next p1 else p1 next p0 p0 next NULL n n 1 return head void print struct person head 输出营销员信息 struct person p1 printf nNow These d records are n n p1 head if head NULL do printf ld s d s s d s s s s n p1 num p1 name p1 level p1 argan p1 sex p1 age p1 academic p1 addr p1 tel p1 id p1 p1 next while p1 NULL struct person del struct person head 按号码删除营销员信息 long num printf 输入要删除的职工号 n scanf ld struct person p1 p2 if head NULL printf nlist null n return head p1 head while num p1 num p1 p1 next if num p1 num if p1 head head p1 next else p2 next p1 next printf delate ld n num n n 1 else printf ld not been found n num return head struct person find struct person head char name find 20 按姓名查找营销员信息 struct person p1 int flag 0 if head NULL printf 错误 return head p1 head while p1 NULL if strcmp name find p1 name 0 printf ld s d s s d s s s s n p1 num p1 name p1 level p1 argan p1 sex p1 age p1 academic p1 addr p1 tel p1 id flag 1 p1 p1 next if flag 0 printf 没有找到 n return head struct person find1 struct person head char academic find 30 按学历查找营销员 信息 struct person p1 int flag 0 if head NULL printf error return head p1 head while p1 NULL if strcmp academic find p1 academic 0 printf ld s d s s d s s s s n p1 num p1 name p1 level p1 argan p1 sex p1 age p1 academic p1 addr p1 tel p1 id flag 1 p1 p1 next if flag 0 printf 没有找到 n return head struct person find3 struct person head 按年龄范围查找营销员信息 struct person p1 int max 0 min 0 flag 0 printf 输入查找的最大年龄数 scanf d printf 输入查找的最小年龄数 scanf d if head NULL printf 没有找到 return head p1 head while p1 NULL if p1 ageage min printf ld s d s s d s s s s n p1 num p1 name p1 level p1 argan p1 sex p1 age p1 academic p1 addr p1 tel p1 id flag 1 p1 p1 next if flag 0 printf 没有找到 n return head struct person revise struct person head long revise num 按职工代码修改营销员 信息 struct person p1 int flag 0 long num char name 20 int level char argan 100 char sex 2 int age char academic 20 char addr 30 char tel 8 char id 14 if head NULL printf 错误 return head p1 head while p1 NULL if revise num p1 num printf 请输入修改后的信息 n scanf ld s d s s d s s s s p1 num num strcpy p1 name name p1 level level strcpy p1 argan argan strcpy p1 sex sex p1 age age strcpy p1 academic academic strcpy p1 addr addr strcpy p1 tel tel strcpy p1 id id flag 1 p1 p1 next if flag 0 printf 没有找到 n return head void main struct person h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重难点解析人教版八年级上册物理《声现象》定向训练试题(含答案及解析)
- 呼我出行考试题及答案
- 2025护士执业考试真题及答案
- 考点解析-人教版九年级物理《内能的利用》章节测评试卷(含答案详解版)
- 福清市期中考试卷及答案
- 漳州五中初二考试卷子及答案
- 五台山护理考试题及答案
- 上海本科自考考试题库及答案
- 病毒蛋白对细胞死亡的调控-洞察与解读
- 2025麻精药品培训考试试题(含参考答案)
- 校企合作实习生管理制度与考核办法
- 医疗调解培训课件
- 德清县福曜洗涤有限公司年产100万套牛仔服装项目环境影响报告表
- 土地违法案件查处课件
- 国内航行海船法定检验技术规则第6篇 高速船
- 内镜清洁消毒课件
- 重庆市城市建设投资(集团)有限公司招聘笔试题库2025
- (正式版)DB44∕T 2685-2025 《尾矿库注销工程安全设计导则》
- 医疗考试结构化面试试题(含答案)
- 学堂在线 高技术与现代局部战争 章节测试答案
- 2025年新闻记者职业资格真题及答案解析
评论
0/150
提交评论