В этой строке есть ошибка

cin >> X >> Y;

Это функция, которой он принадлежит

void InputData(int *X,int *Y)
{
    cout << "Enter 2 integer values: ";
    cin >> X >> Y;
}

Ниже весь код

#include <iostream>
using namespace std;
void Message();
void InputData(int *X, int *Y);
void OutputData(int X, int Y, int Sum);
int ComputeSUM(int X, int Y);

int main()
{
 int X1,X2,SUM;

    Message();
    InputData(&X1,&X2);
    SUM=ComputeSUM(X1,X2);
    OutputData(X1,X2,SUM);
    return 0;
}
void Message()
{
    cout << "This program computes and displays SUM of 2 integer values!" << endl <<endl;
}

void InputData(int *X,int *Y)
{
    cout << "Enter 2 integer values: ";
    cin >> X >> Y;
}

void OutputData(int X, int Y, int Sum)
{
    cout << "The SUM of " << X << " and " << Y << " is " << Sum << endl;
}


int ComputeSUM(int X, int Y)
{
    int Sum;
    Sum=X+Y;                 //return(X+Y)
    return(Sum);
}

Посмотрите, что на терминале

Посмотрите, что на терминале

-------------------------------------------------- ---------- Ниже приведен исходный код на языке C

#include <stdio.h>
#include <conio.h>
void Message();
void InputData(int *X, int *Y);
void OutputData(int X, int Y, int Sum);
int ComputeSUM(int X, int Y);

int main()
{
 int X1,X2,SUM;

 clrscr();

 Message();
 InputData(&X1,&X2);
 SUM=ComputeSUM(X1,X2);
 OutputData(X1,X2,SUM);
 getch();
 return(0);
}
void Message()
{
  printf("This program computes and displays SUM of 2 integer values!\n\n");
}

void InputData(int *X,int *Y)
{
 printf("Enter 2 integer values; ");
 scanf("%d%d",X,Y);
}

void OutputData(int X, int Y, int Sum)
{
  printf("The SUM of %d and %d is %d\n",X,Y,Sum);
}


int ComputeSUM(int X, int Y)
{
  int Sum;

  Sum=X+Y;                 //return(X+Y)

  return(Sum);
}
c++ c
-3
user17796205 26 Янв 2022 в 15:52
3
C++ — это не C, C++ не работает так же, как C, и во многих случаях вы не можете делать вещи одинаково в C++ и C. никогда не получится хорошо. Вместо этого заново реализуйте алгоритмы или дизайн или, возможно, даже сделайте новый дизайн, который лучше подходит для целевого языка. И если вы серьезно относитесь к изучению C++, вложите средства в некоторые хорошие книги по C++ и посещайте курсы.
 – 
Some programmer dude
26 Янв 2022 в 15:55
Чтобы узнать о вашей конкретной проблеме и способах ее решения, изучите ссылки в C++ и способы передачи аргументов функции по ссылке.
 – 
Some programmer dude
26 Янв 2022 в 15:57
Просто примечание: попробуйте написать больше на С++, а не на С (С++ = c, c с классами, STL, шаблонами). вы можете создать класс, который делает это в большей степени С++ - это будет хорошей практикой
 – 
kobi
26 Янв 2022 в 16:04

2 ответа

Измените это:

void InputData(int *X,int *Y)

К этому:

void InputData(int &X,int &Y)

И это:

InputData(&X1,&X2)

К этому:

InputData(X1,X2)

И прочитайте «Передача по указателю против передачи по ссылке» для лучшего понимания.

0
bbbbbbbbb 26 Янв 2022 в 15:55
@Sneftel: Черт! ТС за указание :)
 – 
bbbbbbbbb
26 Янв 2022 в 15:55

Cin >> X >> Y; ->cin >> *X >> *Y;

-2
Foggy_Moon 26 Янв 2022 в 15:59
Пожалуйста, потратьте немного больше времени на ответ и 1) отформатируйте свой ответ соответствующим образом, 2) объясните, что делает ваш код, в чем проблема и как ваше решение помогает.
 – 
BDL
26 Янв 2022 в 16:31