m0_65440433 2022-03-09 21:44 采纳率: 33.3%
浏览 46

未完成的代码,为什么运行到那就不运行了,是我的结构体初始化没对吗

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MaxSize1 99
#define MaxSize2 99

//车辆信息
struct Car0
{    
    int id1;//车辆序号
    char name1[20];//车名
    int seat1;//座位
    char color1[20];//颜色
    int number1;//车牌号
    int state1;//状态
}Carr[MaxSize1];


//乘坐信息
struct People0
{
    int id2;//师生序号
    char name2[99];//姓名
    int number2;//学号工号
    char type2[99];//院系
    char time2[99];//乘坐时间
}Peo[MaxSize2];

int main()
{
    void Car1();
    void People1();
    struct Car0 Carr[99]={{101,"Audi",4,"white",10001,0},{102,"Audi",5,"white",10002,0},{103,"Benz",4,"black",10003,0},{104,"Audi",7,"white",10004,0},{105,"Toyota",4,"red",10005,0},{106,"Toyota",4,"red",10006,0},{107,"Toyota",5,"green",10007,0},{108,"Ford",4,"pink",10008,0},{109,"Ford",6,"black",10009,0},{110,"BMW",4,"pink",10010,0},{111,"BMW",4,"white",10011,0},{112,"BMW",4,"red",10012,0},{113,"Ferrari",8,"pink",10013,0},{114,"Ferrari",7,"black",10014,0},{115,"Ferrari",8,"green",10015,0}};//定义车辆初始化
    int a;
    while(true)//循环主界面
    {
    printf("1.车辆信息\n2.乘坐信息\n0.退出系统\n");//输出界面
    scanf("%d",&a);//输入选项
    switch(a)
    {
    case 1:Car1();break;//车辆信息
    case 2:People1();break;//乘坐信息
    case 0:printf("已退出\n");//退出程序
        system("pause");//暂停页面
        exit(0);
        break;
    default:printf("请重新输入。\n");break;//其他则重新输入
    }
    }
    return 0;
}



//车辆信息菜单
void Car1()
{
    void Insert1(int *);//声明插入系统
    void Search1(int);//声明查询系统
    void Update1(int);//声明修改系统
    void Delete1(int*);//声明删除系统
    void Show1(int);//声明显示系统
    int b1;
    int count=0;
    while(true)//循环第二级菜单
    {
    printf("1.录入");
    printf("2.查询");
    printf("3.修改");
    printf("4.删除");
    printf("5.显示");
    printf("6.返回");
    scanf("%d",&b1);
    switch(b1)
    {
            //case 1:printf("1");break;
            //case 2:printf("2");break;
            case 3:printf("3。");break;
            case 4:printf("4。");break;
            case 5:printf("5");break;
            case 6:break;
            default:printf("请重新输入。\n");break;
        case 1:Insert1(&count);break;//插入系统
        case 2:Search1(count);break;//查询系统
        /*case 3:Update1(count);break;//修改系统
        case 4:Delete1(&count);break;//删除系统
        case 5:Show1(count);break;//显示系统
        case 6:break;
        default:printf("请重新输入。");break;*/
    }
    }
}

//师生信息菜单
void People1()
{
    void Insert2(int *);//声明插入系统
    void Search2(int);//声明查询系统
    void Update2(int);//声明修改系统
    void Delete2(int*);//声明删除系统
    void Show2(int);//声明显示系统
    int b1;
    int count=0;
    while(true)//循环第二级菜单
    {
    printf("1.录入");
    printf("2.查询");
    printf("3.修改");
    printf("4.删除");
    printf("5.显示");
    printf("6.返回");
    scanf("%d",&b1);
    switch(b1)
    {
            //case 1:printf("1");break;
            case 2:printf("2");break;
            case 3:printf("3。");break;
            case 4:printf("4。");break;
            case 5:printf("5");break;
            case 6:break;
            default:printf("请重新输入。\n");break;
        case 1:Insert2(&count);break;//插入系统
        /*case 2:Search2(count);break;//查询系统
        case 3:Update2(count);break;//修改系统
        case 4:Delete2(&count);break;//删除系统
        case 5:Show2(count);break;//显示系统
        case 6:break;
        default:printf("请重新输入。");break;*/
    }
    }
}

//车辆插入系统
void Insert1(int *count)
{
    int i,in_number;
    if(*count==MaxSize1)//验证是否满内存
    {
        printf("空间已满\n");
        return;
    }
    printf("请输入编号");
    scanf("%d",&in_number);//输入编号
    for(i=16;i<*count;i++)//检索编号
        if(Carr[i].number1==in_number)//验证号码是否相同
        {
            printf("已经有相同号码\n");//不对则返回
            return;
        }
        Carr[i].number1 =in_number;//编号写入
        printf("请输入车名");
        scanf("%s",Carr[i].name1);//输入车名
            printf("请输入车辆ID");
        scanf("%d",&Carr[i].id1);//输入编号
                printf("请输入颜色");
        scanf("%s",Carr[i].color1);//输入颜色
                printf("请输入座位数");
        scanf("%d",&Carr[i].seat1);//输入座位数
                printf("请输入状态,0为空闲,1为工作");
        scanf("%d",&Carr[i].state1);//输入状态
        (*count)++;
}

//师生插入系统
void Insert2(int *cou)
{
    int c,in_num;
    if(*cou==MaxSize2)//验证是否满内存
    {
        printf("空间已满\n");
        return;
    }
    printf("请输入编号");
    scanf("%d",&in_num);//输入编号
    for(c=16;c<*cou;c++)//检索编号
        if(Peo[c].number2==in_num)//验证号码是否相同
        {
            printf("已经有相同号码\n");//不对则返回
            return;
        }
        Peo[c].number2 =in_num;//编号写入
        printf("请输入车名");
        scanf("%s",Peo[c].name2);//输入师生名
            printf("请输入乘车人ID");
        scanf("%d",&Peo[c].id2);//输入编号
                printf("请输入颜色");
        scanf("%s",Peo[c].type2 );//输入院系
                printf("请输入座位数");
        scanf("%s",&Peo[c].time2);//输入时间
        (*cou)++;
}

//车辆查询系统
void Search1(int count)
{
    int i,temp;
    printf("请输入可查询的信息。例:车牌号,ID,座位数");
    scanf("%d",&temp);
    for(i=0;i<count;i++)//循环检索,到这就不运行了

        if(Carr[i].number1==temp&&Carr[i].id1==temp&&Carr[i].seat1==temp)
        {
            printf("车牌号:%d\n",Carr[i].number1 );
            printf("车名:%s\n",Carr[i].name1 );
            printf("颜色:%s\n",Carr[i].color1);
            printf("ID:%d\n",Carr[i].id1 );
            printf("座位:%d\n",Carr[i].seat1 );
            printf("状态:%d\n",Carr[i].state1);
        }
        else
            printf("没有查询到");
}



img

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2022-03-09 22:12
    关注

    能把问题描述清楚一点么,有些看不懂你的意思

    评论

报告相同问题?

问题事件

  • 创建了问题 3月9日

悬赏问题

  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 写51单片机程序代码,代码好难,需要外部中断还有电子时钟的,还有按键修改电子时钟,请大家积极讨论
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?