出版社客户管理系统介绍_第1页
出版社客户管理系统介绍_第2页
出版社客户管理系统介绍_第3页
出版社客户管理系统介绍_第4页
出版社客户管理系统介绍_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(精编)出版社客户管理系统介绍数学与计算机学院课程设计说明书课程名 称:软件工程课程设计_课程代码:8404131 _题目:出版社客户管理系统 _年级专业/班:2009级软件四班 _学生姓名: _学号:_开始时间:2011年05月27日完成时间:2011年06月12日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总分(100)指导教师签名: _ _年月日软件工程课程设计任务书学院名称:一数学与计算机学院课程代码:8404131专业:软件工程年级:2009一、设计题目出版社客户管理系统、主要内容本课程是计算机软件专业的

2、必修专业课程,通过理论讲述和实际训练,使学 生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法 和技术开发和维护软件。 .本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的 目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。 .三、具体要求及应提交的材料1. 分析阶段: 一个小型的出版社客户管理系统系统,需完成以下工作:(1) 在出版社客户管理系统中增加 / 删除一客户;(2) 对某一客户赠送样书、发慰问信、发慰问礼品;( 3)找出某一批出售书名和编号的相应客户; 。 导出系统的数据流程图和实体关系图( E-R) 2设计阶段: 针对分析阶段提出的

3、软件要求,给出实现的方案和具体细节的说明。( 1)考虑该软件基本功能成份, 该系统具有 3 个基本功能成分: 客户管理, 系统设置,数据查询。(2) 根据分析,导出系统的功能模块图。(3)设计数据库。使用 Microsoft Access创建数据库。确定数据库中数据表 的组成。确定数据表中字段的构成、主键字段和有关字段的约束条件等。依靠数 据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约 束。 ( 4)根据功能确定软件模块组成及调用关系。 3编码阶段 建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块 的编码,由此使软件设计具体化为软件作品。 .4. 运行

4、维护 在软件运行时,检查软件的不足或错误,并进行维护。5编写课程设计报告( 1)设计题目( 2)任务要求( 3)系统总体方案( 4)各功能模块和流程图( 5)心得体会和参考资料 注:学生完成课程设计后,提交课程设计报告及相关电子文档,要求将前述 全部内容依先后顺序写成设计报告一份,要求文字通畅、字迹工整,文字不少于 5000 字,装订成册。 .四、主要技术路线提示五、进度安排序号设计内容天数1分析设计内容,给出解决方案32创建数据库及建表33可视化界面设计34对所建数据库进行设计,整理设计思路, 编码、测试,写出课程设计报告35指导老师检查设计结果并做成绩评定2总 计14六、推荐参考资料(不少

5、于3篇)1张海藩软件工程导论,清华大学出版社,20042陈明.实用软件工程基础,清华大学出版社,20033殷人昆.实用软件工程,清华大学出版社,20034宋波.UML面向对象技术与实践,科学出版社,2004指导教师 _签名日期 2011年_5_月27 日系主任 _审核日期 2011年6月12 日1前言随着生产规模的扩大、自动化技术的应用,以及市场经济体系的培育,使得我 国企业管理的性质和环境都发生了巨大的变化。企业的组织机构更加庞大,管理 功能更为复杂,企业各部门之间的联系越来越紧密,所采用的决策对经济的影响 越来越复杂,因而管理决策问题不仅数量多,而且复杂程度高,难度大。管理信 息系统在企业

