协会会员管理系统_第1页
协会会员管理系统_第2页
协会会员管理系统_第3页
协会会员管理系统_第4页
协会会员管理系统_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

1、*实践教学*兰州理工大学计算机与通信学院2011年春季学期C程序设计课程设计题目:协会会员管理系统专业班级:姓名:学号:指导教师:成绩:协会会员管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以协会会员管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个协会基本上都是靠传统的人工方式来管理协会信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社

2、会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。而作为计算机应用的一部分,使用计算机对会员进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高协会会员管理的效率,也是协会的科学化、正规化管理和与世界接轨的重要条件。协会会员管理系统作为一种管理软件正在各协会中得到越来越广泛的应用,且已达到了良好效果。关键字:协会会员管理系统效率检索迅速管理软件一、需求分析4.二、总体设计5.三、详细设计6.1、数据定义6.2、算法流程图6.四、编码.11.五、测试12六、设计总结14致谢1.5参

3、考文献16附录11.7、需求分析协会会员管理系统:1、问题描述对协会的会员进行管理,包括插入、删除、查找、排序等功能。2、要求会员对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、电话(字符串)等信息。(1)新增一名会员:将新增会员对象按姓名以字典方式会员管理文件中。(2)删除一名会员:从会员管理文件中删除一名会员对象。(3)查询:从管会员理文件中查询符合某些条件的会员。(4)添加:增加某个会员对象。(5)打印:按某种需要对会员对象文件进行打印。3、实现功能(1)由键盘输入会员对象,以文件方式保存。程序执行时先将文件读入内

4、存。(2)对对象中的“姓名”按字典顺序进行排序。(3)对排序后的会员对象进行增、删、查询、修改、打印等操作。、总体设计1、输入功能的实现:要想实现会员管理系统的输入,必须要建立一个会员信息系统的抽象数据类型,其中会员信息以链表的存储方式实现。由键盘输入会员对象,以文件方式保存。程序执行时先将文件读入内存。2、系统处理功能的实现:系统管理员根据协会的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。如对会员对象中的"姓名"按字典顺序进行排序;对排序后的会员对象进行增、删、查询、修改、打印等操作。3、输出的实现:根据选择的操作,输出与之对应的信息。综上可以绘制出管理会员

5、信息功能的系统流程图,如图1所示图1系统流程图根据会员管理系统问题的分析和设计要求,可以得到该会员管理系统可以分为五个模块:会员信息添加模块、会员信息修改模块、会员信息删除模块、会员信息查询模块、会员信息排序模块。具系统功能结构如图2所示。图2系统功能图三、详细设计3.1数据定义structperson(charname20;/定义名称charsex4;/定义性别charyuanxi20;/定义院系charzhuanye20;/定义专业chartechang20;/定义特长charzhuangtai20;/定义状态intage;/定义年龄intnumber;/定义会员编号;3.2算法流程图1)

6、保存函数Save()的算法流程图如图3所示。2)查询函数search()的算法流程图如图所示。将人姓名图4查询函数search()的算法3)对输入的信息进行寻找、并进行输出。图5查询并输出所查询的信息图6会员信息查看系统3.3模块设计在我们设计的程序中:首先是定义了一个输入输出头文件,接着是一个宏定义,下面是函数声名部分,用structemploee结构体存储和录入该程序的所有数据,并把信息写到文件emp.dat中,保存在磁盘中方便以后使用。主函数部分包括设计的全部信息,有指导教师、设计者以及设计时间,之后是输出主菜单和调用函数,退出程序。此程序中包含的功能有:输入模块、查询模块、修改模块、删

7、除模块、统计模块、输出模块、追加模块,各个功能设计如下:输入模块:该模块是实现对会员号姓名岗位扣除实发的录入并保存到文件“emp”中。模块中运用voidinput()调用函数展开对文件的使用。模块首先定义一个指针文件,又以写的方式打开此文件,在打开的文件中输入要管理的会员人数,用一个for循环按照职会员号姓名岗位扣除实发的格式循环获取会员的记录,接着又用了一个for循环将会员记录写入文件“emp”中,关闭文件。查询模块:实现按会员号查询每个会员的信息,查询显示:会员号姓名岗位扣除实发。模块开始是一个二级子菜单,一个是实现按会员号查询,另一个是选择退出返回主菜单,此处是利用switch选择语句。

