使用c++写下面代码【问题描述】定义并实现狗类,属性包含对狗的爱称,年纪,体重以及品种。要求编写对外接口函数 show,输出这四个属性,输出顺序为爱称、品种、年纪、体重;初始化狗对象时支持输入四个属性参数或者无参数给默认值两种情况。 【输入形式】 从键盘输入狗的属性参数,四个参数的输入顺序为爱称、品种、年纪、体重;若第一个输入的是 x,用默认值(xiaoxiao,sheepdog,2,10)初始化狗类。 【输出形式】输出狗类对象的四个属性值;若是用初始化值构造的类,除了输出这四个参数外,还要输出从键盘输入的 另外三个参数(x 除外)。 【样例输入】x cai 1.5 5.2 【样例输出】 xiaoxiao sheepdog 2.0 10.0 cai 1.5 5.2 【样例输入】lili husky 3.5 6 【样例输出】lili husky 3.5 6.0 【样例说明】实数输出时保留一位小数点。
时间: 2023-05-13 14:06:59 浏览: 93
C++给出一个哺乳动物类,要求从此派生出一个狗类
3星 · 编辑精心推荐
以下是使用 C 语言编写的狗类的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char name[20];
char breed[20];
float age;
float weight;
} Dog;
void show(Dog *dog) {
printf("%s %s %.1f %.1f\n", dog->name, dog->breed, dog->age, dog->weight);
}
void init(Dog *dog, char *name, char *breed, float age, float weight) {
strcpy(dog->name, name);
strcpy(dog->breed, breed);
dog->age = age;
dog->weight = weight;
}
int main() {
char name[20], breed[20];
float age, weight;
Dog dog;
scanf("%s", name);
if (strcmp(name, "x") == 0) {
init(&dog, "xiaoxiao", "sheepdog", 2.0, 10.0);
show(&dog);
scanf("%s %f %f", name, &age, &weight);
if (strcmp(name, "x") != 0) {
init(&dog, name, "sheepdog", age, weight);
show(&dog);
}
} else {
scanf("%s %f %f", breed, &age, &weight);
init(&dog, name, breed, age, weight);
show(&dog);
}
return 0;
}
使用该程序,您可以输入狗的属性参数,四个参数的输入顺序为爱称、品种、年纪、体重。如果第一个输入的是 x,则使用默认值(xiaoxiao,sheepdog,2,10)初始化狗类。程序会输出狗类对象的四个属性值。如果是用初始化值构造的类,除了输出这四个参数外,还会输出从键盘输入的另外三个参数(x 除外)。
阅读全文