6、生产、管理中的应用越来越广泛和重要,一套好的管理信息系统直 接影响到企业的生存和发展。云南 999 电池股份有限公司管理信息系统(简称 MDMIS,就是针对云南999电池股份有限公司的管理实际开发的软件系统,以期 对该公司的生产、管理等活动进行科学、高效的管理。 .MDMIS是 一个完整的企业管理信息系统,由多个模块有机结合而成,包括原辅 材料管理、产成品管理、工资管理、固定资产管理、人事档案管理、技术档案管 理、用户与市场管理、财务管理、成本核算、内部银行微机管理等十多个软件模 块。本说明书介绍的是MDMI鋪的产品管理子系统的开发过程。 为了解决各种客户和各地客户的矛盾,出版社的信息化网络化

7、管理是势在必 行。因此出版社的客户管理系统就不可缺少了。2需求分析出版社管理系统是一个庞大的任务,传统方式会造成巨大的人力和物力资源浪费。我们需要设计一个让工作人员使用的计算软件的系统,减少工作量,实现出版社 客户管理的高效化,进行相应的查找、修改、删除等功能。2 . 1功能分析1.待开发软件的功能需求产成品管理信息系统必须能够完成对公司产成品入库、出库数据的录入、更新、 统计、查询、打印等工作,进行高效、准确的管理。产生以下信息:(1)产品库存表:随时(定期/不定期)报告产品库存情况;(2)产品生产完成情况表:按要求定期/不定期报告产品生产情况;(3)产品出库情况表:按要求定期/不定期报告产

8、品出库情况;(4)产品生产、销售、库存情况表:按要求报告一定时期内产品生产、销售 和当前库存情况;以上四表,满足了企业生产、销售、对帐等各方面管理的需要。2 .待开发软件的功能按照用户需求,图2.1产成品管理系统层次方框图结合系统需求,对图1所示的系统功能解释如下:维护入库:提供对产成品入库数据的维护(记录的录入、归档前的数据编辑) 功能。维护出库:提供对产成品出库数据的维护。数据归档:实现入库、出库记录的数据归档。要满足以上功能,我们设计出了产品管理系统的结构。见图1。统计入库情况:提供对产成品信息的各种查询、统计,以及对错录产品入库单 的维护功能,当用户输入正确的密码后,系统允许用户维护错

9、录或数据归档前未 发现的错误记录。统计出库情况:提供对产成品销售信息的各种查询、统计,以及对错录产品出 厂记录的维护功能。定期打印入库情况:显示/打印任一时期,任一生产阶段的各生产车间以及全 公司的产成品生产情况。还可以按用户要求定期打印反映整个企业生产的汇总、 明细报表。其中明细报表反映了各生产车间的生产完成情况,汇总报表反映了全 公司的生产完成情况。-定期打印出库(销售)情况:对任一时期、任一阶段各种产成品的出库情况进 行报表显示或打印,以汇总、明细报表反映公司的产成品销售情况。-显示/打印库存情况:统计显示/打印出截止打印时刻为止的全公司和各产成品 车间的各种产成品的库存情况。报表分为汇

10、总和明细两表,以满足不同的统计和 查询要求。打印月末仓库情况:完成全公司和各车间的各种产成品的上月结存数、本月生产数、本月出库数、本月结存数的统计、汇总,生成月末结帐表,为生产部门、 物资管理部门、财务部门等相关业务部门提供考核、对帐、记帐等方面的产成品 信息。-月末处理:提供了对各种产成品数据的转移功能。完成了下月统计、记帐的初 始化工作(如提供上月结存数)。同时,通过分析,我们给出了成品管理系统的顶层数据流图。见图2。图2.2产成品管理系统顶层数据流图2.2方案分析设计该系统需要解决的主要问题是对出版社客户的管理,需要及时的与服务器 进行通信、保持信息及时的动态更新。该方案主要用 C语言设

11、计实现,使用C语言可以在设计时按照结构图逐次的设计模块, 并且 C 语言使用起来简单一点。 该方 案采用瀑布模型建立,因为这个系统的规模不是很大,采用瀑布模型能更快捷、安 全的进行开发。 .技术可行性:前面做了详细的需求分析,大致把握了该教室管理系统的功能及用户的需 求,另外在该系统之前已有类似的管理系统,比如图书管理系统,机票管理系统等在技术方 面开发人员可以借鉴,所以技术上是可行的。 .经济可行性:软件的开发,不但要考虑到当前技术的可行性,还要考虑到软件开发的成 本/效益,所谓经济可行性,换句话说,也就是说通过成本/效益分析,总结整个软件的开发经费,以及软件开发成功以后,可能给学校带来的经

12、济效益,把两者进行权衡,再作认真仔 细的估计,总结整个系统在经济上是否可行。本系统的开发成本主要包 括计算机软硬件配置 成本;效益主要包括学校在多媒体教室管理上节省的人力资源,以及学校信息化建设的要求, 总的来说经济上也是可行的。 .操作可行性分析:虽然该系统是在控制台上运行的,用户界面不是很好,但开发人员作 了大量的提示语句。操作人员不需要 太多的计算机专业知识,只要懂得计算机的基本操作, 并且对本系统有基本的了解,按照提示语句就可以了,而且本系统会提供给使用者详尽的使 用说明,也可以对使用者进行短 期的操作培训,所以,从操作上来讲,该教室管理系统是完 全可行的。 .3概要设计本软件将辅助管

13、理人员完成全公司产成品入库、出库、库存等方面的管理,可 以进行查询、统计、打印报表等工作,提高公司对产成品的管理效率。在分析阶 段,我们已经提出了系统的结构、顶层数据流图和数据字典。本节我们将对系统 的硬件环境作简要介绍,并对待开发系统作概要设计。 .3.1数据结构3.2逻辑结构与物理结构逻辑结构设计1) 数据库 Sale-Management-name Tablet义如表 3.1 所示。字怒名称类型字段名名欷类型索引index(unsigned)int单位地址Add comchar 80namechar 20单位邮编Pastcode 0char 10sex单位电话Tel 0char 20单位

