Как я могу использовать C для проверки того, что разница между двумя числами не превышает X

#c #validation #if-statement

#c #проверка #if-statement

Вопрос:

Я вставил некоторый код ниже, чтобы дать краткое описание того, что я пишу. Я в основном должен сказать, что если разница между presentMeterReading и currentMeterReading составляет> 1000.. выдает ошибку.

например.

 printf("Usage is high at over 1000"); 
  
 if (presentMeterReading < 0 || presentMeterReading > 9999)
printf("That's out of range. Meter readings should be between 0 - 9999 n");

if (previousMeterReading < presentMeterReading || presentMeterReading > previousMeterReading)

printf("Present readings should not be more than previous readings.");

if (dayReadingTaken > 12 || dayReadingTaken < 1)

printf("That's not a valid month.");
  

Комментарии:

1. Обучение — это нормально, ожидается, даже когда вы здесь, поэтому не помечайте свои сообщения «noob». Это неуместно и унизительно.

2. dayReadingTaken подразумевает, что это день, а не месяц.

Ответ №1:

математика.

 #include <math.h>


    if (abs(presentMeterReading - currentMeterReading) > 1000) {
        /* too much difference */
    }
  

Комментарии:

1. Счетчики переворачиваются. Что, если предыдущее значение равно 9990, а новое значение равно 30?