C语言高校社团管理系统设计报告
c语言学生管理系统课程设计报告 (2)

C语言学生管理系统课程设计报告1. 引言学生管理系统是一项常见的计算机应用程序,广泛应用于学校、培训机构等教育机构中。
本文将介绍一个基于C语言开发的学生管理系统,该系统具有以下功能:学生信息的录入、查询、修改和删除,以及成绩信息的录入、查询、统计和排序。
2. 系统设计2.1 功能模块学生管理系统主要包括以下功能模块:•学生信息录入模块:用于录入学生的基本信息,包括学号、姓名、性别、年龄等。
•学生信息查询模块:提供根据学号或姓名查询学生信息的功能。
•学生信息修改模块:允许修改学生的各项信息。
•学生信息删除模块:提供学生信息的删除功能。
•成绩信息录入模块:用于录入学生的成绩信息,包括科目和成绩。
•成绩信息查询模块:提供根据学号或科目查询学生成绩的功能。
•成绩统计模块:对学生的成绩进行统计,包括总分和平均分。
•成绩排序模块:按照总分对学生进行排序。
2.2 数据结构学生信息和成绩信息可以使用结构体存储。
定义如下:typedef struct {char id[20]; // 学生学号char name[20]; // 学生姓名char gender[5]; // 学生性别int age; // 学生年龄} Student;typedef struct {char id[20]; // 学生学号char subject[20]; // 科目float score; // 成绩} Score;通过结构体数组来存储多个学生的信息和成绩,如下所示:Student students[MAX_STUDENT_NUM];Score scores[MAX_SCORE_NUM];2.3 系统流程学生管理系统的流程图如下所示:graph LRA[学生信息录入] --> B[学生信息查询]A --> C[学生信息修改]A --> D[学生信息删除]A --> E[成绩信息录入]A --> F[成绩信息查询]A --> G[成绩统计]A --> H[成绩排序]3. 系统实现在C语言中,使用函数来实现不同的功能模块。
c语言学生管理系统课程设计报告

C语言学生管理系统课程设计报告一、引言学生管理系统是一种用来管理学生信息的软件系统。
C语言学生管理系统课程设计旨在帮助学生掌握C语言的基本语法和编程能力,同时熟悉软件开发过程中的分析、设计和实现等环节。
本报告将详细介绍C语言学生管理系统的设计和实现过程。
二、需求分析为了明确系统的功能需求,在进行系统设计之前,我们需要进行需求分析。
对于一个学生管理系统,常见的功能包括学生信息录入、查找学生信息、修改学生信息和删除学生信息等。
2.1 学生信息录入学生信息录入是系统的基本功能之一。
管理员可以通过系统按照一定的格式输入学生的基本信息,包括学号、姓名、性别、年龄、班级等。
2.2 查找学生信息系统应提供根据学号或姓名快速查找学生信息的功能。
用户可以输入学号或姓名进行查询,并显示该学生的详细信息。
2.3 修改学生信息管理员可以通过系统修改学生的基本信息。
用户可以选择指定要修改的学生的学号,并对学生的姓名、班级、年龄等信息进行修改。
2.4 删除学生信息管理员可以通过系统删除指定学生的信息。
用户可以输入学号或姓名进行查询,并选择删除该学生的信息。
三、系统设计在需求分析的基础上,进行系统设计是为了明确系统的整体架构和各个模块之间的关系。
本章将对C语言学生管理系统的设计进行详细介绍。
3.1 系统架构C语言学生管理系统采用单层架构,将所有功能模块整合在一个程序中。
系统采用面向过程的设计思路,通过函数的调用和参数传递实现不同模块之间的交互。
3.2 数据结构设计系统的核心数据结构是学生信息结构体。
学生信息结构体包括学号、姓名、性别、年龄、班级等字段。
为了方便管理学生的信息,可以使用链表来存储学生信息。
链表的每个节点代表一个学生,通过指针连接起来形成一个链表。
3.3 模块设计系统的功能可以划分为若干个模块,包括学生信息录入模块、查找学生信息模块、修改学生信息模块和删除学生信息模块。
3.3.1 学生信息录入模块学生信息录入模块通过从键盘读取用户输入的信息,并将输入的信息保存到链表中。
c语言学生管理系统设计报告总结

C语言学生管理系统设计报告总结1. 引言本文档总结了一个基于C语言的学生管理系统的设计报告。
该系统旨在提供一个简便而有效的方式来管理学生的相关信息,包括学生基本信息、课程信息和成绩信息等。
2. 设计目标学生管理系统的设计目标如下:•提供学生基本信息的录入、修改和查询功能;•提供课程信息的录入、修改和查询功能;•提供学生成绩信息的录入、修改和查询功能;•提供统计分析学生成绩的功能;•提供数据的持久化存储。
3. 功能设计3.1 学生信息管理该功能模块包括学生信息的录入、修改和查询功能。
•录入学生信息:通过用户输入学生姓名、学号、年龄等信息,将学生信息添加到系统中;•修改学生信息:通过学号或姓名搜索学生,然后提供修改学生信息的选项;•查询学生信息:通过学号或姓名搜索学生,显示学生的基本信息。
3.2 课程信息管理该功能模块包括课程信息的录入、修改和查询功能。
•录入课程信息:通过用户输入课程名称、授课教师、上课时间等信息,将课程信息添加到系统中;•修改课程信息:通过课程名称搜索课程,然后提供修改课程信息的选项;•查询课程信息:通过课程名称搜索课程,显示课程的相关信息。
3.3 成绩信息管理该功能模块包括学生成绩信息的录入、修改和查询功能。
•录入成绩信息:通过学号和课程名称输入学生在某门课程的成绩,将成绩信息添加到系统中;•修改成绩信息:通过学号和课程名称搜索学生成绩,然后提供修改成绩的选项;•查询成绩信息:通过学号和课程名称搜索学生成绩,显示学生在该课程的成绩。
3.4 统计分析功能该功能模块包括对学生成绩进行统计分析的功能。
•统计班级平均分:将某门课程所有学生的成绩加起来,计算平均分;•统计最高分和最低分:找出某门课程学生成绩中的最高分和最低分。
3.5 数据持久化存储该功能模块包括将学生信息、课程信息、成绩信息等数据持久化存储的功能。
•数据存储:将学生信息、课程信息和成绩信息保存到文件中;•数据读取:从文件中读取学生信息、课程信息和成绩信息。
C语言项目实践(管理系统设计)项目报告

}fclose(fp);
n=i;
printf("录入完毕!\n");
}
4
void seek() /*查找*/
{int i,item,flag;
char s1[21]; /* 以姓名和学号最长长度+1为准 */
printf("------------------\n");
printf("-----1.按学号查询-----\n");
具体算法如下:
3
本模块的主要功能是:根据用户的需求,调用链表中相关学士的信息进行修改,然后保存到链表中。
具体算法如下:
(1)提示用户“请输入要修改的学生的学号”,进行查找
(2)找到了则进行各项信息的修改,找不到则返回(2)
(3)输出 “添加日期(09/23)”的提示信息,接收用户输入的商品日期
(4)调用函数“int datachack(char date[])”,检测输入日期是否合法,若不合法,提示输入错误,重新录入 ,成功则进行下一项信息的录入
#define BUFLEN 100
2
int k=1,n,m; /*
2
操作出现错误时,系统会提示,并返回上一菜单
3
3
本模块的主要功能对整个系统进行控制,具备提示用户进行选择的功能
具体算法如下:
(1).列出主菜单:0系统帮助及说明;1刷新学生信息;2查询学生信息;3修改学生信息;4增加学生信息;5按学号删除信息;6显示当前信息;7保存当前学生信息;8退出系统
if(flag==0)
printf("该姓名不存在!\n");
break;
c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告我见过太多关于学生管理系统的课程设计报告,这仅仅只是其中之一、希望对你有所帮助。
一、题目学生管理系统的设计与实现二、设计目的和要求1.根据实际需求,实现一个学生管理系统,包括对学生的基本信息的增删改查功能以及成绩查询功能;2.使用C语言编写代码,实现学生管理系统的核心功能;3.界面友好,操作简便,用户可以通过简单的指令实现对学生信息的管理和查询;4.提供用户权限管理,确保只有具备管理员权限的用户才能进行管理操作;三、系统基本功能1.学生信息的增删改查:学生的基本信息包括学号、姓名、性别、年龄等。
管理员可以对这些信息进行增加、删除、修改和查询的操作,方便学生信息的管理;2.成绩查询功能:管理员可以根据学号查询学生的成绩,系统将返回相应的成绩信息;3.用户权限管理:系统将设置管理员账号和密码,只有拥有管理员权限的用户才能进行学生信息的管理操作。
四、系统设计思路1.确定数据结构:创建一个学生结构体,包含学号、姓名、性别、年龄和成绩等信息;2.确定主要函数:设计主菜单函数,用户可以通过选择功能选项来进行不同的操作,如增加学生信息、删除学生信息、修改学生信息、查询学生信息和查询成绩等功能;3.设计增删改查函数:通过逐步引导用户输入信息或选择操作,实现相应功能;4.设计用户权限函数:管理员通过输入正确的用户名和密码,才能登录进入管理界面,否则无法进行管理操作;5.进行函数间的调试和优化,确保代码的完整性和稳定性;6.设计简易界面:通过打印相应的信息和提示,实现用户友好的界面设计。
五、实际实现效果和展示1.用户界面友好,简单易懂,用户能够通过选择相应的功能来实现对学生信息的管理和查询。
2.数据操作准确,能够准确地增加、删除、修改和查询学生信息以及查询学生成绩。
3.用户权限管理严密,只允许管理员进行管理操作,保证了学生信息的安全性。
六、总结和展望通过本次学生管理系统的设计与实现,我深刻感受到了系统设计的重要性和挑战性。
C语言课程设计-大学社团管理系统

C语言课程设计-大学社团管理系统2010/5/29C语言课程设计一、有关变量、结构体的说明:1,对变量的说明:num[]是对成员的学号的定义数组,长度为不超过10个;name[]是对成员的姓名的定义数组,长度不超过20个字符; phone是对成员的手机号的定义,为一长整形;number[]是对活动的队长的学号的定义数组,长度不超过10个字符;nam[]是对活动名称的定义数组,活动名称所占字符不超过30个; date是对活动日期的定义,定义类型为整形。
2,对结构体的说明:在本程序中定义了两个结构体,分别为Member和Activity,分别包含了社团中的成员信息和社团活动信息,这两个结构体分别包含了num[],name[],phone和number[],nam[],date等来实现程序的功能,这些在源文件的注释中都有体现。
3) 对函数的说明:Input,,成员信息输入Display,,显示所有成员信息Sort_by_num,,按照成员学号对成员进行排序Delete_a_record,,删除一条成员信息Query_a_record,,查找并显示一个成员的信息Addfromtext,,从文本文档中添加成员信息Writetotext,,将成员信息写入文本文档C语言课程设计Input_act,,活动信息输入Display_act,,显示所有活动信息Delete_a_act,,删除一条活动记录Query,,查询并显示一条活动信息AddfromText,,从文本文档中读取活动信息WritetoText,,将活动信息写入写入文本文档二、树形结构模块图:三、操作说明:这个程序很容易上手,运行该程序时,在出现的界面上会出现14个选项, 分别为:1,成员信息输入;C语言课程设计 2,显示所有成员记录; 3,将成员按学号排序; 4,删除一条成员信息; 5,成员信息查询;6,从文本文档中读取成员信息; 7,将成员信息写入文本文档; 8,活动信息输入;9,显示所哟活动信息; 10,删除一条活动信息; 11,活动信息查询;12,从文本文档中读取数据; 13,将活动信息写入文本文档; 0,退出系统。
数据库高校社团管理系统设计报告

数据库设计报告——高校社团信息管理系统一、需求分析1.功能需求分析现要开发高校社团信息管理系统。
根据对学校社团管理的调查,详细了解,分析了社团管理的现状,归纳和总结了社团的需求,明确了系统的功能。
其主要功能如下:基础申请:社团的成立、注册、撤销、恢复要向社联申请,每学年开始个社团注册后才能开展活动,社联审核各项申请,社员退出社团要向社团提出申请;社团事物管理:社团活动管理(社团活动的开展要向社联提出申请并经过审核)、评优管理、会员管理、值班管理和制度管理;社团财务管理:包括收入管理、支出管理和物品的管理;查询:有基础查询、社团事物查询、财务查询;核算统计:社团财务统计、物品统计、会员统计;打印:工作证、报表打印;2. 数据流图结构化分析方法绘制数据流程图的基本思想:自顶向下,自外向里,逐步分解。
图1 数据流程图符号说明图2 社团管理系统顶层数据流图学院社团信息管理系统社团管理员社联管理员普通会员社团申请成立、注册、撤销、恢复、活动表社团评优表、财务报表社团评优表、财务报表会员信息表值班安排活动信息工作证图3 社团管理系统第一层数据流图(1)图4 社团管理系统第二层数据流图(2)图5 社团管理系统第二层数据流图(3)图6 社团管理系统第二层数据流图(4)二、数据库系统设计1.概念结构设计根据对系统的分析,可获得系统实体对象之间如下的联系:一个会员可以加入多个社团,一个社团由多个会员组成;一个社团可以举办多次活动,一个会员也能参加多项活动;一个社团可以制定多项制度,会员可以查询各项制度;社团对自己的每个会员进行评优;社联管理每一个社团,审核社团的各项活动;每个社团管理自己的各项财务,社联管理各社团财务核算报表。
图7社团管理系统E-R图图8普通会员实体属性图9社团实体属性图10活动属性图11社联实体属性图12财务实体属性2.逻辑结构设计E-R图转换为关系模式的结果如下所示,其中带下划线的为关键码:普通会员:(会员编码、所属社团、姓名、届时、加入时期、职位、性别、出生日期、所在班级、所在系、寝室号、电话号码、备注)社团:(社团编号、社团全称、社团负责人、社团创始人、主管单位、成立日期、社团性质、社团简介、备注)活动表:(活动编号、活动主题、日期、审核状态、活动负责人、社联监查人员、承办单位、活动内容、备注)社联:(社联届时、社联负责人、办公地点、联系电话、备注)社团评优表:(社团编号、届时、总得分、备注)财务:(社团编号、届时、金额、收入支出性质、经手人、日期、备注)3.物理结构设计数据表结构设计的主要目的是根据逻辑设计的结果,将逻辑模型转换成与选用的数据库系统所支持的数据模型相一致的模型,我选用SQL Server数据库作为本系统的后台数据库。
c语言学生管理系统课程设计报告(一)

c语言学生管理系统课程设计报告(一)C语言学生管理系统课程设计报告1. 项目介绍•课程名称:C语言学生管理系统课程设计•项目类型:学生管理系统•设计时间:2021年1月•设计人员:XXX2. 项目背景•学生管理系统是一种常见的信息管理系统,用于管理学校、学院或班级的学生信息。
•C语言是一种常用的编程语言,具有良好的跨平台性和高效性。
3. 功能需求设计一个C语言学生管理系统,能够实现以下功能:•学生信息录入:输入学生的基本信息,包括学号、姓名、性别、年龄等。
•学生信息查询:根据学号或姓名查询学生的基本信息。
•学生成绩录入:输入学生的各科成绩,包括语文、数学、英语等。
•学生成绩统计:计算学生的总成绩、平均成绩,并根据成绩进行排名。
•学生信息修改:对已有的学生信息进行修改,包括基本信息和成绩信息。
•学生信息删除:根据学号或姓名删除学生的信息。
4. 技术实现在C语言学生管理系统的设计中,使用到以下技术:•结构体:用于定义学生的基本信息,如学号、姓名、性别、年龄等。
•数组:用于存储多个学生的信息。
•文件读写:将学生信息保存到文件中,实现信息的长久保存和读取。
5. 项目结构•主函数:包括用户菜单的选择和对应功能的调用。
•学生信息模块:实现学生信息的录入、查询、修改和删除等功能。
•成绩管理模块:实现学生成绩的录入、统计等功能。
6. 开发流程•需求分析:明确项目需求,确定功能设计。
•系统设计:设计程序的整体结构,划分模块和函数。
•编码实现:使用C语言编写各个模块的代码,并进行调试测试。
•系统测试:对系统进行整体测试,修复错误和漏洞。
•系统部署:将系统部署到目标环境中,进行性能优化和问题排查。
•用户培训:对系统进行使用说明和培训,保证用户能够熟练使用学生管理系统。
7. 总结与展望通过C语言学生管理系统的设计,我学到了很多关于C语言的基础知识和编程技巧。
在项目开发过程中,我充分利用了C语言的特点,编写出高效、稳定的代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高校社团管理系统设计报告一题目要求,内容在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。
为了有效管理这些社团,要求编写程序实现社团招收新成员、修改社团相应信息、老成员离开社团、查询社团情况、统计社团成员数等功能。
二设计思想根据题目要求,定义新的数据类型Club,用于存储社团信息,并采用单链表的方式将不同的社团连接起来,新定义的数据类型Club 中包含结构体数组Member ClubMember[MaxMember],用于存储社团成员信息。
其次,定义了不同的功能函数满足所需的功能要求。
三总体结构(模块结构图,函数功能)四源代码,运行结果#include<stdio.h>#include<stdlib.h>#include<string.h>#define MaxClub 20#define MaxMember 20typedef struct MNode{int num; /*成员学号*/ char name[6]; /*成员姓名*/ char major[8]; /*成员专业*/ char hobby[10]; /*成员爱好*/ }Member;typedef struct CNode{char ClubName[10]; /*社团名字*/char intro[20]; /*社团介绍*/char information[20]; /*社团公告*/int MeNum; /*成员人数*/Member ClubMember[MaxMember]; /*社团成员信息*/struct CNode *next;}Club,*NClub;NClub Initi(NClub C) /*系统初始化*/{C=(NClub)malloc(sizeof(Club));if(!C){printf("\n\t\t\t初始化失败!");exit(0);}C->next=NULL;printf("\n\t\t\t初始化成功!\n"); return C;}int AddClub(NClub C) /*添加社团*/ {int i; char ch;NClub p,q;p=C;for(i=1;i<=MaxClub;i++){q=(NClub)malloc(sizeof(Club));if(!q){printf("\n\t\t\t创建失败!");continue;}printf("\n\t\t\t请输入社团名称:");gets(q->ClubName);fflush(stdin);printf("\n\t\t\t请输入社团介绍:");gets(q->intro);fflush(stdin); printf("\n\t\t\t请输入社团信息:");gets(q->information);fflush(stdin);q->MeNum=0;p->next=q;q->next=NULL;p=q;printf("\n\t\t\t是否继续创建?(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("\n\t\t\t本校社团数已到最大值,不能再添加了!");return 0;}while(p->next) p=p->next;q=(NClub)malloc(sizeof(Club));if(!q){printf("\n\t\t\t创建失败!");return 0;}printf("\n\t\t\t请输入社团名称:");gets(q->ClubName);fflush(stdin);printf("\n\t\t\t请输入社团介绍:");gets(q->intro);fflush(stdin);printf("\n\t\t\t请输入社团信息:");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("\n\t\t\t学校还没有社团!");return 0;}char cn[10],ch;int i,flag;NClub p,q;p=C;printf("\n\t\t\t请输入社团名称:");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("\n\t\t\t没有该社团!");return 0;}q->next=p->next;return 1;}int AddClubMember(NClub C) /*添加社团成员*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;}char cn[10],ch;int i,flag;NClub p;p=C;printf("\n\t\t\t请输入成员所在社团:");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("\n\t\t\t没有该社团!");return 0;}for(i=0;i<MaxMember;i++){printf("\n\t\t\t请输入成员的学号:");scanf("%d",&p->ClubMember[i].num);ffl ush(stdin);printf("\n\t\t\t请输入成员的名字:");gets(p->ClubMember[i].name);fflush(st din);printf("\n\t\t\t请输入成员的专业:");gets(p->ClubMember[i].major);fflush(s tdin);printf("\n\t\t\t请输入成员的爱好:");gets(p->ClubMember[i].hobby);fflush(s tdin);p->MeNum++;printf("\n\t\t\t是否继续添加?(Y/N)\t");ch=getchar();if(ch=='Y') continue;else break; }return 1;}int AddClubNewMember(NClub C) /*添加社团新成员*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;}char cn[10],ch;int i,flag;NClub p;p=C;printf("\n\t\t\t请输入成员所在社团:");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("\n\t\t\t没有该社团!");return 0;}for(i=p->MeNum;i<MaxMember;i++) {printf("\n\t\t\t请输入成员的学号:");scanf("%d",&p->ClubMember[i].num);ffl ush(stdin);printf("\n\t\t\t请输入成员的名字:");gets(p->ClubMember[i].name);fflush(st din);printf("\n\t\t\t请输入成员的专业:");gets(p->ClubMember[i].major);fflush(s tdin);printf("\n\t\t\t请输入成员的爱好:");gets(p->ClubMember[i].hobby);fflush(s tdin);p->MeNum++;printf("\n\t\t\t是否继续添加?(Y/N)\t");ch=getchar();if(ch=='Y') continue;else break;}return 1;}void ClubMemberNum(NClub C) /*统计社团成员人数*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;}int i;NClub p;p=C->next;for(i=0;i<ClubNum(C);i++){printf("\n\t\t\t%s社团共有%d 个成员!\n",p->ClubName,p->MeNum);p=p->next;}}int ChangeClub(NClub C) /*修改社团信息*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;} char cn[10];int i,flag;NClub p;p=C;printf("\n\t\t\t请输入社团名称:");gets(cn);fflush(stdin);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("\n\t\t\t没有该社团!");return 0;}printf("\n\t\t\t请输入社团名称:");gets(p->ClubName);fflush(stdin); printf("\n\t\t\t请输入社团介绍:");gets(p->intro);fflush(stdin);printf("\n\t\t\t请输入社团信息:");gets(p->information);fflush(stdin);return 1;}int ChangeMember(NClub C) /*修改社团成员信息*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;}char cn[10],na[6];int i,flag,sign,y=0;NClub p;p=C;printf("\n\t\t\t请输入成员所在社团:");gets(cn);fflush(stdin);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("\n\t\t\t没有该社团!");return 0;}printf("\n\t\t\t请输入所要修改信息成员的姓名:");gets(na);fflush(stdin);for(i=0;i<MaxMember;i++){if(!strcmp(na,p->ClubMember[i].name)) {sign=1,y++;break;}else sign=0,y++;}if(sign==0) {printf("\n\t\t\t没有这个成员!");return 0;}printf("\n\t\t\t请输入成员的学号:");scanf("%d",&p->ClubMember[y-1].num);f flush(stdin);printf("\n\t\t\t请输入成员的名字:");gets(p->ClubMember[y-1].name);fflush( stdin);printf("\n\t\t\t请输入成员的专业:");gets(p->ClubMember[y-1].major);fflush (stdin);printf("\n\t\t\t请输入成员的爱好:");gets(p->ClubMember[y-1].hobby);fflush (stdin);return 1;}int DelteClubMember(NClub C) /*社团成员退团*/{if(ClubNum(C)==0){printf("\n\t\t\t学校还没有社团!");return 0;}char cn[10],na[6];int i,flag,sign,y=0;NClub p;p=C;printf("\n\t\t\t请输入成员所在社团:");gets(cn);fflush(stdin);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("\n\t\t\t没有该社团!");return 0;}printf("\n\t\t\t请输入所要删除成员的姓名:");gets(na);fflush(stdin);for(i=0;i<MaxMember;i++){if(!strcmp(na,p->ClubMember[i].name)) {sign=1,y++;break;}else sign=0,y++;}if(sign==0) {printf("\n\t\t\t没有这个成员!");return 0;}for(i=y;i<MaxMember;i++){p->ClubMember[i-1]=p->ClubMember[i]; }p->MeNum--;return 1;}int ShowClubInformation(NClub C) /*显示社团信息*/{if(ClubNum(C)==0){printf("\n\t\t\t没有可以显示的信息!\n");return 0;}int i,j;NClub p;p=C->next;for(i=0;p!=NULL;i++){printf("\n\t社团:\n");printf("\n\t\t名称\t介绍\t信息");printf("\n\t\t%-8s\t%-8s\t%-8s\n",p-> ClubName,p->intro,p->information);printf("\n\t社团成员信息:\n");if(p->MeNum==0){printf("\n\t\t该社团还没有成员!\n");p=p->next;continue;}printf("\n\t成员学号\t成员姓名\t成员专业\t成员爱好");for(j=0;j<p->MeNum;j++){ printf("\n\t%-8d\t%-8s\t%-8s\t%-8s\n" ,p->ClubMember[j].num,p->ClubMember[j ].name,p->ClubMember[j].major,p->Club Member[j].hobby);}printf("\n\t========================= ======================\n");p=p->next;}return 1;}void menu(){printf("\n\t\t\t 欢迎进入功能选择菜单\n");printf("\t\t\t======================= \n");printf("\t\t\t 1.系统初始化;\n");printf("\t\t\t 2.创建社团;\n"); printf("\t\t\t 3.添加新社团;\n");printf("\t\t\t 4.修改社团资料;\n");printf("\t\t\t 5.社团注销;\n"); printf("\t\t\t 6.添加社团成员;\n");printf("\t\t\t 7.添加社团新成员;\n");printf("\t\t\t 8.修改社团成员资料;\n");printf("\t\t\t 9.社团成员退团;\n");printf("\t\t\t 10.显示社团信息;\n");printf("\t\t\t 11.统计社团成员人数;\n");printf("\t\t\t 0.结束;\n");printf("\t\t\t======================= \n\n");printf("\t\t\t选择功能:");}main(){NClub C;for(;;){menu();int se;scanf("%d",&se);fflush(stdin);if(se<0||se>11) {printf("\n\t\t\t 输入有误!\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("\n\t\t\t感谢使用!");exit(0);break;}}}五小结通过本次数据结构课程设计的学习以及自己动手的实践,我获益匪浅。