C语言实现自行车管理系统完整攻略
系统需求
本系统需要实现以下功能:
- 添加自行车信息
- 删除自行车信息
- 修改自行车信息
- 查找自行车信息
- 展示自行车信息
具体而言,自行车信息应该包含以下内容:
- 品牌
- 型号
- 轮径
- 颜色
- 价格
数据结构设计
为了实现以上功能,我们需要用到以下数据结构:
struct bike {
char brand[20];
char model[20];
float wheel_diameter;
char color[10];
float price;
};
另外,我们还需要一个数组来存储自行车信息:
#define MAX_BIKES 100
struct bike bikes[MAX_BIKES];
int num_bikes = 0;
系统实现
添加自行车信息
我们可以通过以下代码实现添加自行车信息的功能:
void add_bike() {
struct bike new_bike;
printf("请输入自行车品牌:");
scanf("%s", new_bike.brand);
printf("请输入自行车型号:");
scanf("%s", new_bike.model);
printf("请输入自行车轮径(单位:英寸):");
scanf("%f", &new_bike.wheel_diameter);
printf("请输入自行车颜色:");
scanf("%s", new_bike.color);
printf("请输入自行车价格:");
scanf("%f", &new_bike.price);
bikes[num_bikes++] = new_bike;
}
删除自行车信息
我们可以通过以下代码实现删除自行车信息的功能:
void delete_bike() {
int i, j;
char brand[20], model[20];
printf("请输入要删除的自行车品牌:");
scanf("%s", brand);
printf("请输入要删除的自行车型号:");
scanf("%s", model);
for (i = 0; i < num_bikes; i++) {
if (strcmp(bikes[i].brand, brand) == 0 && strcmp(bikes[i].model, model) == 0) {
for (j = i; j < num_bikes - 1; j++) {
bikes[j] = bikes[j + 1];
}
num_bikes--;
printf("删除成功!\n");
return;
}
}
printf("未找到要删除的自行车信息!\n");
}
修改自行车信息
我们可以通过以下代码实现修改自行车信息的功能:
void modify_bike() {
char brand[20], model[20];
int i;
printf("请输入要修改的自行车品牌:");
scanf("%s", brand);
printf("请输入要修改的自行车型号:");
scanf("%s", model);
for (i = 0; i < num_bikes; i++) {
if (strcmp(bikes[i].brand, brand) == 0 && strcmp(bikes[i].model, model) == 0) {
printf("请输入自行车新的信息(可以不修改,直接回车):\n");
printf("品牌:%s --> ", bikes[i].brand);
scanf("%s", bikes[i].brand);
printf("型号:%s --> ", bikes[i].model);
scanf("%s", bikes[i].model);
printf("轮径(单位:英寸):%f --> ", bikes[i].wheel_diameter);
scanf("%f", &bikes[i].wheel_diameter);
printf("颜色:%s --> ", bikes[i].color);
scanf("%s", bikes[i].color);
printf("价格:%f --> ", bikes[i].price);
scanf("%f", &bikes[i].price);
printf("修改成功!\n");
return;
}
}
printf("未找到要修改的自行车信息!\n");
}
查找自行车信息
我们可以通过以下代码实现查找自行车信息的功能:
void search_bike() {
char brand[20], model[20];
int i;
printf("请输入要查找的自行车品牌:");
scanf("%s", brand);
printf("请输入要查找的自行车型号:");
scanf("%s", model);
for (i = 0; i < num_bikes; i++) {
if (strcmp(bikes[i].brand, brand) == 0 && strcmp(bikes[i].model, model) == 0) {
printf("品牌:%s\n", bikes[i].brand);
printf("型号:%s\n", bikes[i].model);
printf("轮径(单位:英寸):%f\n", bikes[i].wheel_diameter);
printf("颜色:%s\n", bikes[i].color);
printf("价格:%f\n", bikes[i].price);
return;
}
}
printf("未找到要查找的自行车信息!\n");
}
展示自行车信息
我们可以通过以下代码实现展示自行车信息的功能:
void show_bikes() {
int i;
if (num_bikes == 0) {
printf("暂无自行车信息!\n");
return;
}
printf("品牌\t型号\t轮径\t颜色\t价格\n");
for (i = 0; i < num_bikes; i++) {
printf("%s\t%s\t%.2f\t%s\t%.2f\n", bikes[i].brand, bikes[i].model, bikes[i].wheel_diameter, bikes[i].color, bikes[i].price);
}
}
示例说明
以下是两个示例:
示例一:添加自行车信息
用户依次输入以下信息:
自行车品牌:Giant
自行车型号:Talon
自行车轮径(单位:英寸):27.5
自行车颜色:red
自行车价格:2999
系统会自动将信息添加到自行车信息数组中。
示例二:查找自行车信息
用户依次输入以下信息:
要查找的自行车品牌:Giant
要查找的自行车型号:Talon
系统会展示出查找到的自行车信息:
品牌:Giant
型号:Talon
轮径(单位:英寸):27.50
颜色:red
价格:2999.00
注意:此处轮径会自动保留两位小数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现自行车管理系统 - Python技术站