橋场恭也 2021-02-21 18:24 采纳率: 0%
浏览 24

想做了一个简单的图书馆系统,准备用动态数组来解决的,发现编译不出来,不知道哪里出了问题。

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int n;
void input();
void check();
void deletes();
void revise();
void sort();
void output();
struct adds
{
    char name[50];/*姓名*/
    char address[50];/*家庭地址*/
    int  phone;/*个人电话*/
    int  post;/*家庭邮编*/
    char mail[50];/*家庭e—mail*/
}ads;
void menu()
{
    printf("****进入菜单****\n");
    printf("1. 添加个人信息\n");
    printf("2. 查询个人信息\n");
    printf("3. 删除个人信息\n");
    printf("4. 修改个人信息\n");
    printf("5. 信息排序\n");
    printf("6. 输出全部信息\n");
    printf("0. 退出\n");
    printf("****************\n");
}
int main()
{
    int i;
    struct adds *p;
    scanf("%d",&n);
    p = (struct adds *)malloc (sizeof(struct adds)*n);
    while(1)
    {
    menu();
    printf("please your sel:\n");
    scanf("%d",&i);
    switch(i)
    {
        case 1:input();break;
        case 2:check();break;
        case 3:deletes();break;
        case 4:revise();break;
        case 5:sort();break;
        case 6:output();break;
        case 0:exit(0);break;
    }
    } 
    free(p);
    return 0;

void input(struct adds s[])
{
    int i; 
    for(i=0;i<n;i++)
    {
        printf("输入姓名:\n");
        scanf("%s",s[i].name);
        getchar();
        printf("输入家庭住址:\n");
        scanf("%s",s[i].address);
        getchar();
        printf("输入手机号码:PS:手机号码11位哦,亲\n");
        scanf("%d",&s[i].phone);
        getchar();
        printf("输入邮编:PS:邮编为6位哦\n");
        scanf("%d",&s[i].post);
        getchar();
        printf("输入你的E.mail:PS:记得包含@字符,且@两边都非空哦。\n");
        scanf("%s",s[i].mail); 
        getchar();
     } 
}
void check()
{
    int i;
    printf("请问你想查谁的信息,请告诉我们 她 或者是 他 其中一条信息,我们会帮你锁定 他 或者是 她 my master\n");
    printf("1为姓名,2为家庭住址,3为手机号码,4为邮编,5为email\n");
    scanf("%d",&i);
    switch(i)
    {
        case 1:break; 
        case 2:break; 
        case 3:break; 
        case 4:break; 
        case 5:break; 
            }        
}
void deletes()
{
}
void revise()
{
    
}
void sort()
{
    
}
void output(struct adds s[])
{
    int i;
    for(i=0;i<n;i++)
    {    
        printf("姓名:%s\n家庭地址:%s\n手机号码:%d\n邮编:%d\n它的e-mail:%s",s[i].name,s[i].address,s[i].phone,s[i].post,s[i].mail);
        printf("\n");}
}

  • 写回答

2条回答 默认 最新

  • piaoyiren 2021-02-21 19:12
    关注

    #include <stdio.h>
    #include <string.h>
    #include <windows.h>
    #include <stdlib.h>
    int n;
    void input();
    void check();
    void deletes();
    void revise();
    void sort();
    void output();
    struct adds
    {
        char name[50];/*姓名*/
        char address[50];/*家庭地址*/
        int  phone;/*个人电话*/
        int  post;/*家庭邮编*/
        char mail[50];/*家庭e—mail*/
    }ads;
    void menu()
    {
        printf("****进入菜单****\n");
        printf("1. 添加个人信息\n");
        printf("2. 查询个人信息\n");
        printf("3. 删除个人信息\n");
        printf("4. 修改个人信息\n");
        printf("5. 信息排序\n");
        printf("6. 输出全部信息\n");
        printf("0. 退出\n");
        printf("****************\n");
    }

    void input(struct adds s[])
    {
        int i; 
        for(i=0;i<n;i++)
        {
            printf("输入姓名:\n");
            scanf("%s",s[i].name);
            getchar();
            printf("输入家庭住址:\n");
            scanf("%s",s[i].address);
            getchar();
            printf("输入手机号码:PS:手机号码11位哦,亲\n");
            scanf("%d",&s[i].phone);
            getchar();
            printf("输入邮编:PS:邮编为6位哦\n");
            scanf("%d",&s[i].post);
            getchar();
            printf("输入你的E.mail:PS:记得包含@字符,且@两边都非空哦。\n");
            scanf("%s",s[i].mail); 
            getchar();
         } 
    }
    void check()
    {
        int i;
        printf("请问你想查谁的信息,请告诉我们 她 或者是 他 其中一条信息,我们会帮你锁定 他 或者是 她 my master\n");
        printf("1为姓名,2为家庭住址,3为手机号码,4为邮编,5为email\n");
        scanf("%d",&i);
        switch(i)
        {
            case 1:break; 
            case 2:break; 
            case 3:break; 
            case 4:break; 
            case 5:break; 
                }        
    }
    void deletes()
    {
    }
    void revise()
    {
        
    }
    void sort()
    {
        
    }
    void output(struct adds s[])
    {
        int i;
        for(i=0;i<n;i++)
        {    
            printf("姓名:%s\n家庭地址:%s\n手机号码:%d\n邮编:%d\n它的e-mail:%s",s[i].name,s[i].address,s[i].phone,s[i].post,s[i].mail);
            printf("\n");}
    }
    int main()
    {
        int i;
        struct adds *p;
        scanf("%d",&n);
        p = (struct adds *)malloc (sizeof(struct adds)*n);
        menu();
        while(1)
        {
        
        printf("please your sel:\n");
        scanf("%d",&i);
        switch(i)
        {
            case 1:input(p);break;
            case 2:check();break;
            case 3:deletes();break;
            case 4:revise();break;
            case 5:sort();break;
            case 6:output(p);break;
            case 0:exit(0);break;
        }
        } 
        free(p);
        return 0;

    评论

报告相同问题?