8、选择按会员号查询,首先是以只读的方式打开文件“em6,然后输入要查询的会员号,用一个for循环来控制查询的人数,之后在显示器上显示会员信息,程序如下:printf("会员号姓名岗位扣除实发n");printf("%6d%9s%6d%6d%6d%6dn",empi.no,,empi.post-wage,empi.prize,empi.deduct,pay);然后关闭文件。查询会员信息已完成。修改模块:该模块实现按会员号对会员所有信息的修改。模块开始是一个二级子菜单,一个是按会员号修改,另一个是选择退出返回主菜单,此处是利用

9、switch选择语句。选择按会员号修改,首先是以读写的方式打开文件“empo输入要修改的会员号,用一个for循环来控制输入的数量,循环如下:for(i=0;fread(&empi,sizeof(structemploee),1,fp);i+)if(!strcmp(empi.no,num)break;则会出现该会员的信息如下:printf("记录号会员号姓名性别年龄工资n");printf("%6d%6s%9s%4s%5d%6dn",i+1,empi.no,,empi.sex,empi.age,empi.salar);然后对会员的

10、信息进行修改,就可获得新的会员记录。之后文件指针指向该修改的记录开头,此时用newemp!盖当前记录,修改完成时系统会显示修改后的文件数据:记录号、会员号、姓名、性别、年龄、工资,然后关闭文件。修改会员信息已完成。删除模块:该模块实现按会员号对会员所有信息的删除。模块开始是一个二级子菜单,一个是按会员号删除记录,另一个是选择退出返回主菜单,此处是利用switch选择语句。选择按会员号删除记录,首先是只读的方式打开一个二进制文件“em6。就会显示删除前的会员信息程序如下:printf("删除前:n");printf("记录号会员号姓名性别年龄工资n");f

11、or(n=0;fread(&empn,sizeof(structemploee),1,fp);n+)printf("%6s%6s%9s%4s%5d%6dn",n+1,empn.no,,empn.sex,empn.age,empn.salar);输入要删除的会员号,如果存在由fp=fopen(“emp",“w+”);if(n=1)fclose(fp);exit(3);执行删除命令:使用for(j=i+1;j<n;j+)fwrite(&empj,sizeof(structemploee),1,fp);循环依次改后会员信息写入文件

12、,显示删除后文件中的会员信息。最后可以关闭文件,删除会员信息已完成。统计模块:根据输入的工资,显示大于该工资的会员的所有信息。模块中运用voidstat()调用函数展开对文件的使用。首先是以只读的方式打开文件“emp。输入会员的工资数,运用for循环根据输入的工资,显示大于该工资的会员的所有信息。关闭文件,统计完成。输出模块:该模块实现按会员号输出会员的所有信息。在该模块中运用voidoutput()调用函数展开对文件的使用。首先以只读的方式打开一个文本文件”em6。操作无误则用for循环输出正在查询会员的:记录号会员号姓名性别年龄工资。这些完成后用fclose(fp)函数关闭文件。模块运行结

13、束。追加模块:该模块实现添加会员的信息。在该模块中运用voidrun()调用函数展开对文件的使用。首先以读写的方式为读写打开一个二进制的文件“em6输出“要追加的会员人数”待输入要追加的个数后,用for循环控制待输入的会员信息。用fwrite(&newemp,sizeof(structemploee),1,fp)将该会员记录写入文件。用fclose(fp)函数关闭文件,模块运行结束。10四、编码该会员管理系统在MicrosoftVisualStudioc+程序下运行,可实现对会员的增加、查询、修改、打印,实现对会员信息的快速操作。1、增加会员信息2、查询会员信息3、修改会员信息4、打印

14、会员信息5、输出会员信息6、统计会员信息7、删除会员信息11五、测试1.程序的初始界面对程序的功能进行选择输入会员信息12Ldlj亘奔卷昌理八便篷舁4n4.Hl.言循簿,*D:ITragremFileXiMlicroioftVisualMfrudoAIM产Praj,X.l。噂匕口白1.e宜栏话曲项:1侵入会国人减'打印会员信息i*C:PrograiBFllesXKicrosoftVisualStudioVKyProjecis0Debug0i.exe"性别年跳状态会员编号专业恃二妻塞任意嘴场丁148bb«52BB52117424通通管不经利信算所通用笠画.无跳舞

15、77;:13六、设计总结接到C语言课程设计的作业我十分高兴,终于学到的东西可以运用了。在老师的指导和大家的共同努力下,我们终于完成了程序的大体编制。程序中包括主函数、输入模块、查询模块、修改模块、删除模块、统计模块、输出模块、追加模块。其中在输入模块中指针文件运用的比较好,因为指针是C的一个特色,它能有效的表示复杂的数据结构,动态的分配内存,方便的使用字符串、数组,可谓是C的精华。在程序设计中我们最大的收获就是:我们真正从实践的角度体会到了C语言在实际生活中的作用,也深刻体会到了它带来的方便快捷。不但使我们对C语言有更进一步的巩固和认识还使我们懂得了团队协作的重要!让我们将一年所学的C语言知识

16、学为所用,让我们感觉到了它的神奇魅力。美中不足的就是:由于我们知识的不足以及条件的限制,本系统还有许多漏洞与不足,希望老师给以批评与帮助,我们会积极改正。而且本程序还处于初级阶段的职工工资管理功能中,只实现了对会员信息的录入、修改、查询、统计、显示等简单功能,功能较简单,不一定在实际中有大的用途,程序编排中可能有烦琐之处有待进一步简化。14致谢进入大学,系统的学习了c语言程序设计这门课,让我对程序设计这门课有了更深一步的理解,能够把自己所学用于生活,这是一件很让人开心的事。我会在以后的学习生活中努力的锻炼自己,开动脑筋,用心思维,使自己在c语言程序设计这门课上有更一步的进步。在此感谢,此次课程

17、设计中给予指导的老师和各位同学的帮助,使我们终于圆满的完成了这次课设。15参考文献1 .姜灵芝,余健.C语言课程设计案例精编.北京:清华大学出版社,20082 .王新,孙雷.C语言课程设计.北京:清华大学出版社,20093 .游洪跃、彭骏、谭斌.C语言程序设计实验与课程设计教程.北京:清华大学出版社,20114 .王连相.C/C+程序设计上机指导与测试.北京:中国铁道出版社,20065 .C语言函数手册,机械工业出版社,199916附录1#include<stdio.h>#include<stdlib.h>#include<string.h>structno

18、de(charname20;/定义名称charsex4;/定义性别charyuanxi20;/定义院系charzhuanye20;/定义专业chartechang20;/定义特长charzhuangtai20;/定义状态intage;/定义年龄intnumber;/定义会员编号xh200;intmenu();intinput();voidfind(int);intinsert(int);voidprint(int);voidmain()(intc=0,d=0;while(1)(switch(menu()(case1:c=input();break;case2:find(c);break;cas

19、e3:c=insert(c);break;case4:print(c);break;case5exit(0);menu()(intd;system("cls");printf("n");printf("t协会会员管理系统n");printf("tn");printf("t|1|输入会员信息。n");printf("t|2|指定查找会员。n");printf("t|3|添加会员信息。n");printf("t|4|打印会员信息。n");p

20、rintf("t|5|退出。n");printf("tnn");printf("t请选项:");scanf("%d",&d);returnd;17input()/输入会员信息(inti,n;printf("n");printf("输入会员人数:n");scanf("%d",&n);for(i=0;i<n;i+)(printf("名称:",i+1);scanf("%s",);get

21、char();printf("性别:",i+1);scanf("%s",xhi.sex);getchar();printf("年龄:",i+1);scanf("%d",&xhi.age);printf("状态:",i+1);scanf("%s",xhi.zhuangtai);getchar();printf("会员编号:",i+1);scanf("%d",&xhi.number);printf("专业:&quo

22、t;,i+1);scanf("%s",&xhi.zhuanye);getchar();printf("院系:",i+1);scanf("%s",xhi.yuanxi);getchar();printf("特长:",i+1);scanf("%s",xhi.techang);getchar();printf("nn");returnn;voidfind(intc)/按名称指定查找会员信息(inti;chara20;printf("n");printf(

23、"请输入查找名称:n");scanf("%s",a);getchar();for(i=0;i<c;i+)(if(strcmp(a,)=0)(printf("会员性别:");printf("%sn",xhi.sex);printf("会员年龄:");printf("%dn",xhi.age);printf("状态:");printf("%sn",xhi.zhuangtai);printf("会员编号:&qu

24、ot;);printf("%dn",xhi.number);printf("专业:");printf("%sn",xhi.zhuanye);printf("院系:");printf("%sn",xhi.yuanxi);18printf("特长:");printf("%sn",xhi.techang);system("pause");getchar();insert(intc)/添加会员信息inti,j;system("cls");printf("n");printf("添加会员人数:n");scanf("%d",&j);getchar();for(i=0;i<j;i+)printf("会员名称:",i+1);scanf("%s",);getchar();printf("会员性别:",i+1);scanf("%s&q

温馨提示

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

评论

0/150

提交评论