Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 408

Раздел: C++
/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Доброго времени суток, уважаемые эксперты!
Подскажите пожалуйста как реализовать такую часть программы, остальное все я уже написал (новичек совсем)
пользователь вводит данные Z, если они в диапазоне от 0.25 до 0.76 то все ок, едем дальше, а если выходят за диапазон, то выводится сообщение "введены неверные данные Z" и возвращается на повтор ввода Z. Код пишу на ВС4.5, совсем старенький - но это единственное что есть в моем институте. ЗАранее огромное спасибо. Пробовал вот так, но не получается

Приложение:
  1. double b = 0.26;
  2. double d = 0.73;
  3. while(b <= z <= d)
  4. {
  5.  
  6. cin >> z;
  7. }


fff_GODsTBAPb Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: fff_GODsTBAPb (статус: Посетитель)
Вопрос отправлен: 14 июня 2011, 07:39
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Ну вот как-то так:

do
{
  cout << "\n Введите значение(z) - ";
  cin >> z;
} while ((z < 0.25) || (z > 0.76));

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 14 июня 2011, 08:26
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 14 июня 2011, 21:42; участников в обсуждении: 4.
fff_GODsTBAPb

fff_GODsTBAPb (статус: Посетитель), 14 июня 2011, 11:09 [#1]:

Спасибо огромное) но есть одно но... Работает как раз наоборот, хотя я даже сам не понимаю почему. Позволяет вводить любые значения, кроме 0.25-0.76. Знаки менял уже по всякому, эффекта ноль...(
fff_GODsTBAPb

fff_GODsTBAPb (статус: Посетитель), 14 июня 2011, 11:11 [#2]:

Может надо тип z не double?
Или может какую то особую библиотеку подключить? вот на всякий случай весь код
#include <conio.h>
#include <iostream.h>
#include <windows.h>
#include <math.h>
 
int main()
{
   double C = 0;
   double Pz = 0;
   int s = 0;
   int v = 0;
   double t = 0;
    double z = 0;
    double x = 0;
    double y = 0;
 
    double a = 427;
 
 
  cout << "\n $$$ ПРОГРАММА РАСЧЕТА КОЛИЧЕСТВА ТЕПЛА И ТЕМПЕРАТУРЫ РЕЗАНИЯ $$$";
  cout << "\n ";
  cout << "\n Введите коэффициент, характеризующий условия обработки (С) - ";
  cin >> C;
  cout << "\n Введите силу резания (Pz) - ";
  cin >> Pz;
  cout << "\n Введите подачу (s), мм/об - ";
  cin >> s;
  cout << "\n Введите скорость резания (v) - ";
  cin >>  v;
  cout << "\n Введите глубину резания (t), мм - ";
  cin >> t;
 
    do
  {
  cout << "\n Введите значение(z) - ";
  cin >> z;
  }
    while ((z >= 0.25) && (z <= 0.76));
 
  cout << "\n Введите показатель степени (x) - ";
  cin >> x;
  cout << "\n Введите показатель степени (y) - ";
  cin >> y;
 
   double Q = Pz*v/a;
   double T = C*pow(v, z)*pow(s, x)*pow(t, y);
 
   cout << "\n ";
   cout << "\n ";
   cout << " Количество тепла равно = " << Q << " кал/мин";
   cout << "\n ";
   cout << " Температура резаниЯ равна = " << T << " град.";
 
 
   return 0;
}
min@y™

min@y™ (статус: Доктор наук), 14 июня 2011, 11:25 [#3]:

Прошу прощения, с утра у меня мозги ещё спят. Попутал с паскалевским repeat...until. Ответ изменил, теперь должно работать.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 14 июня 2011, 11:29 [#4]:

Посмотрите внимательней на Ваше условие для цикла и то, которое дал min@y™ в своем ответе.
правильно записать условие так
!((z >= 0.25) && (z <= 0.76))
что в принципе равно
(z < 0.25) || (z > 0.76)
что в принципе логично по правилам де Моргана
Галочка "подтверждения прочтения" - вселенское зло.
bugmenot

bugmenot (статус: 3-ий класс), 14 июня 2011, 16:05 [#5]:

Цитата (fff_GODsTBAPb):

ðàáîòêè (Ñ - ";

Блин, когда уже будет исправлена эта жуткая гомосятина?

Цитата (Вадим К):

по правилам де Моргана

Ого, не знал, что эти свойства носят чьё-то имя.
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 14 июня 2011, 17:05 [#6]:

Цитата (bugmenot):

Ого, не знал, что эти свойства носят чьё-то имя.

Поступай в наш универ, там так в бошку этого Моргана и карты Карно вдолбят, что по ночам всю жизнь сниться будет.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 14 июня 2011, 19:22 [#7]:

Эти свойства настолько элементарно выводятся из определений И, ИЛИ и НЕ, что мне этого де Моргана даже не упомянули.
виконання програми розпочинається з того самого мiсця, де призупинилося.

fff_GODsTBAPb

fff_GODsTBAPb (статус: Посетитель), 14 июня 2011, 21:42 [#8]:

Огромное спасибо уважаемые эксперты, отдельно спасибо за то, что не стали зазнаваться, и ответили на такой глупый (для Вас) вопрос. Обещаю в ближайшее время пополнить ряды изучающих и уже пишуших Сишников! Все работает на ура, это моя первая прога!!! урааааааа....

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:55
Выполнено за 0.03 сек.