what am i doing wrong here. it compiles and works but after you enter in the first value it just stops.
/* AUTHOR: Christopher A. Smith ASSIGNMENT: Exercise 4-22 page 112 DUE DATE: Feburary 1999 PURPOSE: The purpose of this program is to read two points on a line entered from the keyboard, and will loop untill eof. Also it will it will determine whether the lines are parallel or whether they intersect, and if they intersect whether they are perpendicular. 'E' is being used for testing, there is no resone why I picked it. */ #include <stdio.h> #include <stdlib.h> #define PERP -1 int main() { float x1, x2, y1, y2; float j; void print_user_instructions(); float read_x1( float ); float read_x2( float ); float read_y1( float ); float read_y2( float ); print_user_instructions(); if ( ( j = read_x1( x1 ) ) == 'E' ); return EXIT_FAILURE; if ( ( j = read_y1( y1 ) ) == 'E' ); return EXIT_FAILURE; if ( ( j = read_x2( x2 ) ) == 'E' ); return EXIT_FAILURE; if ( ( j = read_y2( y2 ) ) == 'E' ); return EXIT_FAILURE; } /* FUNCTION: print_user_instructions INPUT: none OUTPUT: none USE: prints out the user instrutions to the screen */ void print_user_instructions() { printf( "\nEnter 4 points for a line (1 point a time) to" "be tested for: parallel, perpendicular, or if" "they intersect. To exit the program press eof," "(ex. ctrl z for DOS) or type quit at any time.\n" ); } /* FUNTION: read_x1 INPUT: prompt user for x1 OUTPUT: returns the values of x1 for cords USE: reads x1 */ float read_x1( float x1 ) { printf( "\nenter x1: " ); if ( scanf( "%f" , &x1 ) != 1 ) { printf( "\nFailed to read entered value\n" ); x1 = 'E'; return x1; } return x1; } /* FUNTION: read_x2 INPUT: prompt user for x2 OUTPUT: returns the values of x2 for cords USE: reads x2 */ float read_x2( float x2 ) { printf( "\nenter x2: " ); if ( scanf( "%f" , &x2 ) != 1 ) { printf( "\nFailed to read entered number\n" ); x2 = 'E'; return x2; } return x2; } /* FUNTION: read_y1 INPUT: prompt user for y1 OUTPUT: returns the values of y1 for cords USE: reads y1 */ float read_y1( float y1 ) { printf( "\nenter y1: " ); if ( scanf( "%f" , &y1 ) != 1 ) { printf( "\nFailed to read entered number\n" ); y1 = 'E'; return y1; } return y1; } /* FUNTION: read_y2 INPUT: prompt user for y2 OUTPUT: returns the values of y2 for cords USE: reads y2 */ float read_y2( float y2 ) { printf( "\nenter y2: " ); if ( scanf( "%f" , &y2 ) != 1 ) { printf( "\nFailed to read entered number\n" ); y2 = 'E'; return y2; } return y2; }