那个大佬给看一下,哪里不对了

weixin_47641951 2021-03-04 12:25:57
#include<stdio.h>#include<string.h>#include<math.h>#define MAX 1000typedef struct man { char name[10]; char sex[10]; int plone_Num; int add_Num; int bangong_Num; int E_mail;}list;typedef struct men{ struct man list[MAX]; int count;}men;struct men book;int find(men *p, char*name) { int i = 0; for (; i <= (p->count); i++) { if (strcmp(p->list[i].name, name) == 0) { return i; } } return -1;}void main(){ void a(men *p); void b(men *p); void c(men *p); void d(men *p); void e(men *p); void e(men *p); int n; while(n!=7) { printf("\t-----------菜单-----------\n"); printf("****************************\n"); printf("1:----------添加-----------\n"); printf("2:----------删除-----------\n"); printf("3:----------查询-----------\n"); printf("4:----------修改-----------\n"); printf("5:----------显示.txt-------\n"); printf("6:----------清空-----------\n"); printf("7:--------退出系统---------\n"); printf("输入选项代码:"); scanf("%d",&n); switch(n) { case 1:a(&book);break; case 2:b(&book);break; case 3:c(&book);break; case 4:d(&book);break; case 5:e(&book);break; case 6:e(&book);break; case 7:printf("\n*******************谢谢使用!*******************\n");break; break; } }getchar();}void a(men *p) //添加{ if ((p->count) > MAX) { printf("通讯录已满!!!"); } else { printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n"); scanf("%s %s %d %d %d %d", (p->list[p->count]).name, p->list[p->count].sex, &p->list[p->count].plone_Num, p->list[p->count].add_Num, p->list[p->count]).bangong_Num,p->list[p->count]).E_meil ); } p->count++; book.count = 0;}void b(men *p) //删除{ char name[10] = { 0 }; int ret; printf("请输入要删除的联系人:"); scanf("%s", &name); ret = find(p, name); if (ret == -1) { printf("该联系人不存在!!!"); } else { int j = ret; for (; j < p->count; j++) { p->list[j] = p->list[j + 1]; } printf("已删除!!!\n"); } p->count--; book.count = 0;}void c(men *p) //查找{ char name[10] = { 0 }; int ret; printf("请输入要查询的联系人:"); scanf("%s", &name); ret = find(p, name); if (ret == -1) { printf("该联系人不存在!!!\n"); } else { printf("姓名:%s\n", p->list[ret].name); printf("性别:%s\n", p->list[ret].sex); printf("电话:%d\n", p->list[ret].plone_Num); printf("住宅电话:%d\n", p->list[ret].add_Num); printf("工作电话:%d\n", p->list[ret].bangong_Num); printf("E-mail:%d\n", p->list[ret].E_mail); } book.count = 0;}void d(men *p) //修改{ char name[10] = { 0 }; int ret; printf("请输入要修改的联系人:"); scanf("%s", &name); ret = find(p, name); if (ret == -1) { printf("该联系人不存在!!!\n"); } else { printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n"); scanf("%s %s %d %d %d %d", (p->list[ret]).name, p->list[ret].sex, &p->list[ret].plone_Num, p->list[ret].add_Num, &p->list[ret].bangong_Num,&p->list[ret].E_mail ); } book.count = 0;}void e(men *p) //显示{ int i = 0; for (; i < p->count; i++) { printf("姓名:%s\n", p->list[i].name); printf("性别:%s\n", p->list[i].sex); printf("电话:%d\n", p->list[i].plone_Num); printf("住宅电话:%d\n", p->list[i].add_Num); printf("工作电话:%d\n", p->list[i].bangong_Num); printf("E-mail:%d\n", p->list[i].E_mail); } book.count = 0;}void f(men *p) //清空{ p->count = 0; book.count = 0;}
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
qzjhjxj 2021-03-04
  • 打赏
  • 举报
回复
补充修正错误:
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000

typedef struct man{
   char name[10];
   char sex[10];
    int age;    //少了年龄
    int plone_Num;
    int add_Num;
    int bangong_Num;
    int E_mail; //E_mail;更适合用字符数组
}list;

typedef struct men{
    //struct man list[MAX];
      list list[MAX];
      int  count;
}men;
//struct men book;
men book;

int find(men *p, char*name)
{
    int i = 0;
    for (; i <= (p->count); i++)
        {
           if (strcmp(p->list[i].name, name) == 0)
               {
                 return i;
               }
        }
    return -1;
}

void main()
{
    void a(men *p);
    void b(men *p);
    void c(men *p);
    void d(men *p);
    void e(men *p);
    void f(men *p);
    book.count=0;
    int  n=1;
    while(n!=7){
          printf("\n-----------菜单-----------\n");
          printf("****************************\n");
          printf("1:----------添加-----------\n");
          printf("2:----------删除-----------\n");
          printf("3:----------查询-----------\n");
          printf("4:----------修改-----------\n");
          printf("5:----------显示.txt-------\n");
          printf("6:----------清空-----------\n");
          printf("7:--------退出系统---------\n");
          printf("输入选项代码:");
          fflush(stdout);
          rewind(stdin);
          scanf("%d",&n);
          switch(n){
                   case 1:a(&book);break;
                   case 2:b(&book);break;
                   case 3:c(&book);break;
                   case 4:d(&book);break;
                   case 5:e(&book);break;
                   case 6:f(&book);break;
                   case 7:printf("\n*******************谢谢使用!*******************\n");
                          break;
                          //break;
          }
          //getchar();
    }
    
}

void a(men *p)  //添加
{
    if ((p->count) > MAX)
       {
         printf("通讯录已满!!!");
       }
    else{
         printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
         scanf("%s %s %d %d %d %d %d", p->list[p->count].name, p->list[p->count].sex,&p->list[p->count].age,
                                   &p->list[p->count].plone_Num,&p->list[p->count].add_Num,
                                   &p->list[p->count].bangong_Num,&p->list[p->count].E_mail);
    }
    p->count++;
    //book.count = 0;
}

void b(men *p)   //删除
{
    char name[10] = { 0 };
    int  ret;
    printf("请输入要删除的联系人:");
    fflush(stdout);
    rewind(stdin);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!");
       }
    else { int j = ret;
        for (; j < p->count; j++)
            {
              p->list[j] = p->list[j + 1];
            }
        printf("已删除!!!\n");
    }
    p->count--;
    //book.count = 0;
}

void c(men *p) //查找
{
    char name[10] = { 0 };
     int ret;
    printf("请输入要查询的联系人:");
    fflush(stdout);
    rewind(stdin);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!\n");
       }
    else {
         printf("姓名:%s\n", p->list[ret].name);
         printf("性别:%s\n", p->list[ret].sex);
         printf("年龄:%d\n", p->list[ret].age);
         printf("电话:%d\n", p->list[ret].plone_Num);
         printf("住宅电话:%d\n", p->list[ret].add_Num);
         printf("工作电话:%d\n", p->list[ret].bangong_Num);
         printf("E-mail:%d\n", p->list[ret].E_mail);
    }
   //book.count = 0;
}

void d(men *p)  //修改
{
    char name[10] = { 0 };
    int  ret;
    printf("请输入要修改的联系人:");
    fflush(stdout);
    rewind(stdin);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!\n");
       }
    else {
         printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
         scanf("%s %s %d %d %d %d %d",p->list[ret].name, p->list[ret].sex,&p->list[ret].age,
                                   &p->list[ret].plone_Num,&p->list[ret].add_Num,
                                   &p->list[ret].bangong_Num,&p->list[ret].E_mail);
    }
   //book.count = 0;
}

void e(men *p) //显示
{
    int i = 0;
    for (; i < p->count; i++)
        {
          printf("姓名:%s\n", p->list[i].name);
          printf("性别:%s\n", p->list[i].sex);
          printf("年龄:%d\n", p->list[i].age);
          printf("电话:%d\n", p->list[i].plone_Num);
          printf("住宅电话:%d\n", p->list[i].add_Num);
          printf("工作电话:%d\n", p->list[i].bangong_Num);
          printf("E-mail:%d\n", p->list[i].E_mail);
        }
    //book.count = 0;
}

void f(men *p)  //清空
{
    p->count = 0;
    //book.count = 0;
}
qzjhjxj 2021-03-04
  • 打赏
  • 举报
回复
修正楼上,第132行和133行间插入一行:
printf("年龄:%d\n", p->list[ret].age);
第169行和170行间插入一行:
printf("年龄:%d\n", p->list[i].age);
qzjhjxj 2021-03-04
  • 打赏
  • 举报
回复
实现功能,供参考:
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000

typedef struct man{
   char name[10];
   char sex[10];
    int age;    //少了年龄
    int plone_Num;
    int add_Num;
    int bangong_Num;
    int E_mail; //E_mail更适合用字符型数组
}list;

typedef struct men{
    //struct man list[MAX];
      list list[MAX];
      int  count;
}men;
//struct men book;
men book;

int find(men *p, char*name)
{
    int i = 0;
    for (; i <= (p->count); i++)
        {
           if (strcmp(p->list[i].name, name) == 0)
               {
                 return i;
               }
        }
    return -1;
}

void main()
{
    void a(men *p);
    void b(men *p);
    void c(men *p);
    void d(men *p);
    void e(men *p);
    void f(men *p);
    book.count=0;
    int  n=1;
    while(n!=7){
          printf("\n-----------菜单-----------\n");
          printf("****************************\n");
          printf("1:----------添加-----------\n");
          printf("2:----------删除-----------\n");
          printf("3:----------查询-----------\n");
          printf("4:----------修改-----------\n");
          printf("5:----------显示.txt-------\n");
          printf("6:----------清空-----------\n");
          printf("7:--------退出系统---------\n");
          printf("输入选项代码:");
          fflush(stdin);
          rewind(stdout);
          scanf("%d",&n);
          switch(n){
                   case 1:a(&book);break;
                   case 2:b(&book);break;
                   case 3:c(&book);break;
                   case 4:d(&book);break;
                   case 5:e(&book);break;
                   case 6:f(&book);break;
                   case 7:printf("\n*******************谢谢使用!*******************\n");
                          break;
                          //break;
          }
          //getchar();
    }
    
}

void a(men *p)  //添加
{
    if ((p->count) > MAX)
       {
         printf("通讯录已满!!!");
       }
    else{
         printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
         scanf("%s %s %d %d %d %d %d", p->list[p->count].name, p->list[p->count].sex,&p->list[p->count].age,
                                   &p->list[p->count].plone_Num,&p->list[p->count].add_Num,
                                   &p->list[p->count].bangong_Num,&p->list[p->count].E_mail);
    }
    p->count++;
    //book.count = 0;
}

void b(men *p)   //删除
{
    char name[10] = { 0 };
    int  ret;
    printf("请输入要删除的联系人:");
    fflush(stdin);
    rewind(stdout);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!");
       }
    else { int j = ret;
        for (; j < p->count; j++)
            {
              p->list[j] = p->list[j + 1];
            }
        printf("已删除!!!\n");
    }
    p->count--;
    //book.count = 0;
}

void c(men *p) //查找
{
    char name[10] = { 0 };
     int ret;
    printf("请输入要查询的联系人:");
    fflush(stdin);
    rewind(stdout);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!\n");
       }
    else {
         printf("姓名:%s\n", p->list[ret].name);
         printf("性别:%s\n", p->list[ret].sex);
         printf("电话:%d\n", p->list[ret].plone_Num);
         printf("住宅电话:%d\n", p->list[ret].add_Num);
         printf("工作电话:%d\n", p->list[ret].bangong_Num);
         printf("E-mail:%d\n", p->list[ret].E_mail);
    }
   //book.count = 0;
}

void d(men *p)  //修改
{
    char name[10] = { 0 };
    int  ret;
    printf("请输入要修改的联系人:");
    fflush(stdin);
    rewind(stdout);
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1)
       {
         printf("该联系人不存在!!!\n");
       }
    else {
         printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
         scanf("%s %s %d %d %d %d %d",p->list[ret].name, p->list[ret].sex,&p->list[ret].age,
                                   &p->list[ret].plone_Num,&p->list[ret].add_Num,
                                   &p->list[ret].bangong_Num,&p->list[ret].E_mail);
    }
   //book.count = 0;
}

void e(men *p) //显示
{
    int i = 0;
    for (; i < p->count; i++)
        {
          printf("姓名:%s\n", p->list[i].name);
          printf("性别:%s\n", p->list[i].sex);
          printf("电话:%d\n", p->list[i].plone_Num);
          printf("住宅电话:%d\n", p->list[i].add_Num);
          printf("工作电话:%d\n", p->list[i].bangong_Num);
          printf("E-mail:%d\n", p->list[i].E_mail);
        }
    //book.count = 0;
}

void f(men *p)  //清空
{
    p->count = 0;
    //book.count = 0;
}
赵4老师 2021-03-04
  • 打赏
  • 举报
