鹤霄-丰 2021-03-09 22:55 采纳率: 0%
浏览 51

求求各位大佬了,救救孩子吧,这咋改啊?

main.c——---------——————————————————

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

#include"input.h"

#include"extern.h"


int main(int argc, char *argv[]) {
    char O = '#';
    while (O != 'Y') {
        O = menu();
        switch (O) {
        case'A':A_add(); break;
        case'B':B_seek(); break;
        case'C':C_edit(); break;
        case'D':D_del(); break;
        case'Y':break;
        default:printf("错误的命令!!!");
        }
        if (O != 'Y') {
            printf("\n请按任意键继续......"); getch();
        }
    }
    return 0;
}

input.c————————————————


#include"extern.h"

void  print_() {
    int i;
    for (i=0;i<m;i++) {
        printf("第%d位联系人  ", i + 1);
        printf("姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d\n", s[i].name, s[i].job, s[i].Homephone, s[i].mailbox, s[i].number);
    }
}
void A_add() {
    printf("\n请输入要添加的联系人的姓名:"); gets(s[m].name);
    printf("\n请输入要添加的联系人的工作:"); gets(s[m].job);
    printf("\n请输入要添加的联系人的邮箱:"); gets(s[m].mailbox);
    printf("\n请输入要添加的联系人的家庭电话:"); scanf("%d", &s[m].Homephone);
    printf("\n请输入要添加的联系人的手机号码:"); scanf("%d", &s[m].number);
    m++;
    print_();
}
void  B_seek_A() {
    char a[40]; int i, j = -1;
    printf("\n请输入要查找的姓名:"); gets(a);
    for (i = 0; i < m; i++) {
        if (strcmp(a, s[i].name) == 0) j = i;
    }
    if (j != -1) {
        printf("\n查找成功......"); printf("\n姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d", s[j].name, s[j].job, s[j].Homephone, s[j].mailbox, s[j].number);
        h = j;
    }
    else printf("\n查无此人......");
}
void  B_seek_B() {
    char a[40]; int i, j = -1;
    printf("\n请输入要查找的工作:"); gets(a);
    for (i = 0; i < m; i++) {
        if (strcmp(a, s[i].job) == 0) j = i;
    }
    if (j != -1) {
        h = j;
        printf("\n查找成功......"); printf("\n姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d/n", s[j].name, s[j].job, s[j].Homephone, s[j].mailbox, s[j].number);
    }
    else printf("\n查无此人......");

}
void  B_seek_C() {
    int i, n, j = -1;
    printf("\n请输入要查找的家庭电话:"); scanf("%d", &n);
    for (i = 0; i < m; i++) {
        if (n == s[i].Homephone) j = i;
    }
    if (j != -1) {
        h = j;
        printf("\n查找成功......"); printf("\n姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d/n", s[j].name, s[j].job, s[j].Homephone, s[j].mailbox, s[j].number);
    }
    else printf("\n查无此人......");

}
void  B_seek_D() {
    char a[40]; int i, j = -1;
    printf("\n请输入要查找的邮箱:"); gets(a);
    for (i = 0; i < m; i++) {
        if (strcmp(a, s[i].mailbox) == 0) j = i;
    }
    if (j != -1) {
        h = j;
        printf("\n查找成功......"); printf("\n姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d/n", s[j].name, s[j].job, s[j].Homephone, s[j].mailbox, s[j].number);
    }
    else printf("\n查无此人......");
}
void  B_seek_E() {
    int i, n, j = -1;
    printf("\n请输入要查找的电话号码:"); scanf("%d", &n);
    for (i = 0; i < m; i++) {
        if (n == s[i].number) j = i;
    }
    if (j != -1) {
        h = j;
        printf("\n查找成功......"); printf("\n姓名:%s,工作:%s,家庭电话:%d,邮箱:%s,手机号码:%d/n", s[j].name, s[j].job, s[j].Homephone, s[j].mailbox, s[j].number);
    }
    else printf("\n查无此人......");

}
void  B_seek() {
    char p;
    printf("\n请输入您的查找方式:A.姓名 B.工作 C.家庭电话  D.邮箱 E.电话号码 ");
    p = getche(); p = p - 32;
    switch (p) {
    case'A':B_seek_A(); break;
    case'B':B_seek_B(); break;
    case'C':B_seek_C(); break;
    case'D':B_seek_D(); break;
    case'E':B_seek_E(); break;
    default:printf("错误的命令!!!");
    }

}
void  C_edit() {
    printf("\n请先查找要编辑的联系人......");
    B_seek(); char n;
    printf("\n请输入要编辑的选项:A.姓名 B.工作 C.家庭电话  D.邮箱 E.电话号码:");
    n = getche(); 
    n = n - 32;
    printf("\n请输入编辑后的内容:");
    switch (n) {
    case'A':gets(s[h].name); break;
    case'B':gets(s[h].job); break;
    case'C':scanf("%d", &s[h].Homephone); break;
    case'D':gets(s[h].mailbox); break;
    case'E':scanf("%d", &s[h].number); break;
    default:printf("错误的命令.......");
    }
}
void  D_del() {
    printf("\n请先查找要删除的联系人......");
    B_seek(); int v;
    for (v = h; v < m; v++) {
        s[v] = s[v + 1];
    }
    printf("\n删除成功......"); print_();
}
int menu() {
    char c;
    printf("\n                   **************************************************\n");
    printf("                   **  A.增加                                B.查找**\n");
    printf("                   **  C.编辑                                D.删除**\n");
    printf("                   *********************Y.退出程序*******************\n");
    printf("请输入您的选择:");
    c = getche();
    if (c >= 'a'&&c <= 'z') c = c - 32;
    return c;
}

input.h————————————————

#ifndef __MY_INPUT_H_
#define __MY_INPUT_H_

void  print_();
void  A_add();
void  B_seek_A();
void  B_seek_B();
void  B_seek_C();
void  B_seek_D();
void  B_seek_E();
void  B_seek();
void  C_edit();
void  D_del();
int   menu();


#endif

 

extern.h————————————————

#ifndef EXTERN_H_INCLUDED
#define EXTERN_H_INCLUDED

struct stu {
    char  name[40];
    char  job[40];
    int   Homephone;
    char  mailbox[40];
    int   number;
}s[100]= {
     {"xiao li","doctor",123456,"qwert",152123456},
     {"xiao ming","teacher",456789,"tyuiop",137123456},
     {"xiao qiang","worker",789123,"asdf",188123456},
     {"xiao hong","driver",789456,"ghjkl",133123456},
};
int h;
int m=4;


#endif // EXTERN_H_INCLUDED

——————————————————————————————————————————

错误太多了 /(ㄒoㄒ)/~~   救救孩子吧

  • 写回答

2条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-03-09 23:17
    关注

    第一个错误是什么? 请把它写出来。 

    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示