Задача на массив структур

126
25 января 2020, 23:50

Условие задачи: сведения о международном телефонном разговоре состоят из даты, названия города, продолжительности разговора (в минутах) и тарифа (плата за 1 мин). Написать программу о занесении в массив информации о N таких сведениях.

Не могу понять, по какой причине некорректно работает вывод. Программа почему-то не хочет получать значение "название города". Помогите, пожалуйста.

#include <iostream>
#include <locale.h>
using namespace std;
struct inter_phone_conv
{
    char date[3];
    char city;
    float duration;
    float rub_per_min;
};
int show(inter_phone_conv *p, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << p[i].date[0] << "." << p[i].date[1] << "." << p[i].date[2];
        cout << p[i].city << endl;
        cout << p[i].duration << endl;
        cout << p[i].rub_per_min << endl;
    }
}
int input(inter_phone_conv *p, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << endl;
        cout << "Дата разговора: ";
        cin >> p[i].date[0]; cin.ignore();
        cin >> p[i].date[1]; cin.ignore();
        cin >> p[i].date[2]; cin.ignore();
        cout << "Название города: ";
        cin >> p[i].city;
        cout << endl;
        cout << "Длительность разговора: ";
        cin >> p[i].duration;
        cin.ignore();
        cout << "Тариф (рублей за мин)";
        cin >> p[i].rub_per_min;
        cin.ignore();
    }
}
int main ()
{
    setlocale(LC_ALL, "rus");
    int n;
    cout << "Введите вводимое кол-во данных" << endl;
    cin >> n;
    inter_phone_conv *p = new inter_phone_conv[n];
    input(p,n);
    show(p,n);
    delete []p;
}
READ ALSO
Как работает вычисление выражения x &lt; y &lt; z в C++? [закрыт]

Как работает вычисление выражения x < y < z в C++? [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»

140
Как присвоить переменную к указателю?

Как присвоить переменную к указателю?

У меня проблема с присваиванием значения переменной "a" к указателю "knockback", возникает ошибка: "error-type knockback это объявление не содержит класс...

115
Форвардная декларация typedef

Форвардная декларация typedef

Допустим, определен новый тип

122
Проверка нескольких bool в одном условии

Проверка нескольких bool в одном условии

Как я могу сократить данную строку? C++

109