Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.95
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
#1

declaration syntax error на строчке void main - C++

05.02.2012, 12:49. Просмотров 5353. Ответов 29
Метки нет (Все метки)

Вот код программы, между void и main выдает ошибку declaration syntax error, что я не так делаю? моя первая прога на с++, поэтому прошу помощи)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  #include<math.h>
  #include<stdio.h>
  #include<conio.h>
float x,y,a,b,z
 
   void main()
{
   clrscr();
   printf("Vvedite a:");
   scanf("%d";&a);
   printf("Vvedite b:");
   scanf("%d";&b);
   printf("Vvedite x:");
   scanf("%d";&x);
   y=0.02;
   z=((sin(2*x-b*b)-7*a*(y*y))/(x*x*x*x+1))-(sqrt(cos(y)-5*(exp(ln(y)*6)))/(6-cos(y));
   printf("z=%d",z);
   getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2012, 12:49     declaration syntax error на строчке void main
Посмотрите здесь:
C++ [C++ Error] Unit1.cpp(6): E2141 Declaration syntax error
C++ Declaration syntax error
C++ (7,3):Declaration syntax error
C++ Error E2141 Declaration syntax error
C++ ошибка declaration syntax error
C++ Пишет в программе Declaration syntax error
Declaration syntax error не понимаю почему C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 12:54     declaration syntax error на строчке void main #2
gylayko, по стандарту функция main должа возвращать значение типа int.
dimcoder
Полярный
453 / 426 / 66
Регистрация: 11.09.2011
Сообщений: 1,128
05.02.2012, 12:56     declaration syntax error на строчке void main #3
Цитата Сообщение от gylayko Посмотреть сообщение
float x,y,a,b,z
semicolon ; забыли

silent_1991,
Цитата Сообщение от gylayko Посмотреть сообщение
#include<math.h>
\\...

getch();
Видимо в борланде работает -> на void ему пофиг.
А так лучше конечно на int поправить
silent_1991
05.02.2012, 12:57
  #4

Не по теме:

Цитата Сообщение от dimcoder Посмотреть сообщение
semicolon ; забыли
А вот на это даже не смотрел))

BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:01     declaration syntax error на строчке void main #5
И на это вот:
C
1
2
3
4
5
scanf("%d";&a);
   printf("Vvedite b:");
   scanf("%d";&b);
   printf("Vvedite x:");
   scanf("%d";&x);
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 13:03     declaration syntax error на строчке void main #6
dimcoder, расширение не выдаёт борланд, ибо это Pure C (правда, насколько он Pure в борланде, я не знаю). А вот clrscr(); выдаёт.
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
05.02.2012, 13:04  [ТС]     declaration syntax error на строчке void main #7
Цитата Сообщение от silent_1991 Посмотреть сообщение
gylayko, по стандарту функция main должа возвращать значение типа int.
а у меня возвращает типа float, а что тогда нужно вместо void main() ? при замене переенных на тип int ошибка не пропадает)
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 13:06     declaration syntax error на строчке void main #8
Цитата Сообщение от gylayko Посмотреть сообщение
а у меня возвращает типа float
ЩИТО?
Цитата Сообщение от gylayko Посмотреть сообщение
при замене переенных на тип int
А переменный тут при чём? По стандарту функция main может быть описана либо как
C
1
int main(void);
, либо как
C
1
int main(int argc, char *argv[]);
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:09     declaration syntax error на строчке void main #9
Так должно работать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  #include<math.h>
  #include<stdio.h>
  #include<conio.h>
float x,y,a,b,z;
 
   int main()
{
   printf("Vvedite a:");
   scanf("%d",&a);
   printf("Vvedite b:");
   scanf("%d",&b);
   printf("Vvedite x:");
   scanf("%d",&x);
   y=0.02;
   z=((sin(2*x-b*b)-7*a*(y*y))/(x*x*x*x+1))-(sqrt(cos(y)-5*(exp(log(y)*6)))/(6-cos(y)));
   printf("z=%d",z);
   getch();
   return 0;
}
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
05.02.2012, 13:12  [ТС]     declaration syntax error на строчке void main #10
Цитата Сообщение от BumerangSP Посмотреть сообщение
Так должно работать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  #include<math.h>
  #include<stdio.h>
  #include<conio.h>
float x,y,a,b,z;
 
   int main()
{
   printf("Vvedite a:");
   scanf("%d",&a);
   printf("Vvedite b:");
   scanf("%d",&b);
   printf("Vvedite x:");
   scanf("%d",&x);
   y=0.02;
   z=((sin(2*x-b*b)-7*a*(y*y))/(x*x*x*x+1))-(sqrt(cos(y)-5*(exp(log(y)*6)))/(6-cos(y)));
   printf("z=%d",z);
   getch();
   return 0;
}
все равно перед main та же ошибка!
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 13:15     declaration syntax error на строчке void main #11
А вот так будет даже правильно работать. И будет выглядеть более-менее верно с точки зрения стиля.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<math.h>
#include<stdio.h>
#include<conio.h>
 
