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

Переменная типа char - C++

Восстановить пароль Регистрация
 
TezRomacH
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 6
27.09.2013, 17:50     Переменная типа char #1
Учусь программированию на C++. Вот, столкнулся с проблемой. Пытался найти ответ в интернете, но об этом нигде не сказано. Дело в том, что я хочу сделать программу рандомно выбирающую имя. После же, это имя выводящее. Но ничего не выходит. Пишет какую то белиберду, я ничего не понимаю. Помогите найти ошибку и подскажите способ устранить её.

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
34
35
36
#include "stdafx.h"
#include <iostream>
#include <ctime> // подключение библиотек времени
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{ 
start:
setlocale (LC_ALL, "Russian");//вывод русских букв
srand( time (0) ); // каждый раз при компиляции рандом
 
char name[30]; // первая мною используемая символьная строка
int a = rand ()%4 + 1; // а присваивается рандомное значение от 1 до 4
switch (a)
{
case 1: {char name[30] = {"Роман"};
break;}
case 2: {char name[30] = {"Михаил"};
break;}
case 3: {char name[30] = {"Дмитрий"};
break;}
case 4: {char name[30] = {"Вадим"};
break;}
default: break;
}
 
cout << "Ваше имя - " << name << "?" << endl;
cout << "Повторить (1), или выйти (2) - ";
int y;
cin >> y;
if (y==1) goto start;
else return 0;
 
system ("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
27.09.2013, 17:57     Переменная типа char #2
del
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
27.09.2013, 18:08     Переменная типа char #3
C++
1
case 1: {char name[30] = {"Роман"};
Здесь Вы создали новый массив name. А тот, который объявили на 12-й строке и выводите на 27-й, никак не меняется. Погуглите про области видимости переменных.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
27.09.2013, 18:08     Переменная типа char #4
Цитата Сообщение от TezRomacH Посмотреть сообщение
Учусь программированию на C++. Вот, столкнулся с проблемой. Пытался найти ответ в интернете, но об этом нигде не сказано. Дело в том, что я хочу сделать программу рандомно выбирающую имя. После же, это имя выводящее. Но ничего не выходит. Пишет какую то белиберду, я ничего не понимаю. Помогите найти ошибку и подскажите способ устранить её.
C++
1
2
3
4
5
6
7
8
...
char *name;
...
case 1: 
    {
        name="asdas";
    }
...
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
27.09.2013, 18:13     Переменная типа char #5
в c++ лучше использовать string вместо char*, а goto использовать вообще ненадо
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
34
#include <iostream>
#include <ctime> // подключение библиотек времени
#include <cstdlib>
using namespace std;
 
int main()
{
    int y=0;
    string name;
    do
    {
        srand( time (0) ); // каждый раз при компиляции рандом
 
        int a = rand ()%4 + 1; // а присваивается рандомное значение от 1 до 4
        switch (a)
        {
            case 1: {name = "Роман";
                break;}
            case 2: {name = "Михаил";
                break;}
            case 3: {name = "Дмитрий";
                break;}
            case 4: {name = "Вадим";
                break;}
            default: break;
        }
 
        cout << "Ваше имя - " << name << "?" << endl;
        cout << "Повторить (1), или выйти (2) - ";
        cin >> y;
    } while(y == 1);
 
    return 0;
}
Yandex
Объявления
27.09.2013, 18:13     Переменная типа char
Ответ Создать тему
Опции темы

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