14、companychar 80单位传真Fax 0char 20职位Jobchar 40手机Tel mwchar 14部门departmentchar 70电子邮件E-mailchar 30订单数愛Oder Numint备注Conmentchar 500表 3.1 数据库 Sale-Management-name Tab定义2)配置文件:保留上次程序运行结束后的相关状态如表3.2所示数韜库记录索引IndexNunriiUINT数据库记录总数RecordTotahInt表3.2上次运行结束后的相关状态3)全局变量如表3.3所示。字段名名称类型记录总数RecordTotahInt浏览J J帧序敢组Br

15、owse:Int Broesemax焦点记录FicusRecard:Int内存记录缓冲E.E.RecordBuffer Name Add二Name Add RecordBuffer maxStructfInt Index;Char Name20;Char Company80;CharTelnum40;Name Add;放据i i己录素引计扌IndexNum:Ul NT表3.3全局变量物理结构设计数据库Sale-Management-nameB勺文件物理结构:采用顺序介机构记录文件数据结构与程序的关系*初始化模块(M1.1):我们将会设置全局变量15;*刷新基本资料模块(M1.2):利用全局变量

16、3、4的基本信息,有可能访问 数据库;律刷新详细资料模块(M1.3):访问数据库和全局变量3、4的详细信息;*关闭系统模块(M1.4):将全局变量1、5保存至配置文件中;+ 系统功能模块(M1.5):利用鼠标和键盘操作事件;+ 信息添加模块(M2.1):设置全局变量1、2、4和5;律 信息删除模块(M2.2):利用全局变量3和4,设置全局变量1、2和4;*信息修改模块(M2.3):访问数据库和全局变量3;卜查询模块(M2.4):查询客户基本信息;卜客户权益分配模块(M2.5):利用全局变量4中的相应数据;卜客户类型分配模(M2.6):利用全局变量4、5中的相应数据;卜接受订单模块(M3.1):

