Я пишу программу для класса, которая берет сумму продажи и вычисляет изменение от доллара. Каждое наименование указано с количеством монет в качестве выхода. Я не могу запустить его из-за ошибки с слишком небольшим количеством аргументов?IntelliSense: слишком мало аргументов в вызове функции
Я не уверен, что VB ищет здесь. Любая помощь будет оценена по достоинству.
код программы:
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <cmath>
using namespace std;
// Determines how many of each coin to dispense.
void Dispenser(int, int *, int *, int *, int *);
int main(void)
{
// Change the console's background color.
system ("color F0");
// Declares the variables.
double amount_paid = 1.00, amount_due;
int amount_left, dollar_qty, quarter_qty, dime_qty, nickel_qty, penny_qty;
// Get user input.
cout << "\n";
cout << "Enter the money amount paid: $";
cin >> amount_due;
cin.ignore();
// Perform calculations.
amount_paid = amount_paid * 100 + 0.5;
amount_due = amount_due * 100;
amount_left = amount_paid - amount_due;
dollar_qty = amount_left/100;
Dispenser (amount_left + quarter_qty + dime_qty + nickel_qty + penny_qty);
"\n";
// Display output.
cout << "\nAmount of the purchase: " << fixed << setprecision(2) << showpoint << amount_due;
cout << "\nChange from $1.00: " << fixed << setprecision(2) << showpoint << amount_left;
cout << "\n" << fixed << setprecision(2) << showpoint << dollar_qty << " dollars";
cout << "\n" << fixed << setprecision(2) << showpoint << quarter_qty << "quarters";
cout << "\n" << fixed << setprecision(2) << showpoint << dime_qty << "dimes";
cout << "\n" << fixed << setprecision(2) << showpoint << nickel_qty << "nickles";
cout << "\n" << fixed << setprecision(2) << showpoint << penny_qty << "pennies";
system("pause");
return 0;
}
void Dispenser(int amt_left, int *quarters, int *dimes, int *nickels, int *pennies)
{
int total_change, total_quarters, total_dimes, total_nickels, total_pennies;
// Determine change amount by quantity.
total_change = amt_left % 100;
total_quarters = total_change/25;
total_change = total_change % 25;
total_dimes = total_change/10;
total_change = total_change % 10;
total_nickels = total_change/5;
total_change = total_change % 5;
total_pennies = total_change;
*quarters = total_quarters;
*dimes = total_dimes;
*nickels = total_nickels;
*pennies = total_pennies;
}
Ошибка в этой строке на ")"
Dispenser (amount_left + quarter_qty + dime_qty + nickel_qty + penny_qty);
Это сработало, спасибо! Глупый вопрос, почему «&»? –
Базовая функция ожидает адрес памяти и отправляет этот адрес функции вместо значения переменной. – Gyhth