Таким образом, цель программы - создать массив из 3 человек, позволить пользователю заполнять данные в цикле for, гарантировать, что результаты пишутся с заглавной буквы, и выводить результаты.Этими новыми проектами были инструкции: 1. Переписать capitalize () как метод внутри структуры.2. Перепишите printPerson () как метод в структуре
Сама программа работает просто отлично, она просто не в том формате, который хотел мой профессор.Он сказал, что смысл в том, чтобы не использовать никаких аргументов, но опять же, я не знаю, что он имеет в виду.Я только начал программировать несколько месяцев назад, и хотя я стараюсь, я не очень хорошо разбираюсь в терминологии.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Person {
string firstName;
string middleName;
string lastName;
int age;
string gender;
void capitalize(Person &arg);
void printPerson(Person arg);
};
Уверен, что это методы прямо здесь, но я неубедитесь, что (person & arg) и (person arg) сами являются аргументами или они являются параметрами.Я думал, что это часть «arg», но я не могу найти способ запустить программу без них, так как я почти уверен, что мне нужен оператор & of для изменения информации.
int main(void) {
Person myPerson;
Person a[3];
const int size = 5;
for (int i = 0; i <= 2; i++) {
cout << "What is First Name #" << i + 1 << "? ";
getline(cin, a[i].firstName);
cout << "What is Middle Name #" << i + 1 << "? ";
getline(cin, a[i].middleName);
cout << "What is Last Name #" << i + 1 << "? ";
getline(cin, a[i].lastName);
cout << "Age #" << i + 1 << "? ";
cin >> a[i].age;
cin.ignore();
cout << "Male or Female #" << i + 1 << "? ";
getline(cin, a[i].gender);
cout << endl;
}
for (int i = 0; i <= 2; i++) {
myPerson.capitalize(a[i]);
cout << "PERSON #" << i + 1 << endl;
cout << "~~~~~~~~~~~~~~~" << endl;
myPerson.printPerson(a[i]);
}
system("pause");
return 0;
}
Наряду с этим, я не знаю, как манипулировать функциями для работы без «параметров / аргументов» (я не уверен в разнице на данный момент) или без «arg»
void Person::capitalize(Person &arg) {
transform(arg.firstName.begin(), arg.firstName.end(), arg.firstName.begin(), ::toupper);
transform(arg.middleName.begin(), arg.middleName.end(), arg.middleName.begin(), ::toupper);
transform(arg.lastName.begin(), arg.lastName.end(), arg.lastName.begin(), ::toupper);
}
void Person::printPerson(Person arg) {
cout << "\nFirst Name: " << arg.firstName << endl;
cout << "\nMiddle Name: " << arg.middleName << endl;
cout << "\nLast Name: " << arg.lastName << endl;
cout << "\nAge: " << arg.age << endl;
cout << "\nGender: " << arg.gender << endl;
cout << "\n\n";
}