17、利用全局变量1中的数据;卜订单审核模块(M3.2):利用全局变量1和5中的信息;卜撤销订单模块(M3.3):完成用户撤销订单的功能;卜修改订单模块(M3.4):完成客户对已交订单的修改;卜查询订单模块(M3.5):完成查询客户订单的功能;卜发货单模块(M4.1):由公司像生产商发出订货单;卜收款模块(M4.2):公司向客户发出收款请求并收款;卜综合查询模块(M4.3):完成客户对整个过程的查询;卜报表生成功能(M5.1):当前记录生成报表;卜打印功能(M6):利用全局变量2、3和4;卜导入导出模块(M7):完成对数据的导入和导出;卜帮助模块(M8):为用户提供随时的操作帮助;卜密码管理模块(M

18、9):完成对用户密码的管理;卜身份验证模块(M10);完成对用户身份的验证,以便分配相应的功能;3.3功能模块划分331结构框图身份验证消息循环退岀重新验证过 通 不失败正常退出销售与收款订单管理综合查询收款发出货单 查询订单 修改订单撤销订单 审核订单 接收订单权益分配 客户类型 信息查询 信息修改 信息添加3.4结构框图332程序流图开始1LDo c:ase结束333模块功能分析及外部设计模块编号模块名称备注模块编号模块名称备注N1.1初始化模按初始化系统1接受订单模块N1.2刷新基本邂料模块M3. 2订单审核模块Ml.Ml. 3 3刷新详细资料模块1H3. 3蛾網订单模块Hl. 4 1关

19、闭系统模块关闭并推出系统H3.4修改订单模块Ml. 5系统功能模块恥.5查询订单模块N2.1信息襦加模块H4.1发货单模块12.2信息删除模块K4. 2收款模块也3 3信息倏改模块H4. 3综合查询模块M2. 4查询模块H5报衰生成功能N2.5客户枫益分配模块M6扌兀卩功能M2.M2. 6 6客户类型分配模块17导入导出模块密码管理模块13帮助模换110身份验证模块用户验证身份表4模块设计功能分配系统控制功能+初始化模块(M1.1);+刷新基本资料模块(M1.2);+刷新详细资料模块(M1.3);*关闭系统模块(M1.4);*系统功能模块(M1.5); 客户关系管理功能:*信息添加模块(M2.

20、1);+信息删除模块(M2.2);+信息修改模块(M2.3);律刷新基本资料模块(M1.2);*刷新详细资料模块(M1.3);*查询模块(M2.4);*客户权益分配模块(M2.5);+客户类型分配模(M2.6);订单管理功能:+接受订单模块(M3.1);*订单审核模块(M3.2);+ 撤销订单模块(M3.3);+ 修改订单模块(M3.4);律刷新基本资料模块(M1.2);律刷新详细资料模块(M1.3);+ 查询订单模块(M3.5);销售与收款功能:+发货单模块(M4.1);+收款模块(M4.2);+ 综合查询模块(M4.3);+刷新基本资料模块(M1.2);+刷新详细资料模块(M1.3);报表

21、生成功能:*报表生成功能(M5);打印功能:+ 打印功能(M6);导入导出功能:+ 导入导出模块(M7);帮助功能:+帮助模块(M8);密码管理功能:+ 密码管理模块(M9);身份验证功能:*身份验证模块(M10);/存放用户的操作选项3.4 抽象数据类定义void input();/信息录入void output();/信息输出void amend();/信息修改void Delete();/修改操作void menu();/菜单void search();/查找函数4详细设计4.1 数据类型定义struct memberint date; / char id15;/char name11;

22、 / int phonenumber15; / ;日期客户编号客户姓名最多 5 个汉字电话号码 最多 5 个汉字4.2主要模块内部设计void main( )int choice;printf(请选择: );scanf(%d,&choice); /switch(choice)default:exit(0); /case 1:input(); /break ;case 2:output(); /break ;case 3:amend(); /break;case 4:sta(); /break;输入要执行功能的对应数字调用结束函数调用输入函数调用输出函数调用修改函数调用统计函数printf(nn

23、); menu( );4.2.1 模块 1 设计 模块算法void input() / 输入函数int i=0;char ch=kk;FILE *fp;fp=fopen(D:WORKERINFOR-1.rec,ab+);menu( ); while(1) nn);while(i=99) printf( 挂号信息已录满 !n); fclose(fp); 流程图储存字符丫丫/ /N保证成功打开文422模块2设计void output() /输出函数int i=0;char ch; /FILE *fp;fp=fope n(D:WORKERINFOR-1.rec,rb);

