This is the code I have, and I'm quite pleased with it. Somebody suggested that the loop should be changed. I could of course make it run infinately until the user decides to exit, but is something else wrong with it?Code:#include <stdio.h> #include <stdlib.h> //for exit function. void multiply(); void divide(); void add(); void substract(); /* The floats should be changed maybe to be rounded off. */ int main() { int choise; printf("Calculator.\n"); do //Should be changed possibly. { puts("What would you like to do: \n"); puts("1 to multiply."); puts("2 to divide."); puts("3 to add."); puts("4 to substract."); puts("5 to exit."); scanf(" %d", &choise); switch (choise) { case(1) : multiply(); break; //prevents other cases from executing case(2) : divide(); break; case(3) : add(); break; case(4) : substract(); break; case(5) : exit(1); //stlib.h included break; //Not neccesary just looks neat. } } while((choise < 1) ||(choise > 5)); getchar(); getchar(); return 0; } void multiply() { float a, b, c; puts("Enter numbers: "); scanf(" %f", &a); scanf(" %f", &b); c = a * b; printf("Answer: %f\n", c); return; } void divide() { float a, b, c; puts("Enter numbers: "); scanf(" %f", &a); scanf(" %f", &b); c = a / b; printf("Answer: %f\n", c); return; } void add() { float a, b, c; puts("Enter numbers: "); scanf(" %f", &a); scanf(" %f", &b); c = a + b; printf("Answer: %f\n", c); return; } void substract() { float a, b, c; puts("Enter numbers: "); scanf(" %f", &a); scanf(" %f", &b); c = a - b; printf("Answer: %f\n", c); }