TÓPICO

Wrong answer 5% - C++

Barbara perguntou 2 months ago

Pessoal, meu código está dando erro e não sei o motivo. Alguma sugestão?

#include <iostream>
#include <string>
#include <iomanip>

using namespace std;

void notas(int &valor, int &resto) {

    int notas[6] = {100, 50, 20, 10, 5, 2};
    cout << "NOTAS:\n";
    for (int i = 0; i < 6; i ++) {
        valor = resto/notas[i];
        resto = resto%notas[i];
        cout << valor << " nota(s) de R$ " << notas[i] << ".00\n";
        valor = resto;
    }
}

void moedas(int &resto, int &valor2) {

    cout << "MOEDAS:\n";
    resto = resto/1;
    cout << resto << " moeda(s) de R$ 1.00\n";

    int moedas[5] = { 50, 25, 10, 5, 1};
    string lista[5] = {"0.50", "0.25", "0.10", "0.05", "0.01"};
    valor2 = valor2%100;

    for (int n = 0; n < 5; n ++) {
        resto = valor2/moedas[n];
        valor2 = valor2%moedas[n];
        cout << resto << " moeda(s) de R$ " << lista[n] << "\n";
        resto = valor2;
    }
}

int main() {

    float valor1;
    int valor2, resto;

    cout << fixed << setprecision(2);
    cin >> valor1;
    valor1 += 0.0001;

    resto = valor2 = valor1;

    notas(valor2, resto);

    valor2 = valor1 * 100;

    moedas(resto, valor2);

    cout << endl;

    return 0;
}

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.

  • josean respondido 2 months ago

    linha 54:

     cout << endl;

    você está quebrando 1 linha a mais do que o problema pede, remova a linha 54 e tente submeter.