回复
仅帮整理格式和消除编译错误:
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000
typedef struct man {
    char name[10];
    char sex[10];
    int plone_Num;
    int add_Num;
    int bangong_Num;
    int   E_mail;
} list;
typedef struct men {
    struct man list[MAX];
    int count;
} men;
void a(men *p);
void b(men *p);
void c(men *p);
void d(men *p);
void e(men *p);
void e(men *p);
struct men book;
int find(men *p, char*name)  {
    int i = 0;
    for (;i <= (p->count);i++) {
        if (strcmp(p->list[i].name, name) == 0) {
            return i;
        }
    }
    return -1;
}
int main() {
    int n=0;
    while(n!=7) {
        printf("\t-----------菜单-----------\n");
        printf("****************************\n");
        printf("1:----------添加-----------\n");
        printf("2:----------删除-----------\n");
        printf("3:----------查询-----------\n");
        printf("4:----------修改-----------\n");
        printf("5:----------显示.txt-------\n");
        printf("6:----------清空-----------\n");
        printf("7:--------退出系统---------\n");
        printf("输入选项代码:");
        scanf("%d",&n);
        switch(n) {
        case 1:a(&book);
            break;
        case 2:b(&book);
            break;
        case 3:c(&book);
            break;
        case 4:d(&book);
            break;
        case 5:e(&book);
            break;
        case 6:e(&book);
            break;
        case 7:printf("\n*******************谢谢使用!*******************\n");
            break;
            break;
        }
    }
    getchar();
    return 0;
}
void a(men *p)  //添加
{
    if ((p->count) > MAX) {
        printf("通讯录已满!!!");
    } else {
        printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
        scanf("%s %s %d %d %d %d",
            p->list[p->count].name,
            p->list[p->count].sex,
           &p->list[p->count].plone_Num,
           &p->list[p->count].add_Num,
           &p->list[p->count].bangong_Num,
           &p->list[p->count].E_mail);
    }
    p->count++;
    book.count = 0;
}
void b(men *p)   //删除
{
    char name[10] = {
                        0 }
                    ;
    int ret;
    printf("请输入要删除的联系人:");
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1) {
        printf("该联系人不存在!!!");
    } else {
        int j = ret;
        for (;j < p->count;j++) {
            p->list[j] = p->list[j + 1];
        }
        printf("已删除!!!\n");
    }
    p->count--;
    book.count = 0;
}
void c(men *p) //查找
{
    char name[10] = {
                        0 }
                    ;
    int ret;
    printf("请输入要查询的联系人:");
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1) {
        printf("该联系人不存在!!!\n");
    } else {
        printf("姓名:%s\n", p->list[ret].name);
        printf("性别:%s\n", p->list[ret].sex);
        printf("电话:%d\n", p->list[ret].plone_Num);
        printf("住宅电话:%d\n", p->list[ret].add_Num);
        printf("工作电话:%d\n", p->list[ret].bangong_Num);
        printf("E-mail:%d\n", p->list[ret].E_mail);
    }
    book.count = 0;
}
void d(men *p)  //修改
{
    char name[10] = {
                        0 }
                    ;
    int ret;
    printf("请输入要修改的联系人:");
    scanf("%s", &name);
    ret = find(p, name);
    if (ret == -1) {
        printf("该联系人不存在!!!\n");
    } else {
        printf("姓名 性别 年龄 手机 住宅电话 办公电话 E_mail\n");
        scanf("%s %s %d %d %d %d",
            p->list[ret].name,
            p->list[ret].sex,
           &p->list[ret].plone_Num,
           &p->list[ret].add_Num,
           &p->list[ret].bangong_Num,
           &p->list[ret].E_mail);
    }
    book.count = 0;
}
void e(men *p) //显示
{
    int i = 0;
    for (;i < p->count;i++) {
        printf("姓名:%s\n", p->list[i].name);
        printf("性别:%s\n", p->list[i].sex);
        printf("电话:%d\n", p->list[i].plone_Num);
        printf("住宅电话:%d\n", p->list[i].add_Num);
        printf("工作电话:%d\n", p->list[i].bangong_Num);
        printf("E-mail:%d\n", p->list[i].E_mail);
    }
    book.count = 0;
}
void f(men *p)  //清空
{
    p->count = 0;
    book.count = 0;
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