鱼C论坛

 找回密码
 立即注册
查看: 4120|回复: 0

为什么社团管理系统调试不出

[复制链接]
发表于 2016-10-27 20:13:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>

#define  OK        1
#define  ERROR     0
#define  OVERFLOW  -1

typedef int    status;
typedef char   CElemType;
typedef int    ElemType;
typedef struct Link
{
    CElemType num[22]; //学号  
    CElemType name[20]; //姓名  
    CElemType phone[15]; //手机号
    CElemType point[20]; //特征
    CElemType role[10]; //角色  
    ElemType sex; //性别  
    ElemType age; //年龄  
    struct Link *next;  
}LinkList,*PLinkList;

typedef struct MLink
{  
    CElemType ST[20]; //社团名字  
    ElemType len; //社团人数  
    ElemType maxlen; //社团最大人数  
    struct MLink *next;         
}MLinkList,*MPLinkList;  

void menu() //主页面               
{  
    printf("................    主菜单     ................\n");  
    printf("................ 1.新成员入社  ................\n");  
    printf("................ 2.老成员退社  ................\n");  
    printf("................ 3.成员查询    ................\n");  
    printf("................ 4.两个社团并社................\n");
        printf("................ 5.输入社团信息................\n");
    printf("................ 0.退出        ................\n");  
} //menu

void ST(MPLinkList &L)   //输入社团信息
{  
        printf("...............输入社团信息..............\n");
        printf(" 社团名字    当前成员人数     最大人数\n");
    scanf("%s %d %d",L->ST,&L->len,&L->maxlen);  
} //ST  

void Insert(MPLinkList &L) //新成员入社
{
        printf(".......................输入成员信息.....................\n");
        printf("学号    姓名    手机号    特征    角色    性别(0:女 1:男)    年龄\n");
        PLinklist q;
        q=(PLinklist)malloc(sizeof(Linklist));
        q->next=NULL;
        scanf("%s %s %s %s %s %d %d",p->num,p->name,p->phone,p->Point,p->role,&p->sex,&p->age);  
    q->next=L->next;  
    L->next=q;  
    L->len++;  
} //Insert

void Delete(MPLinkList &L) //老成员退社  
{  
        printf("................输入学号................\n");
    char a[20];  
    scanf("%s",a);  
    PLinkList q,p;  
    q=p=L->next;  
    while(p->next!=NULL)   
        if(!strcmp(p->next->num,a))   
            break;
    if(q==p)   
        L->next=NULL;   
    else if(q->next==p||q->next!=NULL)   
        q->next->next=p->next;   
    free(p);  
    L->len--;  
} //Delete  

void show(MPLinkList &L)//成员展示  
{  
        printf("学号   姓名   手机号   特征   角色   性别(0:女 1:男)   年龄\n");  
    PLinkList q;  
    q=L->next;  
    while(q!=NULL)  
    {  
        printf("%s %s %s %s %s %d %d\n",q->num,q->name,q->phone,q->Point,q->role,q->sex,q->age);  
        q=q->next;  
    }  
} //show

void Init(MPLinkList &A,MPLinkList &B)  //初始化表
{  
    B->len=A->len=0;  
    B->maxlen=A->maxlen=0;  
    strcpy(B->ST," ");  
    strcpy(A->ST," ");  
    A->next=NULL;  
    B->next=NULL;  
}  //Init
  
void combine(MPLinkList &A,MPLinkList &B) //两个社团合并  
{  
        printf(".................合并................\n");  
    A->len=A->len+B->len;  
    A->maxlen=A->maxlen+B->maxlen;  
    printf("输入社名\n");  
    scanf("%s",A->ST);  
    PLinkList q;  
    q=A->next;  
    while(q!=NULL&&q->next!=NULL)  
        q=q->next;  
    if(A->next==NULL)  
        A->next=B->next;  
    else  
        q->next=B->next;  
    free(B);  
}  //combine

int main()     //主函数  
{  
        int n;
    MPLinkList A,B;  
    B=A=(MPLinkList)malloc(sizeof(MLinkList));  
    Init(A,B);  
    menu();   
    printf("请输入数字\n");  
    while(scanf("%d",&n)!=EOF&&n>=0&&n<=5)  
    {  
        switch(n)  
        {  
        case 1:  
            {     
                Insert(A); //新成员加入
                break;  
            }  
        case 2:  
            {         
                Delete(A);  //老成员退出
                break;  
            }  
        case 3:  
            {               
                show(A); //显示成员
                break;  
            }  
        case 4:  
            {   
                combine(A,B); //合并  
                break;  
            }  
                case 5:
                        {
                                ST(A);
                                break;
                        }
        case 0:  
            {  
                exit(OK); //退出  
            }  
        }  
    }  
    return 0;  
}  
  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-16 13:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表