Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Violex
1 / 1 / 3
Регистрация: 02.03.2015
Сообщений: 58
#1

Программа вывода на экран линии

10.10.2015, 05:38. Просмотров 389. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Помогите с программой пожалуйста. Сразу оговорюсь похожие темы я искал просматривал и что то все не то. Надо задать: каким будет символ? сколько будет символов? какая будет линия вертикальная или горизонтальная? и все это вывести на экран.
К примеру если переменную "b" обозначить двузначным, трехзначным и т.д числом то программа стопорится.
Можно обозначить b как int то тогда все нормально, но в таком случае не получается вывести символ на экран. А хотелось бы и числа и символы. как это можно сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
void main() {
    setlocale(LC_ALL, "Russian");
    int a, c, z, i;
    char b;
    do {
        cout << "Выберите число симвалов = ";
        cin >> a;
        cout << "Укажите каким будет символ = ";
        cin >> b;
        cout << "Горизонтальная линия (1) \nили\nВертикальная линия (2)\n";
        cin >> c;
        cout << "\n";
        i = 0;
        while (i < a) {
            switch (c) {
            case 1:
                cout << b;
                i++;
                break;
            case 2:
                cout << b << "\n";
                i++;
                break;
            }
        }
        cout << "\n";
        cout << "\nПовторить? да(1) нет(2)\n";
        cin >> z;
        cout << "\n";
    } while (z == 1);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2015, 05:38
Ответы с готовыми решениями:

Не компилируется программа вывода текста на экран
Только начал изучать С++ по книге Шилдта и вот первая же программа не...

Программа на цикл for (как добиться вывода на экран?)
Программа на цикл for(помогите добиться вывода на экран), повторять в цикле...

Программа для вывода на экран содержимого изменяющегося файла
Некая программа периодически изменяет содержимое файла. Для простоты пусть этот...

алгоритм вывода толстой линии
Здравствуйте. Помогите написать алгоритм вывода толстой линии.

Ищу библиотеку с функциями для пиксельного вывода элементов (линии, точки и т.п.)
Необходимы функции для пикслельного вывода элементов (линии, точки и т.п.)....

4
Renji
2102 / 1543 / 470
Регистрация: 05.06.2014
Сообщений: 4,473
10.10.2015, 06:11 #2
Цитата Сообщение от Violex Посмотреть сообщение
К примеру если переменную "b" обозначить двузначным, трехзначным и т.д числом то программа стопорится.
А что вы собственно ожидали то? Просите вы ввести символ одна штука. В переменной char хранится символ одна штука. А в трехзначном числе этих символов целых три штуки, не считая нулевого. Хотите вводить строку - так и объявляйте b как string b;.
1
Eugene13
30 / 30 / 28
Регистрация: 19.09.2013
Сообщений: 370
Завершенные тесты: 1
10.10.2015, 06:40 #3
Violex, можно проще, но с кириллицей были бы проблемы, а так всё классно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int ltype=0, llen=0;
    string lbuff;
    cout << "Введите тип линии. 1 - горизонтальная, 2-вертиакальная:\n";
    cin >> ltype;
    cout << "Введите символ или строку:\n";
    cin.ignore();
    getline(cin, lbuff);
    cout << "Введите длину линии:\n";
    cin >> llen;
    for (int i = 0; i < llen; i++) {
        cout << lbuff;
        if (ltype == 2) cout << endl;
    }
    cin.ignore();
    cin.get();
    return 0;
}
0
Violex
1 / 1 / 3
Регистрация: 02.03.2015
Сообщений: 58
10.10.2015, 13:12  [ТС] #4
Цитата Сообщение от Renji Посмотреть сообщение
А что вы собственно ожидали то? Просите вы ввести символ одна штука. В переменной char хранится символ одна штука. А в трехзначном числе этих символов целых три штуки, не считая нулевого. Хотите вводить строку - так и объявляйте b как string b;.
Спасибо, до переменной string видимо я еще не дошел, т.к по тем книгам которым изучаю, данная переменная не упоминалась еще.

Добавлено через 3 минуты
Цитата Сообщение от Eugene13 Посмотреть сообщение
можно проще, но с кириллицей были бы проблемы, а так всё классно.
ну да, но все же лучше с кириллицей =)
0
Eugene13
30 / 30 / 28
Регистрация: 19.09.2013
Сообщений: 370
Завершенные тесты: 1
10.10.2015, 14:03 #5
Violex, можно и без string:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <Windows.h>
using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int ltype = 0, llen = 0;
    char lbuff[25];
    cout << "Введите тип линии. 1 - горизонтальная, 2-вертиакальная:\n";
    cin >> ltype;
    cout << "Введите символ или строку:\n";
    cin.ignore();
    cin.getline(lbuff,25);
    cout << "Введите длину линии:\n";
    cin >> llen;
    for (int i = 0; i < llen; i++) {
        cout << lbuff;
        if (ltype == 2) cout << endl;
    }
    cin.ignore();
    cin.get();
    return 0;
}
0
10.10.2015, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2015, 14:03

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы
Рекурсивная функция в С++. срочно! ДЛЯ вывода матрицы на экран построчно...

Две точки на плоскости даны координатами. Выдать на экран терминала уравнение прямой линии
Две точки на плоскости даны координатами. Выдать на экран терминала уравнение...

вывода информции на экран в С++
Вопрос по С++, вот небольшая програмка #include &lt;iostream&gt; using namespace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru