Правильно ли использование списка, функций-членов и классов в моем коде? - PullRequest
0 голосов
/ 12 февраля 2019

Мне пришлось вернуться в C ++, после написания кода в MATLAB.Я скучаю по нескольким вещам.В любом случае, я написал код для создания расширяемого списка имени, фамилии и возраста человека.Расширяемый, я имею в виду, больше записей может быть сделано позже, если требуется.

Он создает имя, фамилию и возраст 5 человек.Мне нужно сделать его расширяемым и рассчитать средний возраст списка людей.Я использовал списки в своем коде.

#include <iostream>
#include <list>

int main() {
    // Create a list of first names and initialize it with 5 first names
    std::list<string> firstname(new string[] { "Brad", "John", "Neptune",    "Kuh", "Dhar", "Rock" });

    // Iterate over and display first names
    for (string val : firstname)
        std::cout << val << ",";
            std::cout << std::endl;

    // Create a list of last names and initialize it with 5 last  names
    std::list<string> lastname(new string[] { "Mish", "Jims", "Nepers", "Yho", "Har", "Ock" });

    // Iterate over and display first names
    for (string val2 : lastname)
        std::cout << val2 << ",";
            std::cout << std::endl;


    // Create an empty list of ages pf persons
    std::list<int> ages(5, {34, 56, 57, 91, 12});

    // Iterate over the list and display ages
    for (int val1 : ages)
        std::cout << val1 << ",";
        std::cout << std::endl;

    // Compute average age
    for (int jj=0; jj <5; jj++)
    agesum = age(jj) + age(jj+1);
    avage = agesum/(jj+1);
    return 0;
}

Однако он не выполняется и выдает ошибки.Не могли бы вы исправить код и дать отзыв о происходящем?

1 Ответ

0 голосов
/ 12 февраля 2019

Это то, что вы собирались?

#include <string>
#include <iostream>
#include <vector>

int main(){

    std::vector<std::string> first_names {"Brad", "John", "Neptune", "Kuh", "Dhar", "Rock"};
    std::vector<std::string> last_names {"Mish", "Jims", "Nepers", "Yho", "Har", "Ock"};
    std::vector<int> ages {34, 56, 57, 91, 12};

    int avg_age = 0;

    for(int age : ages) avg_age += age;
    avg_age /= ages.size();


    if(first_names.size() == last_names.size()){
        for(int i = 0; i < first_names.size(); i++){

            std::cout << first_names[i] << " " << last_names[i] << "\n";

        }
    }
    std::cout << "average age: " << avg_age << "\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...