Определить ограничения на вводимые пользователем значения и не допустить ввода неверных значений - C (СИ)
Формулировка задачи:
В общем, выделил жирным то с чем проблема.
А вообще программа работает, но как я понял нужно что бы окно ввода ( cmd.exe ) не закрывалось пока не будут введены правильные значения и не будет выведен ответ, а у меня после ввода пишет что "Введены некорректные значения" и предлагает нажать любую кнопку для закрытия окна.
Определить ограничения на вводимые пользователем значения и не допустить ввода неверных значений (
не продолжать программу пока не будут введены корректные значения
).#include "StdAfx.h" #include <stdio.h> #include <math.h> #include <clocale> int main(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); float m1, m2, r, F; float const G = 0.0000000000667384; // гравитационная постоянная printf("Введите массы тел и расстояние между телами: \n"); scanf("%f %f %f", &m1, &m2, &r); if ((m1 > 0) && (m2 > 0) && ( r > 0)) { F = ( G * m1 * m2 ) / ( r * r ); printf("Сила притяжения равна: %f\n", F); } else { printf ("Введены некорректные значения \n"); } getchar (); return 0; }
Не могу отредактировать название темы, модер выручай
Решение задачи: «Определить ограничения на вводимые пользователем значения и не допустить ввода неверных значений»
textual
Листинг программы
#include "stdafx.h" #include <stdio.h> #include <math.h> #include <locale.h> int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); float m1 = 0, m2 = 0, r = 0, F = 0; float const G = 0.0000000000667384; // гравитационная постоянная printf("Введите массы тел и расстояние между телами: \n"); scanf("%f %f %f", &m1, &m2, &r); fflush(stdin); if (!((m1 > 0) && (m2 > 0) && ( r > 0))) { do { printf ("Введены некорректные значения \n"); printf("Введите массы тел и расстояние между телами: \n"); scanf("%f %f %f", &m1, &m2, &r); fflush(stdin); } while (!(m1 > 0 && m2 > 0 && r > 0)); } F = ( G * m1 * m2 ) / ( r * r ); printf("Сила притяжения равна: %f \n", F); getchar(); return 0; }
Объяснение кода листинга программы
- Установка начальных значений переменных m1, m2, r, F и G.
- Вывод сообщения с просьбой ввести массы тел и расстояние между ними.
- Проверка корректности введенных значений. Если они некорректны, то пользователю выводится сообщение об ошибке и запрос на повторный ввод.
- Если значения корректны, то вычисляется сила притяжения F как произведение G на массы тел и расстояние между ними, деленное на квадрат расстояния.
- Выводится значение силы притяжения F.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д