Моя функция priceDifference внутри оператора if startShare в конце не возвращает вычисленные числа с плавающей точкой и отображает их в консоли.Мои другие функции работают должным образом, это просто та функция, которая собирает бананы, и я понятия не имею, почему.
Например, когда я передаю числа 2105.11 и 1999.55, он возвращает 1999.55 ???
#include <stdio.h>
void shareStart();
char askMe();
char askMe2();
char askMe3();
char askAgain();
int getShares();
int getMoney();
float getStartingInvestment();
float getSoldInvestment();
float getPrice();
float shareDivide(float, int);
float shareMultiply(float, int);
float priceDifference(float, float);
int main()
{
shareStart();
return 0;
}
void shareStart()
{
do {
if(askMe() == 'y') {
printf("You could buy: %f shares.\n", shareDivide(getPrice(), getMoney()));
} else if(askMe2() == 'y') {
printf("Shares cost: %f\n", shareMultiply(getPrice(), getShares()));
} else if(askMe3() == 'y') {
printf("Profit/Loss is: %f\n", priceDifference(getStartingInvestment(), getSoldInvestment()));
}
} while(askAgain() == 'y');
}
char askMe()
{
char ask;
printf("See how many shares to buy? 'y/n'\n");
scanf("%s", &ask);
return ask;
}
char askMe2()
{
char ask;
printf("See total cost of shares? 'y/n'\n");
scanf("%s", &ask);
return ask;
}
char askMe3()
{
char ask;
printf("See profit/loss difference between trades? 'y/n'\n");
scanf("%s", &ask);
return ask;
}
char askAgain()
{
char ask;
printf("Would you like to run the program again? 'y/n'\n");
scanf("%s", &ask);
return ask;
}
int getShares()
{
int ask;
printf("How many shares are you using?\n");
scanf("%d", &ask);
return ask;
}
int getMoney()
{
int money;
printf("How much money are you using?\n");
scanf("%d", &money);
return money;
}
float getStartingInvestment()
{
float money;
printf("How much money did your shares cost?\n");
scanf("%f", &money);
return money;
}
float getSoldInvestment()
{
float money;
printf("What did you sold your shares for?\n");
scanf("%f", &money);
return money;
}
float getPrice()
{
float price;
printf("Whats the price of a share?\n");
scanf("%f", &price);
return price;
}
float shareDivide(float price, int money)
{
return money / price;
}
float shareMultiply(float price, int shares)
{
return shares * price;
}
float priceDifference(float start, float sold)
{
return sold - start;
}