Переделать с помощью тернарных операторов программу перевода сантиметорв в дюймы - C (СИ)

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

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

Здравствуйте! помогите пожалуйста разобраться что не так?
//Ввести длину отрезка с указанием шкалы измерения(c – сантиметры, i – дюймы), напечатать результат в обеих шкалах : например,
//a.при вводе «2i» напечатать «2” = 5.08 cm»
//b.при вводе «5.08c» напечатать «5.08  cm = 2”»
 
int main(){
    char c;
    int a,z;
    scanf("%d%s", &a, &c);
    z = c == 'c' ? a * 0.39 : c == 'i' ? a * 2.54 : 'Invalid format';
    printf("%.2f\n",z);
    system("pause");
}
Задумка в том чтобы решить с помощью тернарный условный оператор. Ошибка в типе данных(

Решение задачи: «Переделать с помощью тернарных операторов программу перевода сантиметорв в дюймы»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
//Ввести длину отрезка с указанием шкалы измерения(c – сантиметры, i – дюймы), 
//напечатать результат в обеих шкалах : например,
//a.при вводе «2i» напечатать «2” = 5.08 cm»
//b.при вводе «5.08c» напечатать «5.08  cm = 2”»
int main()
{
    double  a;
    char c;
    printf("Input length:\n");
    scanf("%lf", &a);
    printf("If inches-press i, if centimeters-press c \n");
    scanf("%s", &c);
    c == 'i' ? printf("Length is %g inches or %g centimeters.\n", a, a * 2.54):
        c == 'c' ? printf("Length is %g centimeters or %g inches.\n", a, a/2.54):
            printf("Invalid input\n");
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы
  2. Указываем точку входа в программу
  3. Объявляем переменные a и c типа double и char соответственно
  4. Выводим сообщение приглашающее ввести длину отрезка
  5. Считываем значение длины отрезка с помощью функции scanf и сохраняем его в переменной a
  6. Выводим сообщение приглашающее указать единицы измерения(i или c)
  7. Считываем значение единицы измерения с помощью функции scanf и сохраняем его в переменной c
  8. Осуществляем проверку значения переменной c
  9. Если значение переменной c равно 'i', то выводим результат в дюймах, иначе выводим результат в сантиметрах
  10. Возвращаем 0, чтобы указать, что программа успешно завершилась

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

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