1 Востаннє редагувалося koala (05.03.2021 14:45:56)

Тема: Потоковий ввід-вивід, с++

Написати програму, яка буде додавати в текстовий файл введену з клавіатури інформацію (відповідно до варіанту).  Слід передбачити можливість вибору користувачем режиму роботи: додавання або відображення даних (меню).  Забезпечити зберігання даних у файлі у вигляді структурованої таблиці за допомогою засобів форматування.При виведення на екран буде відображатися шапка інформації в якій колонці дані відображаються.  У файлі повинно зберігатися тільки структурована інформація без шапки.
З клавіатури вводиться найменування спорт клубу, кількість відвідувачів за день і ціна річного абонемента, а в файл записується найменування спорт клубу, кількість відвідувачів в день і прибуток за день.

#include<iostream>
#include<fstream>
#include<string>
#include<iomanip>
using namespace std;
int main() {
    while (true) {
        cout << "Show data –press 1" << endl;
        cout << "Write data  -press 2" << endl;
        cout << "Exit –press 3" << endl;
    }
    int choice;
    cin >> choice;
    if (choice == 1) {
        string club;
        int quantity;
        int price;
        ifstream infile;
        infile.open("File.txt");
        if (!infile) {
            cout << "Cannot open file" << endl;
            return-1;
        }
        cout << setw(9) << "Club" << setw(9) << "Quantity" << endl << setw(9) << "Price" << endl;
        while (!infile.eof()) {
            infile >> club;
            infile >> quantity;
            infile >> price;
            if (!infile.eof()) {
                cout.width(9);
                cout << club;
                cout.width(9);
                cout << quantity;
                cout << endl;
                cout.width(9);
                cout << price;
                cout << endl;
            }
        }
        infile.close();
    }
    if (choice == 2) {
        string club;
        int quantity;
        int price;
        cin >> club;
        cin >> quantity;
        cin >> price;
        fstream outfile("File.txt", ios::app);
        if (!outfile) {
            cout << "Cannot open file" << endl;
            return-1;
        }
        outfile.setf(ios::left);
        outfile.width(9);
        outfile << club << ' ';
        outfile.width(9);
        outfile << quantity << endl;
        outfile.width(9);
        outfile << price/365 << endl;
        outfile.close();
    }
    if (choice == 3) {
        break;
    }
    }
     system("pause");
    }

Буду вдячна за виправлення помилок

2

Re: Потоковий ввід-вивід, с++

Додав вам теги code.
А в чому проблема? Компілятор пише про помилки? Чи програма не так працює? Будь ласка, описуйте вашу проблему повністю.
Поки що бачу вічний цикл на початку - мабуть, ви хотіли, щоб введення і розбір значень choice також були в цьому циклі, правильно? Ну то й внесіть їх у цикл.

П.С. Ось тут є, як правильно питати.

Подякували: sadlivska_y1