Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Violex
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 48
10.10.2015, 05:38     Программа вывода на экран линии #1
Доброго времени суток. Помогите с программой пожалуйста. Сразу оговорюсь похожие темы я искал просматривал и что то все не то. Надо задать: каким будет символ? сколько будет символов? какая будет линия вертикальная или горизонтальная? и все это вывести на экран.
К примеру если переменную "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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1533 / 981 / 239
Регистрация: 05.06.2014
Сообщений: 2,951
10.10.2015, 06:11     Программа вывода на экран линии #2
Цитата Сообщение от Violex Посмотреть сообщение
К примеру если переменную "b" обозначить двузначным, трехзначным и т.д числом то программа стопорится.
А что вы собственно ожидали то? Просите вы ввести символ одна штука. В переменной char хранится символ одна штука. А в трехзначном числе этих символов целых три штуки, не считая нулевого. Хотите вводить строку - так и объявляйте b как string b;.
Eugene13
30 / 30 / 11
Регистрация: 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;
}
Violex
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 48
10.10.2015, 13:12  [ТС]     Программа вывода на экран линии #4
Цитата Сообщение от Renji Посмотреть сообщение
А что вы собственно ожидали то? Просите вы ввести символ одна штука. В переменной char хранится символ одна штука. А в трехзначном числе этих символов целых три штуки, не считая нулевого. Хотите вводить строку - так и объявляйте b как string b;.
Спасибо, до переменной string видимо я еще не дошел, т.к по тем книгам которым изучаю, данная переменная не упоминалась еще.

Добавлено через 3 минуты
Цитата Сообщение от Eugene13 Посмотреть сообщение
можно проще, но с кириллицей были бы проблемы, а так всё классно.
ну да, но все же лучше с кириллицей =)
Eugene13
30 / 30 / 11
Регистрация: 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;
}
Yandex
Объявления
10.10.2015, 14:03     Программа вывода на экран линии
Ответ Создать тему
Опции темы

Текущее время: 10:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru