Есть ли способ создать оператор if для вывода результата, в котором говорится, на сколько килограммов я перешел? - PullRequest
0 голосов
/ 18 октября 2019

Также возможно ли измерить килограмм ровно на 0,5 кг? Например, максимальный вес объекта составляет 20 кг, однако я ввожу объект весом 22,5 кг. Таким образом, результат будет «Вы превысили 2,5 кг.». Также возможно и наоборот (Вход = 15 кг, Выход = Вы не достигли минимального веса. Вам не хватает х кг). И возможно ли это на расстоянии? Например, минимальное расстояние составляет 10 км, а максимальное расстояние - 2000 км, но я вводю x км, что меньше 10 км или больше 2000 км. Вывод будет «Ваше расстояние меньше / больше на у км.»


#include <stdio.h>   //standard i/o
#include <math.h>   //roundoff

//Do not accept package’s weight less than 2 kg or more than 20 kg. And do not accept
//distance less than 10 km or more than 2000 km. These are the company’s policies.

int main()
{
    float weight, charges, rate;
    int distance;

    printf("Enter weight in kg: ");
    scanf_s("%f", &weight);

    printf("Shipping in distance in km: ");
    scanf_s("%d", &distance);

    if (weight < 2 || weight > 20 || distance < 10 || distance > 2000)
    {
        printf("The minimum weight is 2kg and the maximum weight is 20kg.\nThe minimum distance is 10km and the maximum distance is 2000km.");
        return 0;
    }
    else if (weight < 6)
    {
        rate = 2.2;
    }
    else if (weight < 10)
    {
        rate = 3.7;
    }
    else
    {
        rate = 4.8;
    }

    charges = (weight * rate);
    printf("Charges for %f", weight);
    printf(" kg and shipping distance of %d", distance);
    printf(" km are : RM%f", charges);
    return 0;
}

1 Ответ

0 голосов
/ 18 октября 2019

Это довольно просто на самом деле. Используйте оператор if отдельно для увеличения или уменьшения веса или расстояния .ie

#include<stdio.h> 

int main() 
{ 
    int distance;
    float weight;
    printf("Enter weight in kg:\n");
    scanf("%f",&weight);
    printf("Shipping in distance in km:\n");
    scanf("%d",&distance);
    if(weight>=20)
    {
        printf("you have exceeded by %f kg\n",weight-20);
    }
    else if(weight<=2)
    {
        printf("You have not achieved the minimum weight. You are short of %f kg\n",2-weight);    
    }
    if(distance>=2000)
    {
        printf("Your distance is more by %d km\n",distance-2000);
    }
    else if(distance<=10)
    {
        printf("Your distance is less by %d km\n",10-distance);
    }
}
...