版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上高校社团管理系统设计报告一题目要求,内容在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现社团招收新成员、修改社团相应信息、老成员离开社团、查询社团情况、统计社团成员数等功能。二设计思想根据题目要求,定义新的数据类型Club,用于存储社团信息,并采用单链表的方式将不同的社团连接起来,新定义的数据类型Club中包含结构体数组Member ClubMemberMaxMember,用于存储社团成员信息。其次,定义了不同的功能函数满足所需的功能要求。三总体结构(模块结构图,函数功能)专心-专注-专业四
2、源代码,运行结果#include<stdio.h>#include<stdlib.h>#include<string.h>#define MaxClub 20#define MaxMember 20typedef struct MNode int num; /*成员学号*/ char name6; /*成员姓名*/ char major8; /*成员专业*/ char hobby10; /*成员爱好*/Member;typedef struct CNode char ClubName10; /*社团名字*/ char intro20; /*社团介绍*/ ch
3、ar 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(NClu
4、b C) /*添加社团*/ int i; char ch; NClub p,q; p=C; for(i=1;i<=MaxClub;i+) q=(NClub)malloc(sizeof(Club); if(!q) printf("nttt创建失败!");continue; printf("nttt请输入社团名称:"); gets(q->ClubName);fflush(stdin); printf("nttt请输入社团介绍:"); gets(q->intro);fflush(stdin); printf("n
5、ttt请输入社团信息:"); 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)
6、 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请输入社团名称:
7、"); 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
8、("nttt学校还没有社团!");return 0; char cn10,ch; int i,flag; NClub p,q; p=C; printf("nttt请输入社团名称:"); gets(cn); for(i=1;i<=ClubNum(C);i+) q=p; p=p->next; if(!strcmp(cn,p->ClubName) flag=1;break; else flag=0; if(flag=0) printf("nttt没有该社团!");return 0; q->next=p->nex
9、t; 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;i<=ClubNum(C);i+) p=p->next; if(!strcmp(cn,p->ClubName) flag=1;break; else flag=0; if(f
10、lag=0) printf("nttt没有该社团!");return 0; for(i=0;i<MaxMember;i+) printf("nttt请输入成员的学号:"); scanf("%d",&p->ClubMemberi.num);fflush(stdin); printf("nttt请输入成员的名字:"); gets(p->ClubM);fflush(stdin); printf("nttt请输入成员的专业:"); gets(p->C
11、lubMemberi.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(&quo
12、t;nttt学校还没有社团!");return 0; char cn10,ch; int i,flag; NClub p; p=C; printf("nttt请输入成员所在社团:"); gets(cn); for(i=1;i<=ClubNum(C);i+) p=p->next; if(!strcmp(cn,p->ClubName) flag=1;break; else flag=0; if(flag=0) printf("nttt没有该社团!");return 0; for(i=p->MeNum;i<MaxMemb
13、er;i+) printf("nttt请输入成员的学号:"); scanf("%d",&p->ClubMemberi.num);fflush(stdin); printf("nttt请输入成员的名字:"); gets(p->ClubM);fflush(stdin); printf("nttt请输入成员的专业:"); gets(p->ClubMemberi.major);fflush(stdin); printf("nttt请输入成员的爱好:");
14、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
15、;i<ClubNum(C);i+) printf("nttt%s社团共有%d个成员!n",p->ClubName,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;i
16、<=ClubNum(C);i+) p=p->next; 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请输入
17、社团信息:"); 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;i<=ClubNum(C);i+)
18、p=p->next; 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;i<MaxMember;i+) if(!strcmp(na,p->ClubM) sign=1,y+;break; else sign=0,y+; if(sign=0) pri
19、ntf("nttt没有这个成员!");return 0; printf("nttt请输入成员的学号:"); scanf("%d",&p->ClubMembery-1.num);fflush(stdin); printf("nttt请输入成员的名字:"); gets(p->ClubM);fflush(stdin); printf("nttt请输入成员的专业:"); gets(p->ClubMembery-1.major);fflush(stdin
20、); 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(stdi
21、n); for(i=1;i<=ClubNum(C);i+) p=p->next; 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;i<MaxMember;i+) if(!strcmp(na,p->ClubM) sign=1,y+;break;
22、 else sign=0,y+; if(sign=0) printf("nttt没有这个成员!");return 0; for(i=y;i<MaxMember;i+) p->ClubMemberi-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; fo
23、r(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成
24、员专业t成员爱好"); for(j=0;j<p->MeNum;j+) printf("nt%-8dt%-8st%-8st%-8sn",p->ClubMemberj.num,p->ClubM,p->ClubMemberj.major,p->ClubMemberj.hobby); printf("nt=n"); p=p->next; return 1;void menu() printf("nttt 欢迎进入功能选择菜单n"); printf("ttt=n
25、"); 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
26、("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(se<0|se>11) p
27、rintf("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); Sho
28、wClubInformation(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&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保工程安全责任合同书
- 安全器具采购验收制度
- 医用耗材应急采购制度
- 工厂采购内控管理制度
- 公司采购小组成立制度
- 小企业材料采购制度
- 正版软件采购管理制度
- 办公室用品采购领用制度
- 数字化转型下W证券公司核心业务流程再造:策略、实践与成效
- 数字化转型下H银行信用风险管理的困境与突破:理论、实践与创新路径
- 喝酒划拳活动方案
- 日语数字考试题目及答案
- CJ/T 83-2016水处理用斜管
- T/CI 467-2024复合集流体(铜箔)
- 《赤壁之战》课本剧剧本:感受三国英雄的壮志豪情
- 《平顶山平煤神马集团公司成本管理现状、问题及完善对策》7100字
- 电梯年度维修保养项目及要求
- 《经络与腧穴》课件-腧穴
- 2017-2021年安徽专升本考试英语真题卷
- 《百威啤酒定位分析》课件
- 号道路穿越天然气管道施工组织方案
评论
0/150
提交评论