【发布时间】:2021-06-13 18:19:05
【问题描述】:
我有一个任务,我在字符数组中接收婴儿的名字和体重(例如:Johnny,2 公斤)。我必须将它们存储在一个最多可以容纳 1000 个元素的数组中,并且必须是一个结构类型,存储婴儿的名字和体重。
每个动作都必须在函数中完成 - 但是,当我试图在逗号之前获取名称时,str.copy() 对我不起作用。它的具体问题是最后一个参数,即位置。有人可以帮我解决这个问题吗?另外,我对 C++ 有点陌生,并想象如何在两个函数中分别在 char 数组中询问直到空行并在另一个函数中进行复制...如果有人可以帮助我,我将不胜感激^^'
提前感谢您的帮助!
#include<iostream>
#include<string>
#define M 1000
struct baby{
std::string baby_name;
float weight;
};
int readIn(baby* baby_datapair, int max);
// int maxWeight(baby* baby_datapair);
// int minWeight(baby* baby_datapair);
// void descendingOrder(baby* baby_datapair, int num);
int main(){
baby baby_array[M];
int n = readIn(baby_array, M);
return 0;
}
int readIn(baby* baby_datapair, int max){
int n = 0;
char name[12];
while (n < max){
std::cout << "Baby" << n+1 << "'s datas (Nickname, weight in kg): ";
std::getline(std::cin, name);
//~ std::cin.ignore(1);
if (neve == ""){
std::cout << "Wrong input!\n";
break;
}else{
std::size_t pos = name.find(',');
std::size_t until = name.copy(baby_datapair[n].baby_name, 0, pos);
}
n++;
}
return n;
}
// int maxWeight(baby* baby_datapair){
// }
// int minWeight(baby* baby_datapair){
// }
// void descendingOrder(baby* baby_datapair, int num){
// }
【问题讨论】:
-
请制作一个可重复性最低的示例。不过最好同时具备两者,首先是有关问题起源的一些背景知识,然后是一个可重复性最低的示例。