Lab 10-11-2001
include <stdio.h>
#include <math.h>
#define TRUE 1
#define FALSE 0
double calcDiscriminant(double a, double b, double c);
void printComplexRoots(double a, double b, double discriminant);
int inputPositiveInteger(void);
int main(void) {
int i;
printf("%s", "Please enter and integer: ");
i = inputPositiveInteger();
if (i < 0) {
printf("%s\n", "You entered bad stuff");
}
else {
printf("You entered %d\n", i);
}
/*
//imaginary number situation
float a = 1; // asl;jfl;ksd
float b = 2; // l;aksjdf;lkjsa
float c = 3; // ;lasjdflkjas
double discriminant = calcDiscriminant(a, b, c);
if (discriminant < 0) {
printComplexRoots(a, b, discriminant);
}
else {
printf("hello");
}
*/
}
int inputPositiveInteger(void) {
int c;
int value = 0;
int multiplier = 10;
int inputValid = FALSE;
c = getchar();
while (c >= '0' && c <= '9') {
inputValid = TRUE;
value = (value * multiplier) + (c - '0');
c = getchar();
}
return (inputValid) ? value : -1;
}
void printComplexRoots(double a, double b, double discriminant) {
double firstTerm;
double secondTerm;
firstTerm = -b / (2 * a);
secondTerm = sqrt(-discriminant) / (2 * a);
printf("%f + %fi", firstTerm, secondTerm);
}
double calcDiscriminant(double a, double b, double c) {
return b * b - 4 * a * c;
}