I have made a calculator for my homework, but am having a few problems.
Here is what I have in main.c:
Here is what I have in functions.cCode:/************************************************************ Filename: main.c Author: Mike Hartwig(mike.hartwig@attbi.com) Input: Keyboard Output: Monitor *************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> #include "functions.h" int main() { int menu_choice; int data1 = 0; int data2 = 0; int answer = 0; char sign = '_'; char pcsign = '%'; while (menu_choice < 8) { printf("\n*************Calculator*************\n"); printf("Data 1: %d\n", data1); printf("Data 2: %d\n", data2); printf("Operator: %c\n", sign); printf("Results: %d\n", answer); printf("************************************\n"); printf("1)Set Data 1 \n"); printf("2)Set Data 2 \n"); printf("3)Set Operator +\n"); printf("4)Set Operator -\n"); printf("5)Set Operator *\n"); printf("6)Set Operator /\n"); printf("7)Set Operator %c\n", pcsign); printf("8)Set Operator pow\n"); printf("9)Set Operator exp\n"); printf("10)Set Operator sqrt\n"); printf("11)Set Operator sin\n"); printf("12)Quit"); printf("\n\nEnter Your Menu Choice: "); scanf("%d", &menu_choice); switch (menu_choice) { case 1: { printf("Enter Data 1: "); scanf("%d", &data1); break; } case 2: { printf("Enter Data 2: "); scanf("%d", &data2); break; } case 3: { answer = add(data1, data2); sign = '+'; break; } case 4: { answer = sub(data1, data2); sign = '-'; break; } case 5: { answer = mult(data1, data2); sign = '*'; break; } case 6: { if (data1 == 0 || data2 == 0) { printf("\nCan't Divide By Zero\n"); } else { answer = divide(data1, data2); sign = '/'; } break; } case 7: { if (data1 == 0 || data2 == 0) { printf("\nCan't Divide By Zero\n"); } else { answer = pcent(data1, data2); sign = '%'; } break; } case 12: { return(0); } default: { printf("Invalid Menu Choice\n"); break; } } } return (0); }
The default function is supposed to be addition, but i am not exactly sure of how to do this. Also when the user enters in a new value intop one of the data varialbes, it is supposed to update the answer, but it doesnt. It only updates the answer if you set the operator again.Code:#include <stdio.h> #include <stdlib.h> #include "functions.h" /***************************************************** Function Name: add() Purpose: Add data1 and data2 ******************************************************/ int add(int data1, int data2) { int answer; printf("\nCalculating...\n"); answer = data1 + data2; return answer; } /***************************************************** Function Name: sub() Purpose: Subtracts data1 and data2 ******************************************************/ int sub(int data1, int data2) { int answer; printf("Calculating...\n"); answer = data1 - data2; return answer; } /***************************************************** Function Name: mult() Purpose: Multiplies data1 and data2 ******************************************************/ int mult(int data1, int data2) { int answer; printf("\nCalculating...\n"); answer = data1 * data2; return answer; } /***************************************************** Function Name: div() Purpose: Divides data1 and data2 ******************************************************/ int divide(int data1, int data2) { int answer; printf("\nCalculating...\n"); answer = data1 / data2; return answer; } /***************************************************** Function Name: pcent() Purpose: Divides data1 and data2 ******************************************************/ int pcent(int data1, int data2) { int answer; printf("\nCalculating...\n"); answer = data1 % data2; return answer; }



LinkBack URL
About LinkBacks


