C语言高校社团管理系统设计报告

上传人:风*** 文档编号:62413555 上传时间:2022-03-14 格式:DOCX 页数:9 大小:169.62KB
返回 下载 相关 举报
C语言高校社团管理系统设计报告_第1页
第1页 / 共9页
C语言高校社团管理系统设计报告_第2页
第2页 / 共9页
C语言高校社团管理系统设计报告_第3页
第3页 / 共9页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上高校社团管理系统设计报告一题目要求,内容在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现社团招收新成员、修改社团相应信息、老成员离开社团、查询社团情况、统计社团成员数等功能。二设计思想根据题目要求,定义新的数据类型Club,用于存储社团信息,并采用单链表的方式将不同的社团连接起来,新定义的数据类型Club中包含结构体数组Member ClubMemberMaxMember,用于存储社团成员信息。其次,定义了不同的功能函数满足所需的功能要求。三总体结构(模块结构图,函数功能)专心-专注-专业四源代码,运行结果#include#include#include#define MaxClub 20#define MaxMember 20typedef struct MNode int num; /*成员学号*/ char name6; /*成员姓名*/ char major8; /*成员专业*/ char hobby10; /*成员爱好*/Member;typedef struct CNode char ClubName10; /*社团名字*/ char intro20; /*社团介绍*/ char information20; /*社团公告*/ int MeNum; /*成员人数*/ Member ClubMemberMaxMember; /*社团成员信息*/ struct CNode *next;Club,*NClub;NClub Initi(NClub C) /*系统初始化*/ C=(NClub)malloc(sizeof(Club); if(!C) printf(nttt初始化失败!);exit(0); C-next=NULL; printf(nttt初始化成功!n); return C;int AddClub(NClub C) /*添加社团*/ int i; char ch; NClub p,q; p=C; for(i=1;iClubName);fflush(stdin); printf(nttt请输入社团介绍:); gets(q-intro);fflush(stdin); printf(nttt请输入社团信息:); gets(q-information);fflush(stdin); q-MeNum=0; p-next=q; q-next=NULL; p=q; printf(nttt是否继续创建?(Y/N)t); ch=getchar();fflush(stdin); if(ch=Y) continue; else break; return 1;int ClubNum(NClub C) /*统计社团数量*/ int total=0; NClub p=C-next; while(p) total+; p=p-next; return total;int InsertClub(NClub C) /*添加新社团*/ NClub p,q; p=C; if(ClubNum(C)=MaxClub) printf(nttt本校社团数已到最大值,不能再添加了!);return 0; while(p-next) p=p-next; q=(NClub)malloc(sizeof(Club); if(!q) printf(nttt创建失败!);return 0; printf(nttt请输入社团名称:); gets(q-ClubName);fflush(stdin); printf(nttt请输入社团介绍:); gets(q-intro);fflush(stdin); printf(nttt请输入社团信息:); gets(q-information);fflush(stdin); q-MeNum=0; p-next=q; q-next=NULL; p=q; return 1;int DelteClub(NClub C) /*社团注销*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10,ch; int i,flag; NClub p,q; p=C; printf(nttt请输入社团名称:); gets(cn); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; q-next=p-next; return 1;int AddClubMember(NClub C) /*添加社团成员*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10,ch; int i,flag; NClub p; p=C; printf(nttt请输入成员所在社团:); gets(cn); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; for(i=0;iClubMemberi.num);fflush(stdin); printf(nttt请输入成员的名字:); gets(p-ClubMemberi.name);fflush(stdin); printf(nttt请输入成员的专业:); gets(p-ClubMemberi.major);fflush(stdin); printf(nttt请输入成员的爱好:); gets(p-ClubMemberi.hobby);fflush(stdin); p-MeNum+; printf(nttt是否继续添加?(Y/N)t); ch=getchar(); if(ch=Y) continue; else break; return 1;int AddClubNewMember(NClub C) /*添加社团新成员*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10,ch; int i,flag; NClub p; p=C; printf(nttt请输入成员所在社团:); gets(cn); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; for(i=p-MeNum;iClubMemberi.num);fflush(stdin); printf(nttt请输入成员的名字:); gets(p-ClubMemberi.name);fflush(stdin); printf(nttt请输入成员的专业:); gets(p-ClubMemberi.major);fflush(stdin); printf(nttt请输入成员的爱好:); gets(p-ClubMemberi.hobby);fflush(stdin); p-MeNum+; printf(nttt是否继续添加?(Y/N)t); ch=getchar(); if(ch=Y) continue; else break; return 1;void ClubMemberNum(NClub C) /*统计社团成员人数*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; int i; NClub p; p=C-next; for(i=0;iClubName,p-MeNum); p=p-next; int ChangeClub(NClub C) /*修改社团信息*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10; int i,flag; NClub p; p=C; printf(nttt请输入社团名称:); gets(cn);fflush(stdin); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; printf(nttt请输入社团名称:); gets(p-ClubName);fflush(stdin); printf(nttt请输入社团介绍:); gets(p-intro);fflush(stdin); printf(nttt请输入社团信息:); gets(p-information);fflush(stdin); return 1;int ChangeMember(NClub C) /*修改社团成员信息*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10,na6; int i,flag,sign,y=0; NClub p; p=C; printf(nttt请输入成员所在社团:); gets(cn);fflush(stdin); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; printf(nttt请输入所要修改信息成员的姓名:); gets(na);fflush(stdin); for(i=0;iClubMemberi.name) sign=1,y+;break; else sign=0,y+; if(sign=0) printf(nttt没有这个成员!);return 0; printf(nttt请输入成员的学号:); scanf(%d,&p-ClubMembery-1.num);fflush(stdin); printf(nttt请输入成员的名字:); gets(p-ClubMembery-1.name);fflush(stdin); printf(nttt请输入成员的专业:); gets(p-ClubMembery-1.major);fflush(stdin); printf(nttt请输入成员的爱好:); gets(p-ClubMembery-1.hobby);fflush(stdin); return 1;int DelteClubMember(NClub C) /*社团成员退团*/ if(ClubNum(C)=0) printf(nttt学校还没有社团!);return 0; char cn10,na6; int i,flag,sign,y=0; NClub p; p=C; printf(nttt请输入成员所在社团:); gets(cn);fflush(stdin); for(i=1;inext; if(!strcmp(cn,p-ClubName) flag=1;break; else flag=0; if(flag=0) printf(nttt没有该社团!);return 0; printf(nttt请输入所要删除成员的姓名:); gets(na);fflush(stdin); for(i=0;iClubMemberi.name) sign=1,y+;break; else sign=0,y+; if(sign=0) printf(nttt没有这个成员!);return 0; for(i=y;iClubMemberi-1=p-ClubMemberi; p-MeNum-; return 1;int ShowClubInformation(NClub C) /*显示社团信息*/ if(ClubNum(C)=0) printf(nttt没有可以显示的信息!n);return 0; int i,j; NClub p; p=C-next; for(i=0;p!=NULL;i+) printf(nt社团:n); printf(ntt名 称t介 绍t信 息); printf(ntt%-8st%-8st%-8sn,p-ClubName,p-intro,p-information); printf(nt社团成员信息:n); if(p-MeNum=0) printf(ntt该社团还没有成员!n);p=p-next;continue; printf(nt成员学号t成员姓名t成员专业t成员爱好); for(j=0;jMeNum;j+) printf(nt%-8dt%-8st%-8st%-8sn,p-ClubMemberj.num,p-ClubMemberj.name,p-ClubMemberj.major,p-ClubMemberj.hobby); printf(nt=n); p=p-next; return 1;void menu() printf(nttt 欢迎进入功能选择菜单n); printf(ttt=n); printf(ttt 1.系统初始化;n); printf(ttt 2.创建社团;n); printf(ttt 3.添加新社团;n); printf(ttt 4.修改社团资料;n); printf(ttt 5.社团注销;n); printf(ttt 6.添加社团成员;n); printf(ttt 7.添加社团新成员;n); printf(ttt 8.修改社团成员资料;n); printf(ttt 9.社团成员退团;n); printf(ttt 10.显示社团信息;n); printf(ttt 11.统计社团成员人数;n); printf(ttt 0.结束;n); printf(ttt=nn); printf(ttt选择功能:);main() NClub C;for(;) menu(); int se; scanf(%d,&se);fflush(stdin); if(se11) printf(nttt输入有误!n);system(pause);system(cls); switch(se) case 1: C=Initi(C); system(pause); system(cls); break; case 2: AddClub(C); ShowClubInformation(C); system(pause); system(cls); break; case 3: InsertClub(C); ShowClubInformation(C); system(pause); system(cls); break; case 4: ChangeClub(C); ShowClubInformation(C); system(pause); system(cls); break; case 5: DelteClub(C); ShowClubInformation(C); system(pause); system(cls); break; case 6: AddClubMember(C); ShowClubInformation(C); system(pause); system(cls); break; case 7: AddClubNewMember(C); ShowClubInformation(C); system(pause); system(cls); break; case 8: ChangeMember(C); ShowClubInformation(C); system(pause); system(cls); break; case 9: DelteClubMember(C); ShowClubInformation(C); system(pause); system(cls); break; case 10: ShowClubInformation(C); system(pause); system(cls); break; case 11: ClubMemberNum(C); system(pause); system(cls); break; case 0: printf(nttt感谢使用!); exit(0); break; 五小结通过本次数据结构课程设计的学习以及自己动手的实践,我获益匪浅。本次课程设计使我更加扎实地掌握了数据结构方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查,同时在老师同学的帮助下,最终找出了原因所在。由于时间、个人能力有限,程序仍有很多可以改进的地方。比如,在程序执行时,必须按照规定的方式输入,为了解决这一问题可以在此程序的基础上设计错误处理机制,使程序的使用更加方便和可靠;代码可重用率较低,如果使用面向对象的设计方法,可用到继承的方法,使程序更加简洁,可读性也大大增强;主程序界面不够美观,还是简单的控制台界面,可以尝试设计更加美观的界面。通过本次课程设计,我有很多的体会。想要编写一个优秀的程序,我们要扎实掌握程序语言,要注重培养实践能力,要培养严谨的态度,不怕出错,培养独立思考、解决问题的能力,提高自己的实际动手能力,同时,要和老师同学多交流,便于解决问题和共同进步。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!