Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 2
1

Пересечение условий при выполнении условного оператора

20.04.2017, 21:02. Показов 761. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Начну немного издалека.
Решил я заняться изучением какого-нибудь языка программирования из-за интереса и чисто для себя.
Сначала решил изучать Си, так как сам давно и активно пользуюсь Linux и *BSD, но наткнулся на одно обсуждение, в котором говорилось,
что появился такой язык, как rust, задача которого как раз состоит в том, чтобы заменить в будущем Си. Это меня заинтересовало и я подумал, что неплохо было бы ознакомиться с этим языком. Скачал учебник, начал читать. Оказалось всё мало понятным. Но написал по учебнику одну программу и даже пару строк от себя добавил, где смог.
Дело в том, что учебник, как я понял, рассчитан на тех, кто уже знаком как минимум с одним языком программирования, поэтому его принцип таков - минимум объяснений и в бой, писать программу. По крайней мере мне так показалось.
И та, программа, которая приводилась в учебники rust, называлась что-то типа "угадай число".
Скачал я себе несколько каких-то небольших pdf'ок по программированию на 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
37
38
39
#include <stdio.h>
 
int main(void)
 
{
 
int a = 10;
int b;
printf("\n\nЯ загадал число. Попробуй его угадать!\n\n");
printf("Введите ваше число: ");
scanf("%d", &b);
 
while  ( a != b )
 
{
 
if ( a < b ) 
 
{
 
printf("Ваше число слишком БОЛЬШОЕ. Повторите попытку: ");
scanf("%d", &b);
 
}
 
if ( a  >  b )
 
{
 
printf("Ваше число слишком маленькое. Повторите попытку: ");
scanf("%d", &b);
 
}
 
}
printf("Вы угадали! Секретное число  это %d", a);
getchar();
getchar();
}
Вопрос такой. Я хочу, чтобы при приближении к загаданному числу игрок получал что-то типа подсказки "Уже теплее".
Но если я ввожу ещё один условный оператор, условием в котором для печати данного сообщения будет что-то типа b < 5 || b > 50, то происходит пересечение с предыдущими условиями, так как b < 5 уже входит в условие a > b и условие b > 50 уже входит в условие a < b.
Подскажите, кто знает, как с этим бороться или где почитать на этот счёт.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2017, 21:02
Ответы с готовыми решениями:

Является ли результат условного оператора lvalue?
начало как ты определил, что на более новом gcc она не собирается ?

Тернарная операция без условного оператора
Здравствуйте. Подскажите пожалуйста,нужно записать тернарную операцию для решения данной задачи....

Составить программу вычисления с применением условного оператора
Заранее спс....

Переписать код с использованием одного условного оператора
Здравствуйте. Подскажите,пожалуйста,можно ли переделать код, чтобы использовался один условный...

2
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.04.2017, 23:19 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
d = a-b;
 
while (d != 0)
{
  if (d < -5) printf("Большое\n");
  else if (d < 0) printf("Большое, близко\n");
  else if (d < 5) printf("Маленькое, близко\n");
  else prinf("Маленькое\n");
  
  printf("Введите новое число: ");
  scanf("%d", &b);
  d = a-b;
}
1
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 2
21.04.2017, 01:53  [ТС] 3
Спасибо большое!
Всё работает. Сам бы я вряд ли догадался.
0
21.04.2017, 01:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2017, 01:53
Помогаю со студенческими работами здесь

Ошибка в вводе данных из HTML и переносе их в JavaScript, при выполнении оператора IF или оператора swithc
доброго времени суток, при выполнении одной учебной задачи столкнулся с проблемой: при введении...

Ошибка при записи условного оператора в PTC 3.1
Не пойму в чем касяк

Открытие формы при выполнении условий
Форумчане, приветствую! изделие на ремонт, возможно ли сформировать процедуру которая будет...

Активировать кнопку при выполнении нескольких условий
Есть два groupBox-a, в каждом из них есть по несколько checkBox-ов и textBox-ов. И есть одна кнопка...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru