Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 15.11.2012
Сообщений: 88
1

Помогите найти и исправить ошибку в коде

14.12.2012, 01:57. Просмотров 812. Ответов 6
Метки нет (Все метки)


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

Используя глобальные переменные,нужно обеспечить передачу информации между функциями первого (main) и второго модулей. Второй модуль должен содержать 2 функции: add и sub, вычисляющих соответственно сумму и разность 2 входных данных: x и y. Точные определения функций:
void Add(int x, int y);
int Sub();

Выдает ошибки "переопределение формального параметра"
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
#include "stdafx.h"
#include "iostream"
int main()
{
    int x=10;
    int y=15;
    return 0;
}
#include "stdafx.h"
#include <math.h>
#include "conio.h"  
void Add(int x,int y)
{
    extern int x,y;
    int z;
    z=x+y;
    printf ("summa=%d",z);
}
int Sub()
{
    extern int x,y;
    int w;
    w=y-x;
    printf ("raznost=%d",w);
    return 0;
}
---------------------
Написала программу,с суммой все в порядке,а вот в разности всегда выдаёт 0,где ошибка?

1ый модуль:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <stdio.h>
int Result1,Result2;
extern void Add(int x,int y);
int X,Y;
int main()
{
    Add (10,15);
        printf("summa=%d \n",Result1);
    X=10;
    Y=15;
    printf ("raznost=%d \n",Result2);
}
2ой модуль
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include "iostream"
extern int Result1,Result2;
extern int Y,X;
void Add (int x,int y)
{
    Result1=x+y;
}
int Sub ()
{
    Result2=Y-X;
    return Result2;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2012, 01:57
Ответы с готовыми решениями:

Помогите исправить ошибку в коде с++
Решаю задачу с вот такими вычислениями. for(x=1;x &lt; r-1; x++) { while ((sqr(x) + sqr(y))...

Помогите исправить ошибку в коде
7,3.cpp: In function ‘int main()’: 7,3.cpp:7:7: error: ‘int dist::feet’ is private int feet; ...

Помогите исправить ошибку в коде (fatal error LNK1120: unresolved externals) я новичек
Народ, всем доброго вечера! помогите пожалуйста найти линк еррор. Вот мой код // SavingsAccount.h...

Найти и исправить ошибку в коде
class T1 { double *p; int kol; public: T1(int a); //выделяет динам. память...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
6
21 / 21 / 8
Регистрация: 11.12.2012
Сообщений: 64
14.12.2012, 02:12 2
Вот здесь
C++
1
2
3
4
5
6
7
void Add(int x,int y)
{
    extern int x,y;
    int z;
    z=x+y;
    printf ("summa=%d",z);
}
вы сначала х и у передаете как параметры, а потом еще их обьявляете extern int x,y;
0
12 / 12 / 3
Регистрация: 05.11.2012
Сообщений: 49
14.12.2012, 10:17 3
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include "iostream"
int main()
{
 int x=10;
 int y=15;
 return 0;
}
#include "stdafx.h"
#include <math.h>
#include "conio.h"[/quote]
директивы препроцессора обычно пишут в самом начале
0
Don't worry, be happy
16972 / 9853 / 1897
Регистрация: 27.09.2012
Сообщений: 24,436
Записей в блоге: 1
16.12.2012, 02:12 4
а где вызов функции Sub?
1
Форумчанин
Эксперт CЭксперт С++
8164 / 5012 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
16.12.2012, 02:15 5
main.cpp
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include "func.h"
 
int X = 10, Y = 15;
 
int main()
{
    std::cout << Add(10, 15) << std::endl << Sub();
}
func.h
C++
1
2
3
4
5
6
7
#ifndef FUNC_H_
#define FUNC_H_
 
int Add(int, int);
int Sub();
 
#endif // FUNC_H_
func.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "func.h"
 
int Add(int x, int y)
{
    return x + y;
}
 
extern int X, Y;
 
int Sub()
{
    return X - Y;
}
1
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
16.12.2012, 02:15 6
Вы забыли extern int Sub и ее нигде не вызываете
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int Result1,Result2;
extern void Add(int x,int y);
extern int Sub();
int X,Y;
int main()
{
    Add (10,15);
        printf("summa=%d \n",Result1);
    X=10;
    Y=15;
    Result2=Sub();
    printf ("raznost=%d \n",Result2);
}
1
Форумчанин
Эксперт CЭксперт С++
8164 / 5012 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
16.12.2012, 02:16 7
функцию Add я int сделал, ну исправите, несложно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 02:16

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Найти и исправить ошибку в коде
Вроде бы сделал все правильно, но она все равно не хочет работать. #include &quot;stdafx.h&quot; #include...

Найти и исправить ошибку в коде
Программа выдаёт ошибку в 27-ой строке (отметила комментарием), там я пытаюсь вычислить...

Найти и исправить ошибку в коде
class TV; class Remote { private: int mode; public: Remote(int n) : mode(n){} void...

Найти и исправить ошибку в коде
Где ошибка в коде простейшей программы? Пограмма должна отсчитать до 3 и завершить цикл, однако...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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