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

Как исправить ошибку и в чем она заключается - C++

Восстановить пароль Регистрация
 
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
10.12.2013, 16:31     Как исправить ошибку и в чем она заключается #1
Привет,помогите пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
#include <math.h>
#include "vichiclenia.cpp"
using namespace std;
void main()
{
    setlocale(0,"russian");
    int a;
    cout<<"Введите число,которое не равно 0"<<endl;
    cin>>a;
        if(a>0)
            cout<<vivodOTR;
        else if(a<0)
            cout<<vivodPOL;
        
    
}
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <math.h>
using namespace std;
int summaZifr(int a)
{
    int summa=0;
    while (a)
    {summa=summa+(a%10);
    a=a/10;
    }
    return summa;
}
void vivodPOL (int a)
{  
    
    while(a)
    {
 
    int vr=a%10;
    cout<<"Строка по младшему разряду"<<vr;
    a=a/10;
    }
}
int vivodOTR (int a)
{
    int n=0;
    do
        {
        a=a%10;
        if(a>0)
        n++;
        }while(a);
    return n;
        {
            while(a)
            {
                int vr=a/pow(10.,n);
                    cout<<"Столбец по страшему разряду"<<endl<<a;
                n=n-1;
            }
    }
}
Ошибка 1 error LNK2005: "int __cdecl summaZifr(int)" (?summaZifr@@YAHH@Z) уже определен в Main.obj vichiclenia.obj

Ошибка 3 error LNK2005: "int __cdecl vivodOTR(int)" (?vivodOTR@@YAHH@Z) уже определен в Main.obj vichiclenia.obj

Ошибка 2 error LNK2005: "void __cdecl vivodPOL(int)" (?vivodPOL@@YAXH@Z) уже определен в Main.obj vichiclenia.obj

Ошибка 4 fatal error LNK1169: обнаружен многократно определенный символ - один или более laba.exe 1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
10.12.2013, 16:38     Как исправить ошибку и в чем она заключается #2
Это
vivodOTR
и это
vivodPOL
- неправильно
Передайте в функции параметры.
C++
1
2
3
vivodPOL (int a);
vivodOTR (int a);
summaZifr(int a);
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
10.12.2013, 16:39     Как исправить ошибку и в чем она заключается #3
Создайте vichiclenia.h
Замените
C++
1
#include "vichiclenia.cpp"
на
C++
1
#include "vichiclenia.h"
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
10.12.2013, 16:49  [ТС]     Как исправить ошибку и в чем она заключается #4
egor2116, Ошибка 2 error C2679: бинарный '<<': не найден оператор, принимающий правый операнд типа 'void' (или приемлемое преобразование отсутствует) а что это значит
C++
1
2
3
4
        if(a>0)
            cout<<vivodPOL(a);
        else if(a<0)
            cout<<vivodOTR(a);
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
10.12.2013, 17:03     Как исправить ошибку и в чем она заключается #5
а что это значит
Это значит что ваша функция
C++
1
void vivodPOL (int a)
не возвращает никакого значения, а вы хотите вывести на экран непонятно что.
Решение исправте функцию void vivodPOL (int a)
на
тип_возвращаемого_данного имя_функции (входящие _параметры)
{
что то делаете

return переменная //должна совпадать с тип_возвращаемого_данного
}

Пример

C++
1
2
3
4
5
6
int vivodPOL (int a)
{
    int b = a + 10;
   
    return b; //имеет тип int
}
Решение 2
Yandex
Объявления
10.12.2013, 17:03     Как исправить ошибку и в чем она заключается
Ответ Создать тему
Опции темы

Текущее время: 23:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru