La conversión de una línea de código de c en c++

0

Pregunta

#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;
}

el código anterior es un código para hacer un recipt, el problema que tengo es de los que no puedo convertir" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "desde c language en c++ , no sé qué código debo usar para eso. he intentado getline, el cambio en el cout, todavía no funciona.

por lo que sé, c++ el uso de cout << en lugar de printf, ant c++ no hace uso de %d %s.

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

Mejor respuesta

2

Quien dijo que no se puede usar printf en c++?

Código C :

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

El código de C++:

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

El resultado sería el mismo, debido a que C++ es compatible tanto cout, cin y printf, scanf.

2021-11-24 06:54:40

Así que usted puede utilizarlo pero stdio.h es un peligroso mierda de la biblioteca y deben ser evitados en C y C++ tanto... así que si C++ ofrece una mejor alternativa, el uso de la misma.
Lundin

@Lundin cuchillos puede ser muy peligroso, pero también muy útil. Tal vez deberíamos prohibir los cuchillos y printf y lenguajes como C, ya que podría ser peligroso. Si bien estoy de acuerdo que printf no debe ser utilizado en C++, no estoy de acuerdo en que no debería ser utilizado en C; I tienden a abogar más por aprender a usar la herramienta correcta para el trabajo.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

Esto debería funcionar.

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

c++ es superconjunto de c, así que si usted está escribiendo cualquier código en c, entonces es válido el código de c++ por lo que no hay necesidad de convertir en c++ como he compilado el programa está funcionando perfectamente bien.

Este es el resultado cuando me compilar este código con extensión de c++:

1

2021-11-24 15:14:54

C++ no es un superconjunto de c. Los ejemplos típicos son la necesidad de emitir el resultado de malloc y la automática typedef para estructuras/sindicatos/enumeraciones. Hay otros temas como el c++ tener palabras clave adicionales y que carecen de algunos de C99 características.
martinkunev

Es casi un superconjunto de C, en el que el 98% de C el código fuente se compila como C++, con poca o ninguna modificación. Su intención de ser un superconjunto de C es cómo C++ obtuvo su nombre.
Jeremy Friesner

En otros idiomas

Esta página está en otros idiomas

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