Int DOHOD(int srok, int stavka, int vklad)
{
int dohod = ((vklad * (stavka / 100)) / 12) * srok;
return dohod;
}
int main()
{
int srok, stavka, vklad, dohod;
printf("\nEnter the deposit amount: ");
scanf("%d", &vklad);
printf("\nEnter the current interest rate: ");
scanf("%d", &stavka);
printf("\nEnter the deposit term: ");
scanf("%d", &srok);
printf("\nYour income was = %d", DOHOD(srok, stavka, vklad));
}
C/C++
Почему данная программа после всех вычислений в консоли выдает в итоге "о"?
// C++ language
#include <iostream>
using namespace std;
unsigned integer(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
unsigned income(unsigned deposit, unsigned rate, unsigned term) {
return static_cast<unsigned>(rate / 100.0 * deposit / 12 * term);
}
int main() {
system("chcp 1251 > nul");
auto deposit = integer("Размер вклада: ");
auto rate = integer("Процентная ставка: ");
auto term = integer("Срок в месяцах: ");
auto profit = income(deposit, rate, term);
cout << "Ваш доход составляет: " << profit << '\n';
system("pause > nul");
}
// C language
#include <stdlib.h>
#include <stdio.h>
unsigned integer(const char* msg) {
printf(msg);
unsigned value;
scanf_s("%u", &value);
while (getchar() != '\n');
return value;
}
unsigned income(unsigned deposit, unsigned rate, unsigned term) {
return (unsigned)(rate / 100.0 * deposit / 12 * term);
}
int main() {
system("chcp 1251 > nul");
unsigned deposit = integer("Размер вклада: ");
unsigned rate = integer("Процентная ставка: ");
unsigned term = integer("Срок в месяцах: ");
unsigned profit = income(deposit, rate, term);
printf("Ваш доход составляет: %u\n", profit);
system("pause > nul");
}
#include <iostream>
using namespace std;
unsigned integer(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
unsigned income(unsigned deposit, unsigned rate, unsigned term) {
return static_cast<unsigned>(rate / 100.0 * deposit / 12 * term);
}
int main() {
system("chcp 1251 > nul");
auto deposit = integer("Размер вклада: ");
auto rate = integer("Процентная ставка: ");
auto term = integer("Срок в месяцах: ");
auto profit = income(deposit, rate, term);
cout << "Ваш доход составляет: " << profit << '\n';
system("pause > nul");
}
// C language
#include <stdlib.h>
#include <stdio.h>
unsigned integer(const char* msg) {
printf(msg);
unsigned value;
scanf_s("%u", &value);
while (getchar() != '\n');
return value;
}
unsigned income(unsigned deposit, unsigned rate, unsigned term) {
return (unsigned)(rate / 100.0 * deposit / 12 * term);
}
int main() {
system("chcp 1251 > nul");
unsigned deposit = integer("Размер вклада: ");
unsigned rate = integer("Процентная ставка: ");
unsigned term = integer("Срок в месяцах: ");
unsigned profit = income(deposit, rate, term);
printf("Ваш доход составляет: %u\n", profit);
system("pause > nul");
}
Сакен Шугаюпов
мой ответ выше правильный?
#include<stdio.h>
float DOHOD(int srok, float stavka, float vklad)
{
float dohod = ((vklad * (stavka / 100)) / 12) * srok;
return dohod;
}
int main()
{
int srok;
float stavka, vklad, dohod;
printf("\nEnter the deposit amount: ");
scanf("%f", &vklad);
printf("\nEnter the current interest rate: ");
scanf("%f", &stavka);
printf("\nEnter the deposit term: ");
scanf("%d", &srok);
printf("\nYour income was = %.2f", DOHOD(srok, stavka, vklad));
}

float DOHOD(int srok, float stavka, float vklad)
{
float dohod = ((vklad * (stavka / 100)) / 12) * srok;
return dohod;
}
int main()
{
int srok;
float stavka, vklad, dohod;
printf("\nEnter the deposit amount: ");
scanf("%f", &vklad);
printf("\nEnter the current interest rate: ");
scanf("%f", &stavka);
printf("\nEnter the deposit term: ");
scanf("%d", &srok);
printf("\nYour income was = %.2f", DOHOD(srok, stavka, vklad));
}

у ставки тип Int. stavka / 100 (если stavka < 100, то в выражении будет 0). наверно
попробуй делить на 100 и на 12 в самом конце
главное чтоб переполнения не было.
или попробуй поменять тип ставки на float или double. Тогда и у дохода наверно надо будет тип поменять или привести к типу Int явно.
//я не сишник, остаточная информация
попробуй делить на 100 и на 12 в самом конце
главное чтоб переполнения не было.
или попробуй поменять тип ставки на float или double. Тогда и у дохода наверно надо будет тип поменять или привести к типу Int явно.
//я не сишник, остаточная информация
Похожие вопросы
- Есть программа подсчета числа армстронга. И она выдает нули где ошибка?
- Создание таблицы в консоли вывода программы. С++
- Составьте алгоритм и напишите программу вычисления суммы n членов ряда согласно условию задачи
- Создание программы на вычисление большего количества положительных или отрицательных элементов в среде c++
- Писать код функции S(x) вычисления сумму ряда с заданной точностей
- Программа выдает ошибку c++
- Составить программу для вычисления значения выражения. C++
- [c++] Почему при возврате строки по ссылке(const), она не выводится в консоль? Подробности внизу.
- С++ как запустить эту программу в консоли компьютера? Можете подробно объяснить?
- Си. Программа выдаёт ошибку