Программа должна переводить температуру в другие шкалы и шкалы выбирает юзер но что то не работает - C (СИ)

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

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

#include <stdio.h>
 
int main()
{
    char inputType;
    double vveditechislo;
    double cel;
    double far;
    double kel;
    printf("vvedi tip temperaturi\n");
    printf("c\n");
    printf("f\n");
    printf("k\n");
    scanf("%a",inputType);
    switch(inputType)
    {
        case 1:
        printf("vvedite cel\n");
        scanf("%.3f" ,cel);
    far = 1.8 * cel + 32;
    kel = cel + 273;
    printf("farengate %3.f\n", far);
    printf("kel 3.%f\n",kel);
    break;
 
    case 2:
 
        printf("vvedite far\n");
        scanf("%.3f" ,kel);
        cel = (far - 32)/1.8;
        kel = cel +273;
        printf("cel %3.f\n", cel);
        printf("kel %3.f\n", kel);
        break;
 
        case 3:
 
            printf("vvedite kel\n");
            scanf("%3.f",& kel);
            cel = kel - 273;
            far = 1.8 * cel + 32;
            printf("cel %3.f\n", cel);
            printf("far %3.f\n", far);
            break;
        default:
            
             printf("pishi to chto nujno\n");

        }
 
    return 0;
}

Решение задачи: «Программа должна переводить температуру в другие шкалы и шкалы выбирает юзер но что то не работает»

textual
Листинг программы
#include <stdio.h>
#include <windows.h>
 
int main(void)
{
    SetConsoleOutputCP(1251);
    char unit;
    float c=0.0, k=0.0, f=0.0;
    printf("Введите из какой шкалы вы хотите перевести\nC\nF\nK\n");
    scanf("%c", &unit);
    switch(unit)
    {
    case 'c':
    case 'C':
        printf("Введите Цельс.\n");
        scanf("%f", &c);
        f = 1.8 * c + 32;
        k = c + 273;
        break;
    case 'f':
    case 'F':
        printf("Введите Фар.\n");
        scanf("%f", &f);
        c = (f - 32)/1.8;
        k = c +273;
        break;
    case 'k':
    case 'K':
        printf("Введите Кель.\n");
        scanf("%f", &k);
        c = k - 273;
        f = 1.8 * c + 32;
        break;
    default:        
        printf("Введены неправильные значения\n");
        return -1;
    }
    printf("Цельс. %f\n", c);
    printf("Фаренг. %f\n", f);
    printf("Кель. %f\n", k);
    return 0;
}

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

  1. Включаются необходимые заголовочные файлы
  2. Устанавливается кодировка консоли на windows.h
  3. Создаются и инициализируются нулевые значения переменных c, k, f
  4. Выводится запрос на ввод шкалы перевода
  5. Считывается введенное значение шкалы в переменную unit
  6. Создается блок switch для выбора шкалы перевода
  7. В каждом case происходит запрос на ввод значения в выбранной шкале
  8. После ввода значения происходит перевод в другую шкалу и обновление значений переменных c, k, f
  9. В конце программы выводятся значения переменных c, k, f в выбранной шкале
  10. Если введено недопустимое значение шкалы, выводится сообщение об ошибке и программа завершается с кодом -1

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


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

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

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