| 
| 
 | Вопрос # 5 408/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Доброго времени суток, уважаемые эксперты!
 Подскажите пожалуйста как реализовать такую часть программы, остальное все я уже написал (новичек совсем)
 пользователь вводит данные Z, если они в диапазоне от 0.25 до 0.76 то все ок, едем дальше, а если выходят за диапазон, то выводится сообщение "введены неверные данные Z" и возвращается на повтор ввода Z. Код пишу на ВС4.5, совсем старенький - но это единственное что есть в моем институте. ЗАранее огромное спасибо. Пробовал вот так, но не получается
 
|  |   Вопрос задал: 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 (статус: Посетитель), 14 июня 2011, 11:09 [#1]:Спасибо огромное) но есть одно но... Работает как раз наоборот, хотя я даже сам не понимаю почему. Позволяет вводить любые значения, кроме 0.25-0.76. Знаки менял уже по всякому, эффекта ноль...( |  
|   | 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™ (статус: Доктор наук), 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 (статус: 3-ий класс), 14 июня 2011, 16:05 [#5]: Цитата (fff_GODsTBAPb): ðàáîòêè (Ñ - "; Блин, когда уже будет исправлена эта жуткая гомосятина?
 
 
 Цитата (Вадим К): по правилам де Моргана Ого, не знал, что эти свойства носят чьё-то имя.
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 14 июня 2011, 17:05 [#6]: Цитата (bugmenot): Ого, не знал, что эти свойства носят чьё-то имя.  Поступай в наш универ, там так в бошку этого Моргана и карты Карно вдолбят, что по ночам всю жизнь сниться будет.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 14 июня 2011, 19:22 [#7]:Эти свойства настолько элементарно выводятся из определений И, ИЛИ и НЕ, что мне этого де Моргана даже не упомянули. виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | fff_GODsTBAPb (статус: Посетитель), 14 июня 2011, 21:42 [#8]:Огромное спасибо уважаемые эксперты, отдельно спасибо за то, что не стали зазнаваться, и ответили на такой глупый (для Вас) вопрос. Обещаю в ближайшее время пополнить ряды изучающих и уже пишуших Сишников! Все работает на ура, это моя первая прога!!! урааааааа.... |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |