Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2008, 19:28   #1
Trojan-PSW.Win32
Алый цветок
Пользователь
 
Регистрация: 28.01.2008
Сообщений: 13
Вопрос С++ Просьба найти синтаксическую ошибку

Код:
 

//---------------------------------------------------------------------------


#include <iostream.h>
#include <conio.h>
#pragma hdrstop

int multiply (int, int)
void showResult(int)


int main(int argc, char** argv)
{
        int x, y, result;
        cout << endl << "Enter the first Value: ";
        cin >> x;
        cout << "Enter the Second Value: ";
        cin >> y;
        result = multiply(x,y);
        showResult (result);
        cout << endl << endl << "Press Any Key...";
        getch();
        return 0;
}

int multiply (int x, int y)
{
        return x * y;
}
void showResult(int res)
{
        cout << "The result is: " << result  << endl;
}

//---------------------------------------------------------------------------

При запуске выдает [C++ Error] Unit1.cpp(9): E2141 Declaration syntax error

Уже и так и эдак покрутил. Не могу понять в чем ошибка...
За ранее благодарен

Немножечку введу поправку, чтобы не вводить в заблуждение.

Компилятор находит ошибку в 9 строчке, где находится:

void showResult(int)

Курсор кидает сразу после void

все.
Если вы не устанавливаете правила, то вынуждены жить по чужим...

Последний раз редактировалось Trojan-PSW.Win32; 02.02.2008 в 19:32. Причина: исправление ошибок
Trojan-PSW.Win32 вне форума Ответить с цитированием
Старый 02.02.2008, 19:38   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

int multiply (int, int);
void showResult(int);
B_N вне форума Ответить с цитированием
Старый 02.02.2008, 19:48   #3
Horror
Пользователь
 
Регистрация: 02.02.2008
Сообщений: 25
По умолчанию

и еще эта функция нетак будет работать!

void showResult(int res)
{
cout << "The result is: " << result << endl;
}
надо
void showResult(int res)
{
cout << "The result is: " << res << endl;
}
Horror вне форума Ответить с цитированием
Старый 02.02.2008, 19:52   #4
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Че то я не очень понял задачу функции. Просто умножить два числа?? Тогда может так: (тока я там много чего поменял, поэтому это скорее всего бред.... но и тем ни менее)
Код:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
 
  
  int multiply (int x, int y)  
 { 
         return x * y; 
 }   
   
    void showResult(int res)  
 { 
 cout << "The result is: " << res << endl; 
 return;
 }  
 
 int main(int nNumberofArgs, char* pszArgs[])  
 { 
         int x, y, result; 
         cout << endl << "Enter the first Value: "; 
         cin >> x; 
         cout << "Enter the Second Value: "; 
         cin >> y; 
         result = multiply(x,y); 
         showResult (result); 
         cout << endl << endl << "Press Any Key..."; 
         system("PAUSE");
         return 0; 
 }
P.S.: если не правильно не вините, просто функции только вчера начал изучать..... Просто хочу помочь. И еще: если что, удалите это сообщение...
Функции вроде нужно объявлять до строчки int main(int nNumberofArgs, char* pszArgs[])

Последний раз редактировалось Rembo; 02.02.2008 в 19:56.
Rembo вне форума Ответить с цитированием
Старый 02.02.2008, 22:44   #5
Horror
Пользователь
 
Регистрация: 02.02.2008
Сообщений: 25
По умолчанию

Цитата:
Функции вроде нужно объявлять до строчки int main(int nNumberofArgs, char* pszArgs[])
Я тоже новичек!
Но функции можно объявлять и после мэйна
просто надо до мэйна писать
прототипы функции
вообщем это имя функции и ее парматеры
типо так
тип_функции имя_функция ([параметры фукции]);
Horror вне форума Ответить с цитированием
Старый 03.02.2008, 06:29   #6
Trojan-PSW.Win32
Алый цветок
Пользователь
 
Регистрация: 28.01.2008
Сообщений: 13
По умолчанию

Спасибо всем за помощь, но код программы я не сам писал, а брал, как пример, из пособия, поэтому не хотелось бы ничего менять.

Почему вот работает не понятно - проверял досконально -все точь-в-точь написано.

Точек с запятыми там не должно.
Если вы не устанавливаете правила, то вынуждены жить по чужим...
Trojan-PSW.Win32 вне форума Ответить с цитированием
Старый 03.02.2008, 07:43   #7
Trojan-PSW.Win32
Алый цветок
Пользователь
 
Регистрация: 28.01.2008
Сообщений: 13
По умолчанию

Исправил несколько операторов (получилось ни как в книге, но главное же что работает)

Если кому интересно, как небольшой пример в начале изучения Си, то я выкладываю ниже:

Код:
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
#pragma hdrstop

int main(int argc, char** argv)
{
        int multiply (int, int);
        void showResult(int);
        int x, y;
        int result;
        cout << endl << "Enter the first Value: ";
        cin >> x;
        cout << "Enter the Second Value: ";
        cin >> y;
        result = multiply(x,y);
        showResult (result);
        cout << endl << endl << "Press Any Key...";
        getch();
        return 0;
}

int multiply (int x, int y)
{
        return x * y;
}
void showResult(int result)


{

        cout << "The result is: " << result  << endl;
}

//---------------------------------------------------------------------------
всем спасибо за внимание
Если вы не устанавливаете правила, то вынуждены жить по чужим...
Trojan-PSW.Win32 вне форума Ответить с цитированием
Старый 03.02.2008, 09:02   #8
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Trojan-PSW.Win32 Посмотреть сообщение
Точек с запятыми там не должно.
Вы только мне не рассказывайте, должны там быть ";" или нет. А если "не хотелось бы ничего менять", то какой смысл спрашивать?

Цитата:
Сообщение от Trojan-PSW.Win32 Посмотреть сообщение
Исправил несколько операторов (получилось ни как в книге, но главное же что работает)
Ну и что, что работает? А зачем тогда Вы здесь точки с запятой поставили?

Последний раз редактировалось B_N; 03.02.2008 в 09:15.
B_N вне форума Ответить с цитированием
Старый 03.02.2008, 19:07   #9
Trojan-PSW.Win32
Алый цветок
Пользователь
 
Регистрация: 28.01.2008
Сообщений: 13
По умолчанию

Цитата:
Вы только мне не рассказывайте, должны там быть ";" или нет. А если "не хотелось бы ничего менять", то какой смысл спрашивать?
я вам не рассказываю. Я говорю, что у меня не работало.
Если вы не устанавливаете правила, то вынуждены жить по чужим...
Trojan-PSW.Win32 вне форума Ответить с цитированием
Старый 07.02.2008, 13:19   #10
Forrest Gamp
Пользователь
 
Регистрация: 06.02.2008
Сообщений: 10
По умолчанию

да в этих пособиях под вижуал 2003 писали. щас библиотеки некоторые подругому вызывают(название) и endl не нада, да и нужно писать код внятно и удобно для себя.
Forrest Gamp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку! Студентка@ Помощь студентам 3 21.05.2008 14:21
Помогите найти ошибку Дима82 Помощь студентам 4 19.05.2008 15:05
Помогите найти ошибку N!ckeL Общие вопросы Delphi 9 05.05.2008 14:15
Помогите найти ошибку KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 1 11.04.2008 15:48
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14