Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: error: expected unqualified-id before '{' token  (Прочитано 2212 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн John404

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
error: expected unqualified-id before '{' token
« : 09 Октября 2017, 18:41:53 »
В программировании чайник, решил написать простенькую программу, но и она не заработала. Подскажите, уважаемые, в чем проблема?
Код: (c) [Выделить]
#include <stdio.h>
int main();
{
float a,b,c,max,min;
scanf("%f%f%f",&a,&b,&c);
if a>b && a>c max=a
else
min=a;
if b>a && b>c max=b
else
min=b;
if c>a && c>b max=c
else
min=c;
printf("%f\n%f",max,min);
}

Пользователь добавил сообщение 09 Октября 2017, 18:55:12:
Да, я уже поставил скобки и убрал ";" после int main(). Теперь программа выглядит следующим образом:
Код: (c) [Выделить]
#include <stdio.h>
int main()
{
float a,b,c,max,min;
scanf("%f%f%f",&a,&b,&c);
if (a>b && a>c) max=a
else
min=a
if (b>a && b>c) max=b
else
min=b
if (c>a && c>b) max=c
else
min=c
printf("%f\n%f",max,min);
}

Но при компиляции выдает следующие ошибки:
Код: (html5) [Выделить]
Test.cpp:7: error: expected `;' before "else"
Test.cpp:4: warning: unused variable 'min'
« Последнее редактирование: 12 Октября 2017, 10:41:06 от Azure »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: error: expected unqualified-id before '{' token
« Ответ #1 : 11 Октября 2017, 15:27:05 »
Test.cpp:7: error: expected `;' before "else"
Test.cpp:4: warning: unused variable 'min'

Здесь говорится, что: в файле "Test.cpp" в строке "7" ошибка: ожидается ";" перед "else"

В дальнейшем читай вывод компилятора. Также такой вывод можно использовать в поисковике для поиска проблемы и её решения.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: error: expected unqualified-id before '{' token
« Ответ #2 : 12 Октября 2017, 00:35:55 »
ну наверное с синтаксисом и порядком выполнения комманд C/C++ вы решили не знакомится.
Тогда коротко:
а) после каждой операции надо ставит ;
б) оперции внутри if, циклов принято писать между {} (и надо, если опраций внутри более 1)

Итого:
Код: (cpp) [Выделить]
#include <stdio.h>
int main()
{
    float a,b,c,max,min;

    scanf("%f%f%f",&a,&b,&c);

    if (a>b && a>c) {
        max=a;
    } else {
        min=a;
    }

    if (b>a && b>c) {
        max=b;
    } else {
        min=b;
    }

    if (c>a && c>b) {
        max=c;
    } else {
        min=c;
    }

    printf("%f\n%f",max,min);
}

Ну и да, ваш вариант нахождения минимума и максимума логически неверный (а = 1, b = 3, c = 2)
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 12 Октября 2017, 00:56:49 от EvangelionDeath »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

 

Страница сгенерирована за 0.035 секунд. Запросов: 25.