Převod řádek kódu z c do c++

0

Otázka

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

výše uvedený kód je kód pro výrobu recipt, problém mám, je, že nemůžu převést" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "od c languange do c++ , nevím, jaký kód mám použít. snažil jsem se getline, měnit to do cout, to stále doesnt práce.

z toho, co vím, c++ použít cout << místo printf, ant c++ nepoužívá %d %s.

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

Nejlepší odpověď

2

Kdo řekl, že nemůžete použít printf v c++?

C kód :

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

C++ kód :

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

Výstup by být stejné, protože C++ podporuje jak cout, cin a printf, scanf.

2021-11-24 06:54:40

No ty lze použít, ale stdio.h je nebezpečné svinstvo, knihovna a je třeba se vyhnout v C a C++ oba... takže jestli C++ vám dává lepší alternativu, použít.
Lundin

@Lundin nože může být docela nebezpečné, ale také velmi užitečné. Možná bychom měli zakázat nože a printf a jazyků, jako je C, protože by mohly být nebezpečné. I když souhlasím, že printf neměla by být použita v C++, nesouhlasím, že to by neměl být používán v C; mám tendenci obhajovat více pro učení, jak používat správný nástroj pro práci.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

To by mělo fungovat.

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

c++ je nadmnožinou c, takže pokud píšete jakýkoli kód v c, pak je platný c++ kód, takže není třeba převést v c++ jak jsem sestavil svůj program, to funguje naprosto v pořádku.

To je výsledek, když jsem se zkompilovat tento kód s příponou c++:

1

2021-11-24 15:14:54

C++ není nadmnožinou c. Typické příklady jsou nutnost obsazení výsledek malloc a automatické typedef pro structs/odbory/výčtové typy. Tam jsou jiné problémy, jako je c++ s další klíčová slova a chybí některé z C99 je funkce.
martinkunev

To je téměř podmnožinou C, v tom, že 98% C zdrojový kód se zkompiluje jako C++, s malou nebo žádnou změnu. Svůj záměr být nadmnožinou C, jak je C++ dostal své jméno.
Jeremy Friesner

V jiných jazycích

Tato stránka je v jiných jazycích

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