我对C ++很新,我只是在学习结构和枚举。我决定将它们付诸实践,在制作了一个简单的程序来读取有关宠物的不同信息的用户输入后,我遇到了一个错误。每当我运行我的程序时,它会获得用户输入,当它打印出来时,它只是打印" NAME:"我认为问题在于我为结构成员分配返回值。如果是这样,我将如何修复我的代码?
#include <iostream>
#include <string>
#include "ANIMALS.h"
animalType getType();
std::string getName();
int getAge();
int main(){
yourPet userInput;
userInput.yourPetsAge = getAge();
userInput.yourPetsName = getName();
userInput.yourPetsSpecies = getType();
std::cout << "This is your pet's info: NAME: ", userInput.yourPetsName,
" AGE: ", userInput.yourPetsAge, " SPECIES: ", userInput.yourPetsSpecies;
system("PAUSE");
return 0;
}
animalType getType(){
int speciesChoice;
std::cout << "What type of pet do you have?\nEnter the corresponding number to your pet's species" << std::endl;
std::cout << "1: DOG 2: CAT 3: FISH 4: BIRD" << std::endl;
std::cin >> speciesChoice;
if (speciesChoice == 1){
return DOG;
}
if (speciesChoice == 2){
return CAT;
}
if (speciesChoice == 3){
return FISH;
}
if (speciesChoice == 4){
return BIRD;
}
}
std::string getName(){
std::string petName;
std::cout << "What is your pet's name?" << std::endl;
std::cin >> petName;
return petName;
}
int getAge(){
int petAge;
std::cout << "What is your pet's age?" << std::endl;
std::cin >> petAge;
return petAge;
}
答案 0 :(得分:3)
使用<<
分隔输出,而不是逗号:
std::cout << "This is your pet's info: NAME: " << userInput.yourPetsName <<
" AGE: " << userInput.yourPetsAge <<
" SPECIES: " << userInput.yourPetsSpecies;
system("PAUSE");