Непонятный кусчек кода, для чего он нужен.Непонятно его значение - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет! Снова вопрос, как можно реализовать следующую вещь: Допустим я ввожу какой либо символ из 3 (в моем случае F,C или K) и перед ним цифру. 1 цель: Если буква отличается от F,C или K, (например введу 42G) то он выдает мне "G is not a valid temperature type. Ending program." 2 цель: Если я ввожу не просто цифры и всего лишь одну букву, а ввожу например целое слово (например 420 Blaze), то он выдает "Invalid formatting. Ending program." Мои небольшие старания (необходимая часть программы) в ней только 2 цель реализована:
void temperature() {
    float numerial = 0;
    char FirstChoiceTemp = 'o';
    
    printf("Enter the temperature followed by its suffix (F, C, or K): ");
    scanf(" %f %c",&numerial,&FirstChoiceTemp);
    
    if( (FirstChoiceTemp == 'K') || (FirstChoiceTemp == 'k') ){
        Kelvin(numerial);               //вызываем функцию и передаем значение
    }
    else if( (FirstChoiceTemp == 'C') || (FirstChoiceTemp == 'c') ){
        Celsii(numerial);
    }
    else if( (FirstChoiceTemp == 'F') || (FirstChoiceTemp == 'f') ){
        Farenheit(numerial);
    }
    else {
        printf("Invalid formatting. Ending program.");
    }
    
}
В ней реализована только 2 цель, и если я введу 42 G, он не выведет мне ""G is not a valid temperature type. Ending program."

Решение задачи: «Непонятный кусчек кода, для чего он нужен.Непонятно его значение»

textual
Листинг программы
if( (FirstChoiceTemp == 'K') || (FirstChoiceTemp == 'k') ){
        Kelvin(numerial);               //вызываем функцию и передаем значение
    }
    else if( (FirstChoiceTemp == 'C') || (FirstChoiceTemp == 'c') ){
        Celsii(numerial);
    }
    else if( (FirstChoiceTemp == 'F') || (FirstChoiceTemp == 'f') ){
        Farenheit(numerial);
    }
    else {
        if( (FirstChoiceTemp == 'A') || (FirstChoiceTemp == 'a')|| (FirstChoiceTemp == 'B')|| (FirstChoiceTemp == 'b') .. и т.д. ) printf("%s is not a valid temperature type. Ending program.\n", FirstChoiceTemp);
        else {
        printf("Invalid formatting. Ending program.");
        }
    }

Объяснение кода листинга программы

  1. Переменная FirstChoiceTemp содержит значение, которое было введено пользователем.
  2. Если FirstChoiceTemp равно 'K' или 'k', то вызывается функция Kelvin(numerial).
  3. Если FirstChoiceTemp равно 'C' или 'c', то вызывается функция Celsii(numerial).
  4. Если FirstChoiceTemp равно 'F' или 'f', то вызывается функция Farenheit(numerial).
  5. Если FirstChoiceTemp не равно 'K', 'C', 'F', 'k', 'c', 'f', 'A', 'a', 'B', 'b', то выводится сообщение Invalid formatting. Ending program..
  6. Если FirstChoiceTemp не равно 'K', 'C', 'F', 'k', 'c', 'f', 'A', 'a', 'B', 'b', 'K', 'k', 'C', 'c', 'F', 'f', 'A', 'a', 'B', 'b', 'A', 'a', 'B', 'b', то выводится сообщение Invalid formatting. Ending program..

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы