Создайте столбчатую диаграмму, отображая ряд звездочек, которые будут считывать входной файл данных - PullRequest
0 голосов
/ 09 октября 2019

Напишите программу на C ++, которая будет читать входной файл данных о сегодняшних продажах, округленный до 1000 долларов США для каждого из трех магазинов. Пример входного файла можно найти в модуле. Имя файла - sales.txt - должно находиться в текущем каталоге вашего проекта. Затем программа должна создать гистограмму, отображающую продажи каждого магазина. Создайте каждый столбец на графике, отобразив ряд звездочек. Каждая звездочка должна представлять 1000 долларов продаж.

Файл download.txt гласит:

10000

8000

5000

Что яхочу, чтобы файл выглядел следующим образом:

Today's Sales Chart

Gathering input from file...

Daily Sales (each * = $1000)

Store 1:   *********

Store 2:   ******

Store 3:   *******

Я пробовал цикл while, но не знаю, как включить .txt или гистограмму

#include <iostream>;
#include <fstream>;
#include <string>;

using namespace std;

int main()
{
//Variables
    int store1;
    int store2;
    int store3;

// Display table heading
    cout << "Today's sales Chart\n" << endl;
    cout << "Gathering input from file...\n";
    cout << "\nDaily Sales (each * = $1000)\n";

    ifstream inputfile;
    inputfile.open("download.txt");



    system("pause");
    return 0;
}

1 Ответ

0 голосов
/ 09 октября 2019

У меня был похожий вопрос один раз. Вы должны быть в состоянии сделать:

string line; Создать переменную, в которой вы будете хранить строку.

while(inputfile >> line){ Прокручивать каждую строку в файле.

int x = stoi(line) Преобразуйте строку (строку) в целое число.

В цикле while вы можете делать то, что вам нужно сделать с x, то есть узнать, сколько звездочек вам нужно. Итак:

ifstream inputfile;
inputfile.open("download.txt")
string line;
while(inputfile >> line){
    int x = stoi(line); //will be 10000 in first loop
    int i = x / 1000; //number of asterisks
    for(int j = 0;j < i;j++){
        cout << "*";
    }
    cout << endl;
}

Надеюсь, что это поможет.

РЕДАКТИРОВАТЬ: Очевидно, что вы можете назначить переменные вашего хранилища и использовать их вместо этого при необходимости.

...