#include <iostream>

#include <ctime>

#include <cmath>

void dist_2d();

void recall();

using namespace std;


int main() {

char c=0;


dist_2d(); // 거리구하는 함수


recall(); // y or n 함수


return 0;

}


void dist_2d(void)

{

double d=0;

int x1=0; int y1=0;

int x2=0; int y2=0;


cout<<"\n input 2 nums\n";

cin>>x1>>y1; cout<<"  "<<x1<<y1<<"\n";

cout<<"input 2 nums\n";

cin>>x2>>y2; cout<<"  "<<x2<<y2<<"\n";


d= sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));

cout << d<<"\n";

cout<<"do you try again?(input y or n)\n";

}


void recall()

{

char c=0; cin>>c;

if(c=='y') {dist_2d(); recall();}

else if(c=='n') false;

}

-----------------------------완성본
#include <iostream>
#include <ctime>
#include <cmath>
double dist_2d(int x1, int y1, int x2, int y2);

using namespace std;

int main() {
char c=0;
int x1=0; int y1=0;
int x2=0; int y2=0;
while(c=='n')
{
cout<<"\n input 2 nums\n";
cin>>x1>>y1; cout<<"  "<<x1<<y1<<"\n";
cout<<"input 2 nums\n";
cin>>x2>>y2; cout<<"  "<<x2<<y2<<"\n";
cout << dist_2d(x1,y1,x2,y2)<<"\n";
cout<<"do you try again?(input y or n)\n";
cin>>c;
}
return 0;
}

double dist_2d(int x1, int y1, int x2, int y2)
{
double d=0;
d= sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return d;
}
----------------------------------------수정전

2차원 좌표계의 좌표 거리를 구하는건데욥 여기에 y or n 입력을 줘서

계속 거리를 구할건지 멈출건지를 추가해서 짠건데

처음에 바로 위에처럼 while문으로 짰다가 루프가 안돌아가서 포기하고

맨위에 완성본처럼 만들었는데......


-while문이 뭐가 잘못 된건가요?

-그리고 완성본이랑 수정본이랑 비교해서 어떤게 더 보기 좋나요?