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

Условие выполнения цикла - C++

Восстановить пароль Регистрация
 
 
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
26.09.2012, 23:00     Условие выполнения цикла #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
void main()
{
    char a;
    int r=1;
    cin>>a;
    if(a==r)
    {
        cout<<"test"<<endl;
    }
    if(a=='k')
    {
        cout<<"apple"<<endl;
    }
}
Если вводимое мною значение равно k, то выдает apple, но если я ввожу единицу, слово test не выдает. Как это исправить ?
ps функцию написал для примера, важно что бы переменная "а" могла быть символом или числом и в цикле if условием было равенство этой переменной с другой переменной (простое число от 0 до 36).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 23:00     Условие выполнения цикла
Посмотрите здесь:

C++ Условие цикла while
Условие для цикла С++ C++
C++ Условие для прекращения цикла
Условие цикла Иф,неправильная работа иф C++
Условие прерывания цикла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
27.09.2012, 00:02     Условие выполнения цикла #21
Цитата Сообщение от Alejo Посмотреть сообщение
цифры
цифры или числа?
цифра это 0 1 2 3 4 5 6 7 8 9(хотя это тоже может быть числом)
а тебе надо 37 это уже число
и ввести ты его можешь или в int (тогда прощай символы) или в строку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2012, 00:05     Условие выполнения цикла #22
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
#include <cstdlib>
#include <iostream>
#include <sstream>
#include <string>
#include <time.h>
using namespace std;
 
int main()
{
 srand(time(0));
 int r = rand() % 37;
 cout << r << endl;
 stringstream s;
 s << r;
 string str;
 s >> str;
 cout << str << endl;
 string a;
 cin >> a;
 
 if(a == str) cout << "test" << endl;
 else if(a == "k") cout << "apple" << endl;
      else cout << "Error" << endl;
      
   system("pause");
   return 0;   
}
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
27.09.2012, 00:13  [ТС]     Условие выполнения цикла #23
Цитата Сообщение от ValeryS Посмотреть сообщение
цифры или числа?
цифра это 0 1 2 3 4 5 6 7 8 9(хотя это тоже может быть числом)
а тебе надо 37 это уже число
и ввести ты его можешь или в int (тогда прощай символы) или в строку
Мне нужно число, состоящее из одной или двух цифр, я же ранее писал (0-36).
Работать со строками ? На той странице, ссылку на которую ты отправлял ранее, я для себя не нашел информации, ее там слишком мало, а я новичок в делах программирования, мне бы чего попроще

Переписал функцию, вот так получается:
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 <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
 
int main()
{
 int z;
 srand(time(0));
 int r = rand() % 37;
 cout << r << endl;
 char str[4];
 cin >> str;
 if(*str=='k')
 {
     cout<<"apple"<<endl;
     z=1;
 }
 if(z!=1)
 {
 int a = atoi(str);
 if(a == r)
 {
     cout << "test" << endl;
 }
 else 
 {
     cout << "Error" << endl;
 }
 }
   system("pause");
   return 0;   
}
но это слишком грубо, нужно что попроще, поменьше и попонятнее.

Добавлено через 3 минуты
alsav22, Вот это уже работает, только я половины кода не понимаю. Не мог бы ты оставить комментарии к этой части:
C++
1
2
3
4
5
6
7
 stringstream s;
 s << r;
 string str;
 s >> str;
 cout << str << endl;
 string a;
 cin >> a;
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.09.2012, 00:19     Условие выполнения цикла #24
C++
1
2
3
4
5
6
7
 stringstream s; // поток для строк
 s << r; // туда число
 string str;
 s >> str; // оттуда строка
 cout << str << endl;
 string a;
 cin >> a;
Достаточно?
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
27.09.2012, 00:19     Условие выполнения цикла #25
Если в первый if() ты не попадёшь, какое значение будет у z ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 00:23     Условие выполнения цикла
Еще ссылки по теме:

C++ Не работает условие цикла
Операторы в условии выполнения цикла while C++
Не выполняется условие вложенного цикла C++

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

Или воспользуйтесь поиском по форуму:
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
27.09.2012, 00:23  [ТС]     Условие выполнения цикла #26
Цитата Сообщение от alsav22 Посмотреть сообщение
Достаточно?
Благодарю. Дальше смогу сам разобраться.
Yandex
Объявления
27.09.2012, 00:23     Условие выполнения цикла
Ответ Создать тему
Опции темы

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