C++ Как отредактировать код, чтобы выводилась ровная таблица?

Я качаю зелень, набираю массу.
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
14 Фев 2019
Сообщения
121
Реакции
39
написал код для практики, но никак не могу сделать так, чтобы таблица выводилась ровно. Значения под комментарием в самом конце кода. Кто может, помогите, пожалуйста. Может стоило использовать метод getline, ибо в cin ограниченные буферы.

C++:
Expand Collapse Copy
#include<stdio.h>
#include<clocale>
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    setlocale(LC_ALL, "rus");
    system("chcp 1251 > nul");

    char name1[10]{}, name2[10]{}, name3[10]{};
    char sc1{}, sc2{}, sc3{};
    long long cnt1{}, cnt2{}, cnt3{};
    float sq1{}, sq2{}, sq3{};

    cout << "1.Введите: фирму, количество, объём, часть >";
    cin >> name1 >> sc1 >> cnt1 >> sq1;
    cout << "2.Введите: фирму, количество, объём, часть >";
    cin >> name2 >> sc2 >> cnt2 >> sq2;
    cout << "3.Введите: фирму, количество, объём, часть >";
    cin >> name3 >> sc3 >> cnt3 >> sq3;
    cout << setw(31) << "|------------------------------------------------------------------------|\n";
    cout << setw(31) << "|                      Фирмы - производители СКБД                        |\n";
    cout << setw(31) << "|------------------------------------------------------------------------|\n";
    cout << setw(10) << "| Фирма " << setw(5) << "| Количесво. Продуктов " << setw(5) << "| Годовой объём продажи " << setw(5) << "| Часть рынка |\n";
    cout << setw(31) << "|-----------|------------------------|------------------------|--------------|\n";
    cout << setw(10) << "| " << setw(11) << name1 << setw(3) << "| " << setw(15) << sc1 << setw(3) << "| " << setw(16) << cnt1 << setw(3) << "| " << setw(12) << sq1 << setw(3) << "|\n";
    cout << setw(31) << "|-----------|------------------------|------------------------|--------------|\n";
    cout << setw(10) << "| " << setw(11) << name2 << setw(3) << "| " << setw(15) << sc2 << setw(3) << "| " << setw(16) << cnt2 << setw(3) << "| " << setw(12) << sq2 << setw(3) << "|\n";
    cout << setw(31) << "|-----------|------------------------|------------------------|--------------|\n";
    cout << setw(10) << "| " << setw(11) << name3 << setw(3) << "| " << setw(15) << sc3 << setw(3) << "| " << setw(16) << cnt3 << setw(3) << "| " << setw(12) << sq3 << setw(3) << "|\n";
    cout << setw(31) << "|-----------|------------------------|------------------------|--------------|\n";
    cout << setw(31) << "| Примечание: по данным Gartner Group за 1999г |\n";
    cout << setw(31) << "--------------------------------------------------------------------------\n";
    return 0;
}
/*
Oracle 1 2488000000 31.1
IBM 3 2391500000 29.9
Microsoft 2 1048000000 13.1

*/
 
Назад
Сверху Снизу