24、while(!fp)/件一fp=fope n(D:WORKERINFOR-1.rec,rb);/ 保 证成功 打开文件printf(-n); .printf( 客户编号 客户姓名 日期 电话号码 客户费用 n); printf(.n); -while(fread(&numi,sizeof(numi),1,fp)=1)if(strcmp(, ) / 避免因删除了某条记录而造 成的最后一条记录重复操作一次 .printf( %s %s %d %dn,numi.id,,numi.date,numi.phonenumber,numi.fee);

25、 .i+;doprintf( 返回主菜单( Y/N):);getchar(); / 跳过回车符 ch=getchar();if(ch=y|ch=Y) break;else exit(0);while(1);4.2.3 模块 3 设计void sta() / 统计函数int i=0,count=0;/ count 统计人数char ch; / 接受回车符 float feesum=0; / numbersum 表示本日客户费用 FILE *fp; fp=fopen(D:WORKERINFOR-1.rec,rb); while(!fp)fp=fopen(D:WORKERINFOR-1.rec,rb

26、); .while(fread(&numi,sizeof(numi),1,fp)=1)if(strcmp(,) / 避免因删除了某条记录而造成的 最后一条记录重复操作一次 .nfeesum=feesum+numi.fee;count+;i+;printf( 本日总的客户费用: %d 总人数: %dn,feesum,count); doprintf( 返回主菜单( Y/N):);getchar(); / 跳过回车符 ch=getchar();if(ch=y|ch=Y) break;else exit(0);while(1);void amend() / 修

27、改函数int i=0,choose; / 存放修改项char NAME11;FILE *fp;fp=fopen(D:WORKERINFOR-1.rec,rb+);while(!fp) / 保证成功打开文件 fp=fopen(D:WORKERINFOR-1.rec,rb+);printf( 输入将要修改的客户编号: ); scanf(%s,&NAME);while(fread(&numi,sizeof(numi),1,fp)=1)if(!strcmp(,NAME) printf( 修 改 选 项 : 1、客户编号2、客户姓名3、日期4、电话号码10、费用n请选择:); scan

28、f(%d,&choose);switch(choose)case 1: printf( 客 户 编 号: );scanf(%s,&numi.id);break;case 2: printf( 客 户 姓 名: );scanf(%s,&);break;case 3: printf( 日 期: );scanf(%f,&numi.date);break;case 4: printf( 电 话 号 码: );scanf(%d,&numi.phonenumber);break;case 5: printf( 客 户 费 用: );scanf(%f,&numi.fee);break; d

29、efault: printf( 输入错误! n); break;fseek(fp,-68L,1);fwrite(&nu mi,sizeof( nu mi),1,fp);printf(n该挂号信息修改成功! ! n);break;i+;fclose(fp);5实现与调试分析5.1实现环境硬件:装有 Windows XP的微型计算机。软件:Microsoft Visual C+6.0 。5.2语言选择C语言5.3调试分析一个好的程序员不应该把所有的判断交给编译器和调试器,应该在程序 中自己加以程序保护和错误定位,具体措施包括:对于所有有返回值的函数,都应该检查返回值,除非你确信这个函 数调用绝对不

30、会出错,或者不关心它是否出错。 一些函数返回错误,需要用其他函数获得错误的具体信息。例如 accept返回INVALID_SOCKET 表示accept失败,为 了查 明 具体 的失败原因,应 该立刻用 WSAGetLastError获得错误码,并 针对性的解决问题。有些函数通过异常机制抛出错误,应该用TRY-CATCH语句来检查 错误*程序员对于能处理的错误,应该自己在底层处理,对于不能处理的, 应该报告给用户让他们决定怎么处理。如果程序出了异常, 却不 对返回值和其他机制返回的错误信息进行判断,只能 是加大了找错 误的难度。*另外:VC中要编制程序不应该一开始就写cpp/h文件,而应该首

31、先创建一个合适的工程。因为只有这样,VC才能选择合适的编译、 连接 选项。对于加入到工程中的cpp文件,应该检查是否在第一 行显式的 包含stdafx.h 头文件,这是Microsoft Visual Studio 为了 加快编译 速度而设置的预编译头文件。在这个#“elude stdafx.h 行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被 包含。对于.c文件,由于不能包含stdafx.h ,因此可以通过 Project settings 把它的预编译头设置为 不使用”,方法是: 弹出 Project sett in gs对话框*选择C/C+ Category 选择 Precom

32、pilation Header选择不使用预编译头。6测试分析测试结果测试1:名称:系统操作登录测试目的:测试系统操作界面。内容:帐号口令输入、合理性检查、合法性检查,系统操作界面 显示控制输入 数据:(账号)admin (密 码)123456预期输出结果:用户界面(提供功能选择);测试结果测试2 :名称:1号功能测试目的:测试系统1号功能。内容:输入功能键1,客户信息输入输入数据:1( 1号功能选项)预期输出结果:按一定的格式完整的输入所有客户基本信息;测试结果测试3 :名称:2号功能测试目的:测试系统2号功能。内容:输入功能键 2,系统界面的 显示 输入数据: 2( 2号功能 选项), 5(

33、课程编 号) 预期 输出 结果 :5: 显示 输入 客户 信息 ;测试 结果 测试 4 :名称 :3 号功能 测试 目的 :测 试系 统 3 号功能 。内容:输入功能键 3,输入学号和 课程编号,记录保存 输入数据: 3( 3号功能 选项)修改信息预期 输出 结果 :修 改 指定 用户 信息 ;6.1 测试用例|请选择: 1 客户 编 号: 01 客户姓名: a 日 期 : 111 电话号码: 123 该信息已录完,请录入下一个客户信息!客户 编 号: 02 客户姓名: b 日 期 : 111 电话号码: 124 该信息已录完,请录入下一个客户信息!客户 编 号: kk |6.2测试结果请选择

34、: 1 客户 编 号: 1 客户姓名: 1 日 期 : 111电话号码: 111客户费用: 11该挂号信息已录完,请录入下一个客户信息 | 请选择:2客户编号 客户姓名 日期 电话号码01 a 111 12302 b 111 124 返回主菜单( Y/N):y!请选择: 3 输入将要查找的客户编号: 01 客户编号 客户姓名 日期 电话号码01 a 111 123 请选择: 4输入将要修改的客户编号: 01 修改选项:1 、客户编号 2 、客户姓名 3 、日期 4 、电话号码 请选择:2客 户 姓 名: c该信息修改成功!|请选择: 5 输入将要删除的客户编号: 02该信息删除成功!6.3性能

35、分析故障处理要求 :对于该学生选课系统,用户提出的故障可能有:软件无法安装或者软件停止运行 以及此时应该采取什么措施恢复数据。 .当软件无法安装时,可以查看帮助手册,安装相关软件或者修复受损文件。 当软件停止运行时,强行关机重启后,可以根据系统的自动备份或者在操作之前 的手工备份来恢复数据,保证系统数据的正确性。 .安全性要求 :因为学生选课系统关系到学校及学生的重要成绩信息,所以对于学校而言对安全 保密性的要求非常严格,此系统是面向所有的在校学生及老师,大多数人都不是 专业的计算机操作人员,因此对该系统使用的方便性要求也较高 .可扩充性要求 : 任何软件都有缺陷,对于学生选课系统但学校的需求

36、发生变化时,增加一个新的 功能模块,要求系统能够很好地对其进行扩充,既可补充性。 .可维护性要求 : 当操作系统平台发生变化或者支持软件学生信息管理系统发生变化时,为了适应 这些变化必需对系统进行维护,即要求有可维护性。 .7 用户手册管理员登陆 : 1. 输入客户信息 2. 显示客户 3. 修改客户信息 4. 统计本日费用总结由于是第一次开发一个完整的程序,所以许多工作都在摸索着进行,在我们的贵 老师的帮助下,我与我们组的成员的共同努力下, 完成了程序规定的功能要求。本系统采用当前流行的面向对象的开发工具一 VB来完成整个系统的设计,在数据 库的设计上利用了 SQL的便利性和实用性。本系统具

37、有相当的实用功能。在查询方面,系统实现了多条件任意字段的模糊查 询,同时在分类查询上实现了动态生成。系统在设计过程中不可避免地遇到了各 种各样的问题,由于整个系统完全都是由个人设计的,有关 VB许多细节问题都要 靠自己去摸索,加之本人水平有限,并没有完全地理解VB和SQL的强大功能,而且还存在着许多不足之处。由于时间关系,系统功能实现不够完善,使用不是很方便。参考文献1张海藩.软件工程导论.北京: 清华大学出版社,20042陈明实用软件工程基础. 北京:清华大学出版社,20033殷人昆. 实用软件工程 .北京: 清华大学出版社,2003/ EWM.cpp : 定义控制台应用程序的入口点/*#i

38、nclude stdafx.hint _tmain(int argc, _TCHAR* argv)return 0;*/#include#include#include#includestruct member char date9;/ 日期char id15;/ 客户编号charname11;/ 客户姓名最多 5 个汉字int phonenumber; / 电话号码;typedef struct member member;membernum100; / 定义了一个 100个元素的结构体数组 (最多 100个)/ 存放用户的操作选项#define InputNum 20int count1=

39、0,count2=0;/*函数声明*void input();/信息录入void output();/信息输出void amend();/信息修改void Delete();/修改操作void menu();/菜单void search();/查找函数/*主函数 *決*void main( )int choice;menu( );while(1)printf(请 选 择 :);scanf(%d,&choice); / 输入要执行功能的对应数字 switch(choice) default: exit(0); / 调用结束函数case 1:input(); / 调用输入函数break ;case

40、 2: output(); / 调用输出函数break ;case3:search();break;case 4: amend();/调用修改函数break;case 5: Delete();/调用删除函数break;printf(nn);menu( );/* 功能函数 * void menu() / 菜单函数出版社客户管理系统.|n);printf(printf(|n);printf(1.客户信息录入|n);printf(2.客户信息浏览|n);printf(3.查找客户信息|n);printf(4.客户信息修改|n);printf(5.删除用户|n);printf(0.退出|n);prin

41、tf(INFOR-1.rec,ab+);号:);|n);void input() / 输入函数 int i=0;char ch=kk;FILE *fp; fp=fopen(D:WORKERwhile(i=99) printf( 信fclose(fp);int i=0;char ch; / 储存FILE *fp; fp=fopen(D:WORKERwhile(!fp)fp=fopen(D:WORKERprintf( 客户编号 客printf( -fwrite(&numi,sizeof(numi),1,fp);count1=i;printf( 该 信 息 已录完,请录入下一个客户信息! nn);息

42、已录满 !n);void output() / 输出函数字符 Y/NINFOR-1.rec,rb);/ 保证成功打开文件 .INFOR-1.rec,rb);/printf(%d,sizeof(member);printf(-n);户姓名 日期 电话号码 n);n);while(fread(&numi,单(丫丫/ /N):););/ 跳过回车符break;sizeof(numi),1,fp)=1)if(strcmp(, ) / 避免因删除了某条记录而造成的最后一条记录重复操 作一次 /coutnumi.idnumi.date numi.phonenumber;.printf(%s %s %s %dn,numi.id,,numi.date,numi.pho nenumber); i+;doprintf( 返 回 主 菜getchar();ch=getchar();if(ch=y|ch=Y)else exit(0);while(1);int i=0; /存放修改void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论