Я пробовал искать тентов, но все потоки - разные языки.
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
void calcDistance (int x1, int y1, int x2, int y2);
int main()
{
int x1, y1, x2, y2;
cout << "Enter the points in coordinate pair form, ommiting parantheses" << endl;
cin >> x1 >> y1 >> x2 >> y2;
calcDistance (x1, y1, x2, y2);
system("pause");
// how do I cout the dist in main-- says dist isn't declared
}
void calcDistance (int x1, int y1, int x2, int y2)
{
int sideA;
sideA = x2 - x1;
int sideB;
sideB = y2 -y1;
int sideAsqd;
sideAsqd = sideA * sideA;
int sideBsqd;
sideBsqd = sideB * sideB;
int sideCsqd;
sideCsqd = sideAsqd + sideBsqd;
double dist;
dist = sqrt(sideCsqd);
cout << "The calculated distance is "<< dist << endl;
}
Как сделать второй cout в главном. Я пытаюсь просто поместить его в основное, но потом я получаю сообщение об ошибке, что dist не объявлен в области.
Я хочу иметь возможность использовать значение dist в main, в то время как оно было рассчитано в функции.
Измените свою функцию:
double calcDistance (int x1, int y1, int x2, int y2)
{
int sideA = x2 - x1;
int sideB = y2 -y1;
int sideAsqd = sideA * sideA;
int sideBsqd = sideB * sideB;
int sideCsqd = sideAsqd + sideBsqd;
double dist = sqrt(sideCsqd);
return dist;
}
И в основном делайте это:
double res = calcDistance (x1, y1, x2, y2);
cout << "The calculated distance is "<< res << endl;
Учитывая функцию, скажем,
void calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
}
Переменная dist
выходит за пределы области действия в закрывающей скобке, поэтому вы можете не только не ссылаться на нее из других источников, она не будет существовать, если вне функции.
Если вы хотите получить значение в другом месте, верните его:
double calcDistance (int x1, int y1, int x2, int y2)
{
//...
double dist;
//...
return dist;
}
Чтобы использовать его в другом месте, просто запишите возврат:
double distance = calcDistance(1,2,3,4);
Теперь у вас есть другая локальная переменная, называемая distance
которое вы можете использовать.
int sideA = x2 - x1;
и т.п.