2016-12-11 5 views
0

В настоящее время я работаю над программой для проекта, которая просит пользователя ввести определенный вид спорта, который они хотят играть, и их возраст для бронирования в зоне отдыха. Я смущен тем, как хранить свой спорт и возраст в массиве, чтобы он мог отображаться позже в программе, если они выбирают просмотр всех оговорок, сделанных одним или несколькими пользователями. Если бы кто-нибудь мог помочь мне разобраться, как хранить один или несколько пользовательских ввода в массиве, чтобы он мог отображаться позже в программе, это было бы здорово!Хранение нескольких входных данных пользователя в массив

#include <iostream> 

#include <string> 

using namespace std; 

int main() 
{ 
    char t; // Type of sport selected 
    char g, G; // Gliding 
    char h, H; // Hang-gliding 
    char f, F; //Flying 
    int a; // Age of patron 
    double x; // Rates 
    int s; // Selection from menu 
    int i; // Arrays variable 
    int num; 
    char sport[100]; // Array for all sports of patrons 
    int age[100]; // Array for all ages of patrons 

    cout << "Please pick from the following menu" << endl; 
    cout << "1. Add a new reservation" << endl; 
    cout << "2. Print all reservations" << endl; 
    cout << "3. Print all reservations for a given sport" << endl; 
    cout << "4. Quit" << endl; 
    cin >> s; 
    for (i = 0; i < num; ++i) 
    if (s == 1) { 
     cout << "Please enter f/F for flying, g/G for gliding and h/H for hang-gliding" << endl; 
     cin >> t; 
     getline (cin, sport[i]); 
     cout << "Please enter the age of patron, minimum age is 16" << endl; 
     cin >> a; 
     if ((t == 'f' || t == 'F') && (a <= 25)) { 
      x = 68.95; 
     } 
     else if ((t == 'g' || t == 'G') && (a <= 25)) { 
      x = 73.95; 
     } 
     else if ((t == 'h' || t == 'H') && (a <= 25)) { 
      x = 99.95; 
     } 
     else if ((t == 'f' || t == 'F') && (a > 25)) { 
      x = 55.95; 
     } 
     else if ((t == 'g' || t == 'G') && (a > 25)) { 
      x = 65.95; 
     } 
     else if ((t == 'h' || t == 'H') && (a > 25)) { 
      x = 92.95; 
     } 
     cout << "The insurance rate is $ " << x << endl; 
    } 
    else if (s == 2) { 
     cout << "A patron aged " << a << " reserved a session of " << t << endl; 
    } 
    else if (s == 3) { 

    } 
    else if (s == 4); 
    return 0; 
+0

Я скорее предлагаю вам хранить пользовательский ввод в файл и показывая только что прочитанный файл и показать, как вы хотите. –

ответ

0

Вы должны сделать класс Patron, который содержит множество информации, а затем сделать массив типа Patron вместо нескольких массивов:

class Patron 
{ 
    //data for each patron... 
}; 

в основной:

Patron patrons[...]; 

Вы могли бы также используйте динамические контейнеры, такие как вектор, а не массив.

std::vector<Patron> patrons; 
Смежные вопросы