大一系统,购买电瓶车用户管理系统。。


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

char adminname[20] = "admin1";
char adminpassword[20] = "a123456";

struct Date
{
    int year;
    int month;
    int day;
};

typedef struct Infor
{
    char name[10];
    char gender[10];
    int age;
    char address[30];
    char buytype[50];
    char color[20];
    double price;
    struct Date date;
    struct Infor *next;
}INFOR,*Pointer;

INFOR infor;

int login(void);
void Menushow(void);
void Add(Pointer infor);
void Modify(Pointer infor);
void Show(Pointer infor);
void Search(Pointer infor);
void Printuser(Pointer infor);
void Del(Pointer infor);
//void Sort(Pointer infor);
//void Loadfromfile(Pointer infor);
void Xuigai(char adminname[],char adminpassword[]);

int login(void)
{
    char username[20]; 
    char userpassword[20];
    printf("请输入用户名:");
    gets(username);
    printf("请输入密码:");
    gets(userpassword);
    
    if(!strcmp(adminname,username) && !strcmp(adminpassword,userpassword))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
void Menushow(void)
{
    int i;
    printf("\n");
    printf("  |----1.增加购买电瓶车用户信息-----|\n");
    printf("  |----2.修改购买电瓶车用户信息-----|\n");
    printf("  |----3.显示购买电瓶车用户信息-----|\n");
    printf("  |----4.查询用户信息---------------|\n");
    printf("  |----5.删除用户信息---------------|\n");
    printf("  |----6.按购买日期进行排序---------|\n");
    printf("  |----7.从文件中读取用户信息-------|\n");
    printf("  |----8.将购买用户信息保存到文件---|\n");
    printf("  |----9.修改密码-------------------|\n");
    printf("  |----10.退出系统------------------|\n");
    printf("\n"); 
    printf("请输入你选择的编号:");
    scanf("%d",&i);
    do
    {
        switch(i)
        {
            case 1:Add(&infor);break;
            case 2:Modify(&infor);break;
            case 3:Show(&infor);break;
            case 4:Search(&infor);break;
            case 5:Del(&infor);break;
            //case 6:Sort(&infor);break;
            //case 7:Loadfromfile(&infor);break;
            //case 8:Save();break;
            //case 9:Xuigai(adminname,adminpassword);break;
            //case 10:Quit();break;
        }
    }while(i < 1 || i > 10);
}
void Add(Pointer infor)
{
    Pointer p;
    static Pointer tail;

    while(1)
    {
        
    
    p = (Pointer)malloc(sizeof(INFOR)); 
    
    if(p == NULL)
    {
        printf("内存分配失败\n");
        exit(1);
    }
    printf("请输入姓名:");
    scanf("%s",p->name );
    printf("请输入性别(男/女):");
    scanf("%s",p->gender );
    printf("请输入年龄:");
    scanf("%d",&p->age);
    printf("请输入地址:");
    scanf("%s",p->address );
    printf("请输入购品牌和型号:");
    scanf("%s",p->buytype );
    printf("请输入购买的颜色:");
    scanf("%s",p->color );
    printf("请输入价格:");
    scanf("%f",&p->price );
    printf("请输入购买时间:(yyyy-mm-dd):");
    scanf("%d-%d-%d",&p->date.year,&p->date.month ,&p->date.day);
    
    
    if(infor != NULL)
    {
        tail->next = p;
        p->next = NULL;
    }
    else
    {
        infor = p;
        p->next = NULL;
    }
    tail = p;
    
    printf("是否继续添加(Y/N)");
    fflush(stdin);
    char isbreak = getchar();
    if(isbreak !='Y' || isbreak != 'y')
        break;
    fflush(stdin);

}
    
}
void Modify(Pointer infor)
{
    Pointer p = infor;
    int flag = 0;
    char sename[20];
    printf("请输入你要修改的用户名字:");
    gets(sename);
    while(p != NULL)
    {
        if(!strcmp(p->name,sename))
        {
            flag = 0;
            break;
         } 
         else
         {
             flag = 1; 
             p = p->next;
         }
    
    }
    if(flag)
    {
        printf("并未查询到该用户的信息T_T\n");
    }
    else
    {
        printf("请输入修改后的信息:\n");
        printf("请输入姓名:");
        scanf("%s",p->name );
        printf("请输入性别(男/女):");
        scanf("%s",p->age );
        printf("请输入年龄:");
        scanf("%d",&p->age);
        printf("请输入地址:");
        scanf("%s",p->address );
        printf("请输入购品牌和型号:");
        scanf("%s",p->buytype );
        printf("请输入购买的颜色:");
        scanf("%s",p->color );
        printf("请输入价格:");
        scanf("%f",p->price );
        printf("请输入购买时间:(yyyy-mm-dd):");
        scanf("%d-%d-%d",&p->date.year,&p->date.month,&p->date.day);
    }
}
void Show(Pointer infor)
{
    Pointer p = infor;
    if(p == NULL)
    {
        printf("暂时还未存入数据!!\n");
        printf("显示失败!!");
    }
    else
    {
        while(p != NULL)
        {
            printf("姓名:%s",p->name);
            printf("性别:%s",p->gender );
            printf("年龄:%d",p->age );
            printf("地址:%s",p->address );
            printf("购买品牌型号:%s",p->buytype );
            printf("颜色:%s",p->color );
            printf("价格:%.2f",p->price );
            printf("购买时间:%d-%d-%d",p->date.year ,p->date.month ,p->date.day);
        }
}
}
void Printuser(Pointer infor)
{
        Pointer p = infor;
        printf("姓名:%s",p->name );
        printf("性别:%s",p->gender );
        printf("年龄:%d",p->age );
        printf("地址:%s",p->address );
        printf("购买品牌型号:%s",p->buytype );
        printf("颜色:%s",p->color );
        printf("价格:%.2f",p->price );
        printf("购买时间:%d-%d-%d",p->date.year ,p->date.month ,p->date.day);
 } 
void Search(Pointer infor)
{
    Pointer p = infor;
    int flag = 0;
    char sename[20];
    printf("请输入你要修改的用户名字:");
    scanf("%s",sename);
    while(p != NULL)
    {
        if(!strcmp(p->name,sename))
        {
            printf("已找到相关信息!!\n");
            Printuser(infor);
         }
         else
         {    
             p = p->next;
         }
    
    }
    if(flag)
    {
        printf("并未查询到该用户的信息T_T\n");
    }
    else
    {
        char choi;
        printf("是否显示该用户信息(Y/N):");
        scanf("%c",choi);
        if(choi == 'Y')
        {
            printf("姓名:%s",p->name);
            printf("性别:%s",p->gender );
            printf("年龄:%d",p->age );
            printf("地址:%s",p->address );
            printf("购买品牌型号:%s",p->buytype );
            printf("颜色:%s",p->color );
            printf("价格:%.2f",p->price );
            printf("购买时间:%d-%d-%d",p->date.year ,p->date.month ,p->date.day);
         } 
         else
         {
             printf("请按任意键继续\n");
             getchar();
         }
    }
}
void Del(Pointer infor)
{
    Pointer previous,current,new;
    
    current = infor;
    previous = NULL;
    
    char delname[20];
    printf("请输入你要删除的用户姓名:");
    gets(delname);
    
    while(strcmp(delname,current->name) && current != NULL)
    {
        previous = current;
        current = current->next ;
    }
    if(current == NULL)
    {
        printf("并未找到该用户的信息");
        return ;
    }
    else
    {
        if(previous == NULL)
        {
            infor = current->next ;
        }
        else
        {
            previous->next = current->next ;
        }
        printf("删除成功");
        free(current);
    }
}

void Sort(Pointer infor)
{
    ;
}
void Loadfromfile(Pointer infor)
{
    ;
}
void Xuigai(char adminname[],char adminpassword[])
{
    char username[20];
    char userpassword[20];
    do{
        printf("请输入用户名:");
        gets(username);
        printf("请输入密码:");
        gets(userpassword);    
        if(!strcmp(adminname,username) && !strcmp(adminpassword,userpassword))
        {
            do{
                
                printf("请输入修改后的用户名:");
                gets(adminname);
                printf("请输入密码:");
                gets(adminpassword);
                printf("请再次输入密码:");
                gets(userpassword);
                
            }while(strcmp(userpassword,adminpassword));    
        }
    }while(strcmp(adminname,username) || strcmp(adminpassword,userpassword));
    printf("修改完毕");

}


int main(void)
{
    int count = 3;
    while(1)
    {
        if(login())
        {
            printf("\n欢迎使用电瓶车信息管理系统^_^");
            printf("\n登陆成功\n");
            
            while(1)
            {
                Menushow();
            }
            
        }
        else
        {
            count -= 1;
            printf("用户或密码输入错误\n请重新输入");
            if (count  == 0)
            {
                printf("用户名或密码输入错误超过3次\n系统自动退出\n");
                break;
            }
            else
            {
                printf("你还有%d次机会\n",count);
            }
        }
    }
    
    
    return 0;
}
大一快期末考了,做了个通讯录用户管理系统但是第一个插入函数就不行了,输入完就自动结束了,这乍回事,求解答

编译运行实况

请输入用户名:admin1
请输入密码:a123456

欢迎使用电瓶车信息管理系统^_^
登陆成功

  |----1.增加购买电瓶车用户信息-----|
  |----2.修改购买电瓶车用户信息-----|
  |----3.显示购买电瓶车用户信息-----|
  |----4.查询用户信息---------------|
  |----5.删除用户信息---------------|
  |----6.按购买日期进行排序---------|
  |----7.从文件中读取用户信息-------|
  |----8.将购买用户信息保存到文件---|
  |----9.修改密码-------------------|
  |----10.退出系统------------------|

请输入你选择的编号:1
请输入姓名:12
请输入性别(男/女):男
请输入年龄:18
请输入地址:都叫我i的
请输入购品牌和型号:就安慰i都
请输入购买的颜色:白色
请输入价格:3000
请输入购买时间:(yyyy-mm-dd):2021-02-28

--------------------------------
Process exited after 40.31 seconds with return value 3221225477
请按任意键继续. . .

```c



```