删除车辆和师生信息:将满足条件的车辆信息删除,包括按班车状态、车辆型号删除;
#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]={{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}};//定义车辆初始化
//乘坐信息
struct People0
{
int id2;//师生序号
char name2[99];//姓名
int number2;//学号工号
char type2[99];//院系
char time2[99];//乘坐时间
}Peo[MaxSize2];
//主函数
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;
}
//车辆信息菜单
void Car1()
{
void Insert1(int *);//声明插入系统
void Search1(int);//声明查询系统
void Update1(int);//声明修改系统
void Delete1(int*);//声明删除系统
void Show1(int);//声明显示系统
int b1;
int count=15;
while(true)//循环第二级菜单
{
printf("1.录入\n");
printf("2.查询\n");
printf("3.修改\n");
printf("4.删除\n");
printf("5.显示\n");
printf("6.返回\n");
scanf("%d",&b1);
switch(b1)
{
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 cou=0;
while(true)//循环第二级菜单
{
printf("1.录入\n");
printf("2.查询\n");
printf("3.修改\n");
printf("4.删除\n");
printf("5.显示\n");
printf("6.返回\n");
scanf("%d",&b1);
switch(b1)
{
case 1:Insert2(&cou);break;//插入系统
case 2:Search2(cou);break;//查询系统
case 3:Update2(cou);break;//修改系统
case 4:Delete2(&cou);break;//删除系统
case 5:Show2(cou);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=0;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为空闲,其余为工作中");
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=0;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,座位数\n");
scanf("%d",&temp);
for(i=0;i<count;i++)//循环检索
if(Carr[i].number1==temp||Carr[i].id1==temp||Carr[i].seat1==temp)
{
printf("\n车牌号:%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);
}
if(i=count)
{
printf("\n输出完毕\n");
system("pause");//暂停页面
}
}
//师生查询系统
void Search2(int cou)
{
int i,temp;
printf("请输入可查询的信息。例:学号工号,ID\n");
scanf("%d",&temp);
for(i=0;i<cou;i++)//循环检索
if(Peo[i].number2==temp||Peo[i].id2==temp)
{
printf("\nID:%d\n",Peo[i].id2);
printf("学号工号:%d\n",Peo[i].number2);
printf("姓名:%s\n",Peo[i].name2 );
printf("时间:%s\n",Peo[i].time2);
printf("学院:%s\n",Peo[i].type2);
}
if(i=cou)
{
printf("\n输出完毕\n");
system("pause");//暂停页面
}
}
//车辆修改系统
void Update1(int count)
{
int i,temp,flag=1,a;
printf("请输入您要修改数据的车牌号\n");
scanf("%d",&temp);
for(i=0;i<count&&flag;i++)
{
if(Carr[i].number1==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\n\n\n",Carr[i].state1);
printf("请输入您要修改的项目\n");
printf("1.车牌号\n");
printf("2.车ID\n");
printf("3.车名\n");
printf("4.颜色\n");
printf("5.座位数\n");
printf("6.状态\n");
scanf("%d",&a);
switch(a)//选择要修改的东西
{
case 1:scanf("%d\n",&Carr[i].number1);flag=0;printf("输入0退出系统");break;
case 2:scanf("%d\n",&Carr[i].id1 );flag=0;printf("输入0退出系统");break;
case 3:scanf("%s\n",Carr[i].name1 );flag=0;printf("输入0退出系统");break;
case 4:scanf("%s\n",Carr[i].color1 );flag=0;printf("输入0退出系统");break;
case 5:scanf("%d\n",&Carr[i].seat1 );flag=0;printf("输入0退出系统");break;
case 6:scanf("%d\n",&Carr[i].state1 );flag=0;printf("输入0退出系统");break;
}
}
if(i=count)
printf("\n没有可修改的数据\n");
}
}
//师生修改系统
void Update2(int cou)
{
int i,temp,flag=1,a;
printf("请输入您要修改数据的车牌号\n");
scanf("%d",&temp);
for(i=0;i<cou&&flag;i++)
{
if(Peo[i].number2==temp)
{
printf("%d.\n",a);
printf("ID:%d\n",Peo[i].id2);
printf("姓名:%d\n",Peo[i].number2);
printf("学号工号:%s\n",Peo[i].name2 );
printf("时间:%s\n",Peo[i].time2);
printf("学院:%s\n\n\n\n",Peo[i].type2);
printf("请输入您要修改的项目\n");
printf("1.ID\n");
printf("2.姓名\n");
printf("3.学号工号\n");
printf("4.时间\n");
printf("5.是否运营,0为空闲,其余为工作中\n");
scanf("%d",&a);
switch(a)//选择要修改的东西
{
case 1:scanf("%d",&Peo[i].id2 );flag=0;printf("输入0退出系统");break;
case 2:scanf("%d",&Peo[i].name2 );flag=0;printf("输入0退出系统");break;
case 3:scanf("%s",Peo[i].number2 );flag=0;printf("输入0退出系统");break;
case 4:scanf("%s",Peo[i].time2 );flag=0;printf("输入0退出系统");break;
case 5:scanf("%d",&Peo[i].type2 );flag=0;printf("输入0退出系统");break;
}
}
if(i=cou)
printf("\n没有可修改的数据\n");
}
}
//车辆删除系统
void Delete1(int * count)
{
int i,j,temp,flag=0;
printf("请输入可以删除的数据");
scanf("%d",&temp);
for(i=0;i<*count;i++)
{
if(Carr[i].number1 ==temp||Carr[i].state1==temp||Carr[i].seat1 ==temp )
{
for(j=i;j<*count-1;j++)
Carr[j]=Carr[j+1];
(*count)--;
flag++;//标记已经执行了一次
}
}
if(flag==0)
{
printf("没有查询到可以删除的文件\n");
}
}
//师生删除系统
void Delete2(int *cou)
{
int i,j,number,flag=1;
printf("请输入可以删除的数据");
scanf("%d",&number);
for(i=0;i<*cou&&flag;i++)
{
if(Peo[i].number2==number)
{
for(j=i;j<*cou-1;j++)
Peo[j]=Peo[j+1];
flag=0;
(*cou)--;
}
else
{
printf("没有查询到可以删除的文件\n");
}
}
}
//车辆显示系统
void Show1 (int count)
{
int i,a;
for(i=0,a=1;i<count;i++,a++)
{
printf("%d.\n",a);
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\n\n\n",Carr[i].state1);
}
}
//师生显示系统
void Show2(int cou)
{
int i,a;
for(i=0,a=1;i<cou;i++,a++)
{
printf("%d.\n",a);
printf("ID:%d\n",Peo[i].id2);
printf("姓名:%d\n",Peo[i].number2);
printf("学号工号:%s\n",Peo[i].name2 );
printf("时间:%s\n",Peo[i].time2);
printf("学院:%s\n\n\n\n",Peo[i].type2);
}
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/602645565846110.png "#left")