闪退,还没执行完就不执行了,还没写完的代码

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<stdlib.h>
#include<string>
#define MaxSize1 99
#define MaxSize2 99

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

int main()
{
    void Car1();
    void People1();
    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;
}



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

//车辆信息菜单
void Car1()
{
    void Insert(int *);//声明插入系统
    void Search(int);//声明查询系统
    void Update(int);//声明修改系统
    void Delete(int*);//声明删除系统
    void Show(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:Insert(&count);break;//插入系统
        /*case 2:Search(count);break;//查询系统
        case 3:Update(count);break;//修改系统
        case 4:Delete(&count);break;//删除系统
        case 5:Show(count);break;//显示系统
        case 6:break;
        default:printf("请重新输入。");break;*/
    }
    }
}

//师生信息菜单
void People1()
{    //int b2;
    printf("1.录入");
    printf("2.显示");
    printf("3.查询");
    printf("4.修改");
    printf("5.删除");
    printf("6.返回");
}

//插入系统
void Insert(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("请输入编号");
        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)++;
}



************

运行结果及报错内容

img

我的解答思路和尝试过的方法

img

我想要达到的结果

img

结构定义有问题,姓名等应该是字符数组,而不是字符,修改如下:

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

第三行引入文件没有加.h

#include<string.h>

姓名你结构体设置的是字符型,应该是字符数组类型才对
char name1[15]
color最好也改成字符数组,不然输入的时候超过一个字符了就出错了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632