int main(void)
{
    float x, y, a, b, z;
    
    printf("Vvedite a:");
    scanf("%f", &a);
    printf("Vvedite b:");
    scanf("%f", &b);
    printf("Vvedite x:");
    scanf("%f", &x);
    
    y = 0.02;
    z = ((sin(2 * x - b * b) - 7 * a * (y * y)) / (x * x * x * x + 1)) - (sqrt(cos(y) - 5 * (exp(log(y) * 6))) / (6 - cos(y)));
    
    printf("z=%f", z);
    
    getch();
    
    return 0;
}
dimcoder
Полярный
453 / 426 / 66
Регистрация: 11.09.2011
Сообщений: 1,128
05.02.2012, 13:16     declaration syntax error на строчке void main #12
Цитата Сообщение от gylayko Посмотреть сообщение
все равно перед main та же ошибка!
Среду разработки и компилер назовите. Скомпилел на борланд 3.1 все работает.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:17     declaration syntax error на строчке void main #13
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  #include<math.h>
  #include<stdio.h>
float x,y,a,b,z;
   int main()
{
   printf("Vvedite a:");
   scanf("%f",&a);
   printf("Vvedite b:");
   scanf("%f",&b);
   printf("Vvedite x:");
   scanf("%f",&x);
   y=0.02;
   z=((sin(2*x-b*b)-7*a*(y*y))/(x*x*x*x+1))-(sqrt(cos(y)-5*(exp(log(y)*6)))/(6-cos(y)));
   printf("z=%f",z);
   return 0;
}
http://liveworkspace.org/code/314bcb...f64fc9afa745ce
Как бы не думал, что он ошибку выдаст. Максимум предупреждение
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
05.02.2012, 13:25  [ТС]     declaration syntax error на строчке void main #14
Цитата Сообщение от dimcoder Посмотреть сообщение
Среду разработки и компилер назовите. Скомпилел на борланд 3.1 все работает.
тот же борланд 3.1 только через dosbox ибо 64 бит!

Добавлено через 57 секунд
Цитата Сообщение от BumerangSP Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  #include<math.h>
  #include<stdio.h>
float x,y,a,b,z;
   int main()
{
   printf("Vvedite a:");
   scanf("%f",&a);
   printf("Vvedite b:");
   scanf("%f",&b);
   printf("Vvedite x:");
   scanf("%f",&x);
   y=0.02;
   z=((sin(2*x-b*b)-7*a*(y*y))/(x*x*x*x+1))-(sqrt(cos(y)-5*(exp(log(y)*6)))/(6-cos(y)));
   printf("z=%f",z);
   return 0;
}
http://liveworkspace.org/code/314bcb...f64fc9afa745ce
Как бы не думал, что он ошибку выдаст. Максимум предупреждение
а что за программа на фото? так ведь удобнее! без всяких досбоксов и т.д. работает?
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:26     declaration syntax error на строчке void main #15
Цитата Сообщение от gylayko Посмотреть сообщение
а что это за программа на фото?
Если Вы о ссылке, то это онлайн компилер. Кстати, вещь удобная)
gylayko
30 / 29 / 4
Регистрация: 28.09.2011
Сообщений: 448
05.02.2012, 13:29  [ТС]     declaration syntax error на строчке void main #16
Цитата Сообщение от BumerangSP Посмотреть сообщение
Если Вы о ссылке, то это онлайн компилер. Кстати, вещь удобная)
ну да, там все работает также как и у Вас! а через обычный компилятор борланд 3.1 нифига!
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 13:32     declaration syntax error на строчке void main #17
Цитата Сообщение от gylayko Посмотреть сообщение
обычный компилятор борланд 3.1
А потому что это не обычный компилятор. Это чрезвычайно древний компилятор, ему уже 20 лет. за это время успели выпустить три стандарта и несколько правок к ним.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:34     declaration syntax error на строчке void main #18
Цитата Сообщение от gylayko Посмотреть сообщение
ну да, там все работает также как и у Вас! а через обычный компилятор борланд 3.1 нифига!
Это говорит о том, что код правильный. Но в онлайн компиляторе можно только проверять на ошибки. Поэтому стоит найти лучше что-нибудь поновей борланда, типа dev-cpp. Лучше конечно сразу MVC.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.02.2012, 13:36     declaration syntax error на строчке void main #19
Цитата Сообщение от BumerangSP Посмотреть сообщение
MVC
Не очень хороший совет, у него есть некоторые проблемы со стандартом.

Цитата Сообщение от BumerangSP Посмотреть сообщение
dev-cpp
Не такая уж она и новая.

gylayko, советую среду, к которой можно подключить любой компилятор (на ваш выбор) и компилятор mingw, как можно новее (последняя релизная версия 4.6.2).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2012, 13:40     declaration syntax error на строчке void main
Еще ссылки по теме:
C++ Ошибка "Declaration syntax error"
Ошибка компиляции: error C2562: main: функция типа "void" C++
Какая разница между int main и void main? C++
Какой новые синтаксис: int main() VS. void main() C++
C++ Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;}

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.02.2012, 13:40     declaration syntax error на строчке void main #20
Цитата Сообщение от silent_1991 Посмотреть сообщение
Не очень хороший совет, у него есть некоторые проблемы со стандартом.
По крайней мере уж с такими ошибками должен справляться
Не такая уж она и новая.
Слышал, что WxDev-cpp вроде как обновляется.
Yandex
Объявления
05.02.2012, 13:40     declaration syntax error на строчке void main
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru