/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include<stdio.h>
#include<conio.h>


int get2_pt(int j,int i,int n,int k);
int get_pt_slope(int j,int i,int n);
void display2_pt(int j,int i,int n,int k);
void display_pt_slope(int j,int i,int n);
int intcpt_from_pt_slope(int j, int i, int n);
int slope_intcpt_from2_pt(int j, int i, int n, int k);
void display_slope_intcpt(int z, int x);
void display_slope_intcpt1(int x);
int j, i, n, k;

int get_problem(int y)
{
printf("Select the form that you would like to convert to:");
printf("\n1:Two-Point Form\n2:Point-Slope Form\n");
scanf("%d", &y);
switch(y)
{
case 1: get2_pt(j,i,n,k);
//case 1:
break;
case 2: get_pt_slope(j,i,n);
break;
default: printf("OPPPPSSS ! INVALID ENTRY");
}//switch
getch();
return y;
}//get_problem

int get2_pt(int j, int i, int n, int k)
{
printf("Enter the x-y coordinates of the first point separated by a space=>\n");
scanf("%d %d", &j,&i);
printf("Enter the x-y coordinates of the second point separated by a space=>\n");
scanf("%d %d", &n,&k);
display2_pt(j,i,n,k);
slope_intcpt_from2_pt(j,i,n,k);
return j,i,n,k;
}//get2_pt

void display2_pt(int j, int i, int n, int k)
{
printf("TWO-POINT FORM");
printf("\nm= (%.2d - %.2d)\n ----------\n (%.2d - %.2d)", k, i, n, j);
}//display2_pt

int get_pt_slope(int j, int i, int n)
{
printf("Enter the slope=>");
scanf("%d", &j);
printf("Enter the x-y coordinates separated by a space=>");
scanf("%d %d", &i,&n);
display_pt_slope(j,i,n);
return j,i,n;
}//get_pt_slope

void display_pt_slope(int j, int i, int n)
{
printf("POINT-SLOPE FORM");
printf("\ny - %.2d = %.2dx - %.2d", i, j, n);
intcpt_from_pt_slope(j,i,n);
}//display_pt_slope

int intcpt_from_pt_slope(int j,int i,int n)
{
int z;
printf("\nSLOPE INTERCEPT FORM");
z=n-i;
printf("\ny= %.2dx - %.2d", j, z);
return z;
}//intcpt_from_pt_slope

int slope_intcpt_from2_pt(int j,int i,int n ,int k)
{
int z, x;
if((n-j) !=0)
{
z=((k-i)/(n-j));
x=k - z*n;
display_slope_intcpt(z,x);
return z, x;
}
else //cannot divide by zero x = j or n
{
x=j;
display_slope_intcpt1(x);
return x;
}

}//slope_intcpt_from2_pt

void display_slope_intcpt(int z, int x)
{
printf("\n\nSLOPE INTERCEPT FORM");
printf("\ny= %.2dx + %.2d", z, x);
}//display_slope_intcpt

void display_slope_intcpt1(int x)
{
printf("\n\nSLOPE INTERCEPT FORM"); //slope in vertical line
printf("\nx= %.2d", x);
}//display_slope_intcpt1

void main(){
get_problem(2);
}