Я изучаю основы программирования на C++, и мне нужно написать программу, которая выполняет некоторые основные математические функции, используя операторы if/else: вычитание, добавление, умножение и т. Д. Я не получаю ошибок компиляции или времени выполнения, но значения, которые я в конечном итоге, всегда неверны.Неожиданные значения для базовой математической функции
Я изменил некоторые вещи, пытаясь понять, где я поступил не так, но то, что напечатано на экране, насколько слова идут правильно, просто не ответы. Например, когда я сканирую -
(знак вычитания) в качестве входных данных, он будет читать разницу между x и y, это какое-то смехотворно большое число.
В любом случае, вот мой код & любая помощь была бы ВЕЛИКОЙ оценкой!
/*
* This program performs some basic math calculations
*/
#include <stdio.h>
#include <math.h>
int main() {
int x,y;
float sum = x+ y;
float difference = x-y;
float product = x*y;
float quotient = x/y;
float exponent = x^y;
float modulus = x%y;
char symbol;
printf("What is the value of x?\n");
scanf("%d", &x);
printf("What is the value of y?\n");
scanf("%d", &y);
printf("What is your operator?\n");
scanf(" %c", &symbol);
if (symbol== '+')
printf("The sum of x and y = %f\n", sum);
else if (symbol=='-')
printf("The difference between x and y = %f\n", difference);
else if (symbol=='*')
printf("The product of x and y = %f\n", product);
else if (symbol=='/')
printf("x divided by y = %f\n", quotient);
else if (symbol=='^')
printf("x multiplied exponentially by y = %f\n", exponent);
else if (symbol=='%')
printf("x is this much percent of y =%f\n", modulus);
return 0;
}
В C и C++ что-то вроде «sum = x + y» представляет собой последовательно выполняемую операцию, а не уравнение ... sum сразу получает значение x + y, но значения x и y не определены в этот момент, поэтому значение суммы - мусор. –