(结构体+指针)定义“车”结构体,实现改变车颜色,车牌操作
简易的代码,只有2个功能,修改车颜色和车牌,保存退出。
方法一
#include<stdio.h>
#include <stdlib.h>
int n;
typedef struct car
{
char color[8];
int number;
}car;
car car1;
int main()
{
car *p=&car1;
printf("输入车的颜色:");
gets(car1.color);
printf("输入车的车牌号:");
scanf("%d",&car1.number);
printf("\n你输入的车颜色为%s,车牌号为%d",car1.color,car1.number);
set();
scanf("%d",&n);
mingling(n,p);
printf("修改结束\n");
printf("\n你输入的车颜色为%s,车牌号为%d",car1.color,car1.number);
}
int xiugai(car *car3)
{
printf("请输入修改车辆属性信息\n");
printf("输入车的颜色:");
scanf("%s",car3->color);
printf("输入车的车牌号:");
scanf("%d",&car3->number);
printf("\n你输入的车颜色为%s,车牌号为%d",car3->color,car3->number);
set();
scanf("%d",&n);
mingling(n,car3);
}
int tuichu()
{
printf("信息入录结束\n");
exit(0);
}
int set()
{
printf("\n你要执行的命令\n");
printf("命令如下:\n1:修改车辆属性\n2:退出");
}
int mingling(int n,car *car2)
{
switch(n)
{
case 1: xiugai(car2);
case 2: tuichu();
}
}
输出
输入
黄色
123456
绿色
654321
方法二
#include<stdio.h>
#include <stdlib.h>
int n;
typedef struct car
{
char color[8];
int number;
}car;
car car1;
int main()
{
car *p=&car1;
printf("输入车的颜色:");
gets(car1.color);
printf("输入车的车牌号:");
scanf("%d",&car1.number);
printf("\n你输入的车颜色为%s,车牌号为%d",car1.color,car1.number);
set();
scanf("%d",&n);
mingling(n,p);
printf("修改结束\n");
printf("\n你输入的车颜色为%s,车牌号为%d",car1.color,car1.number);
}
int xiugai(car *car3)
{
car *car4;
car4=(car *)malloc(sizeof(car));
car4=car3;
printf("请输入修改车辆属性信息\n");
printf("输入车的颜色:");
scanf("%s",car4->color);
printf("输入车的车牌号:");
scanf("%d",&car4->number);
printf("\n你输入的车颜色为%s,车牌号为%d",car4->color,car4->number);
set();
scanf("%d",&n);
mingling(n,car4);
}
int tuichu()
{
printf("信息入录结束\n");
exit(0);
}
int set()
{
printf("\n你要执行的命令\n");
printf("命令如下:\n1:修改车辆属性\n2:退出");
}
int mingling(int n,car *car2)
{
switch(n)
{
case 1: xiugai(car2);
case 2: tuichu();
}
}
方法三(去掉switch语句和退出函数)(利用while语句进行循环)
#include<stdio.h>
#include <stdlib.h>
int n;
typedef struct car
{
char color[8];
int number;
}car;
car car1;
int main()
{
car *p=&car1;
printf("输入车的颜色:");
gets(car1.color);
printf("输入车的车牌号:");
scanf("%d",&car1.number);
printf("\n你输入的车颜色为%s,车牌号为%d",car1.color,car1.number);
set();
scanf("%d",&n);
while(n!=2)
{
xiugai(&car1);
}
printf("修改结束\n");
printf("\n你输入的车颜色为%s,车牌号为%d\n",car1.color,car1.number);
}
int xiugai(car *car3)
{
car *car4;
car4=(car *)malloc(sizeof(car));
car4=car3;
printf("请输入修改车辆属性信息\n");
printf("输入车的颜色:");
scanf("%s",car4->color);
printf("输入车的车牌号:");
scanf("%d",&car4->number);
printf("\n你输入的车颜色为%s,车牌号为%d\n",car4->color,car4->number);
set();
scanf("%d",&n);
while(n!=2)
xiugai(car4);
}
int set()
{
printf("\n你要执行的命令\n");
printf("命令如下:\n1:修改车辆属性\n2:退出");
}
输出
输入
黄色
321
绿色
123