A conversão de uma linha de código de c para c++

0

Pergunta

#include <iostream>
#include <stdio.h>
using namespace std;

int item, jumlahbarang, total = 0, total_belanja = 0, uang, kembalian, sum = 1, memory[100], memory_jumlah[100];
    const char* aitem[11] = { "fillthe0","ITEM 1", "ITEM 2"};
    string repeat;
    int price1= 53000;
    int price2= 76000;

int main(){
    cout << "               | ID   | Nama Barang                     | Harga Barang |" << endl;
    cout << "               |------|---------------------------------|--------------|" << endl;
    cout << "               | 1.   | ITEM 1                          | Rp. 53000    |" << endl;
    cout << "               | 2.   | ITEM 2                          | Rp. 76000    |" << endl;

while (repeat.compare("n") != 0) {
    label:
        cout << " Input item id : ";
        cin >> item;
        memory[sum] = item;
        if (item == 1) {
            cout << " Item anda : " << aitem[1] << endl;
            cout << " How much item do you want ot buy? : ";
            cin >> jumlahbarang;
            memory_jumlah[sum] = jumlahbarang;
            sum++;
            total = price1 * jumlahbarang;
            total_belanja = total_belanja + total;
        }
        else if (item == 2) {
            cout << " Item anda : " << aitem[2] << endl;
            cout << " How much item do you want ot buy? : ";
            cin >> jumlahbarang;
            memory_jumlah[sum] = jumlahbarang;
            sum++;
            total = price2 * jumlahbarang;
            total_belanja = total_belanja + total;
        }

        cout << " Beli Lagi?(y/n)";
        cin >> repeat;
    }

    cout << "\n\n Struk Belanja\n";
    cout << " -------------\n";
    cout << " Item list : \n";
    for (int i = 1; i < sum; i++) {
        printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]);
    }
return 0;
}

o código acima é um código para fazer uma recipt, o problema que eu tenho é que eu não posso converter" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "a partir de c languange em c++ , eu não sei que código devo utilizar para isso. eu tentei getline, transformando-a em cout, ele ainda não funciona.

pelo que sei, c++ usar cout << em vez de printf, ant c++ não use %d %s.

c++
2021-11-24 05:49:04
3

Melhor resposta

2

Quem disse que você não pode usar printf em c++?

O código em C :

printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]);

Código C++:

printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]);

O resultado seria o mesmo, porque C++ suporta tanto cout, cin e printf, scanf.

2021-11-24 06:54:40

Bem, você pode usá-lo, mas stdio.h é uma perigosa porcaria biblioteca e deve ser evitado em C e C++ tanto... então, se C++ dá a você uma melhor alternativa, utilize-o.
Lundin

@Lundin facas pode ser muito perigoso, mas também muito útil. Talvez nós deve proibir facas e printf e linguagens como C, porque eles poderiam ser perigosas. Embora eu concorde que o printf não deve ser usado em C++, eu discordo que ele não deve ser usado em C; I tendem a defender mais para aprender como utilizar a ferramenta certa para o trabalho.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

Isso deve funcionar.

2021-11-24 06:43:28
-2

c++ é superconjunto de c se estiver a escrever qualquer código c, em seguida, ele é válido o código c++, então não há necessidade de converter-se em c++ como eu compilei o programa está funcionando perfeitamente bem.

Este é o resultado quando eu compilar esse código com a extensão de c++:

1

2021-11-24 15:14:54

C++ não é um superconjunto de c. Os exemplos típicos são a necessidade de converter o resultado de malloc e automático de typedef para estruturas/sindicatos/enum. Existem outras questões, como o c++ tendo mais palavras-chave e falta de algumas das características do C99.
martinkunev

É quase um superconjunto de C, em que 98% de código fonte em C vai compilar como C++, com pouca ou nenhuma modificação. Sua intenção de ser um superconjunto de C é como o C++ tem o seu nome.
Jeremy Friesner

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................