版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高校社团管理系统设计报告一题目要求,内容在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现社团招收新成员、修改社团相应信息、老成员离开社团、查询社团情况、统计社团成员数等功能。二设计思想根据题目要求,定义新的数据类型Club,用于存储社团信息,并采用单链表的方式将不同的社团连接起来,新定义的数据类型Club中包含结构体数组Member ClubMemberMaxMember,用于存储社团成员信息。其次,定义了不同的功能函数满足所需的功能要求。三总体结构(模块结构图,函数功能)四源代码,运行结果#include#incl
2、ude#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 ClubMemberMaxM
3、ember; /*社团成员信息*/ 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请输入社团
4、介绍:); 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) tota
5、l+; 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请输入社团
6、介绍:); 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=
7、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;
8、 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-ClubM);fflush(stdin); printf(nttt请输入成员的专业:); gets(p-ClubMemberi.major);fflush(stdin); printf(nttt请输入成员的爱好:); gets(p-ClubMemb
9、eri.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(!
10、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-ClubM);fflush(stdin); printf(nttt请输入成员的专业:); gets(p-ClubMemberi.major);fflush(stdin); printf(nttt请输入成员的爱好:); gets(p-ClubMem
11、beri.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) /*修改社
12、团信息*/ 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); p
13、rintf(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);
14、 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;iClubM) sign=1,y+;break; else sign=0,y+; if(sign=0) printf(nttt没有这个成员!);return 0; printf(nttt请输入成员的学号:); scanf(%d,&p-Cl
15、ubMembery-1.num);fflush(stdin); printf(nttt请输入成员的名字:); gets(p-ClubM);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) print
16、f(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;iClubMemb
17、) 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);
18、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-ClubM,p-ClubMemberj.major,p-C
19、lubMemberj.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
20、(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(cl
21、s); 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); Sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神经干细胞分化机制
- 绿色建筑集成
- 泸州市2025上半年四川泸州市叙永县事业单位急需紧缺人才岗位需求目录52人笔试历年参考题库典型考点附带答案详解
- 疫苗研发中的细胞培养技术
- 方山县2025山西吕梁市方山县事业单位招才引智11人笔试历年参考题库典型考点附带答案详解
- 德州市2025山东德州日报社招聘备案制管理人员笔试历年参考题库典型考点附带答案详解
- 山东省2025年潍坊高密市面向“三支一扶”人员定向招聘事业单位工作人员笔试历年参考题库典型考点附带答案详解
- 宜宾市2025四川宜宾高新公用事业服务有限公司第二次招聘聘用人员50人笔试历年参考题库典型考点附带答案详解
- 宁夏2025年宁夏回族自治区生态环境厅事业单位自主公开招聘急需紧缺高层次人才公笔试历年参考题库典型考点附带答案详解
- 夏县2025山西运城市夏县事业单位引进高素质青年人才25人笔试历年参考题库典型考点附带答案详解
- 淇河流域水文地球化学环境对缠丝鸭蛋形成的影响探究
- 2026山东济南市中城市发展集团有限公司社会招聘备考题库附答案详解
- 乐山国有资产投资运营(集团)有限公司乐山产业投资(集团)有限公司2026年社会公开招聘考试备考试题及答案解析
- 市政道路工程旁站监理实施细则
- 2026年蜀道投资集团有限责任公司校园招聘笔试备考试题及答案解析
- 交通安全设施施工安全技术交底记录
- 海南省海口市2024-2025学年八年级下学期期中考试道德与法治试卷(含答案)
- 2025年电梯安全管理员考试题库及答案
- 《军事理论》课件-中国古代军事思想
- 《下肢深静脉血栓介入治疗围术期护理指南(2025)》解读课件
- 能源节约与新能源利用指南(标准版)
评论
0/150
提交评论