упражнение подскажите для кода: напишите программу, в которой рассказывается, какие монеты должны давать за любое количество изменений от 1 цента до 99 центов. Используйте монеты достоинством 25 центов (четверти), 10 центов (десять центов) и 1 цент (пенни). Не используйте никелевые и полудолларовые монеты. Ваша программа будет использовать следующую функцию (среди прочих): void compute_coins (int coin_value, int & num, int & amount_left);Почему мой код не выводит (просто) цифры?
#include <iostream>
#include <string>
using namespace std;
void prompt(int *amount_left);
void remaining_change(int *amount_left, int coin_value);
void compute_coins(int coin_value, int *num, int *amount_left);
void output(string coin_name, int *num);
int main() {
int change = 0, num = 0, amount_left = 0;
const int quarter = 25, dime = 10, penny = 1;
string q = "quarter(s)", d = "dime(s)", p = "penny(s)";
prompt(&change);
compute_coins(quarter, &num, &amount_left);
remaining_change(&amount_left, quarter);
output(q, &num);
compute_coins(dime, &num, &amount_left);
remaining_change(&amount_left, dime);
output(d, &num);
compute_coins(penny, &num, &amount_left);
output(p, &num);
}
void prompt(int *change)
{
cout << "How much change is there? ";
cin >> *change;
cout << "You entered " << change << endl;
cout << "That is equal to: ";
}
void remaining_change(int *amount_left, int coin_value)
{
*amount_left = (*amount_left % coin_value);
}
void compute_coins(int coin_value, int *num, int *amount_left)
{
*num = *amount_left/coin_value;
}
void output(string coin_name,int *num)
{
cout << num << " " << coin_name << ", ";
}
также это то, что он выводит: Сколько изменений есть? 54 Вы ввели 0x7fff6d1cbf08 То, что равняется: 0x7fff6d1cbf04 кварталов, 0x7fff6d1cbf04 dime (s), 0x7fff6d1cbf04 penny (s), – Al13y
, выводит адрес памяти, вы должны выводить данные указателя вместо адреса памяти. соиЬ << * изменение; – vishal
Я получил код, чтобы потушить данные сейчас, но он просто выводит 0. – Al13y