Konwersja linii kodu z c w c++

0

Pytanie

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

powyższy kod to kod do tworzenia receptury, problem, który mam, jest to, że nie mogę przekonwertować" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "przechodząc z języka b na c++ , nie wiem jaki kod powinienem użyć do tego. próbowałem getline, zmieniając go na cout, nadal nie działa.

z tego co wiem, c++ używa cout <

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

Najlepsza odpowiedź

2

Kto powiedział, że nie można korzystać z printf w c++?

Kod C :

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

Kod w C++ :

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

Wynik będzie taki sam, bo C++ obsługuje zarówno cout, cin, jak i printf, scanf.

2021-11-24 06:54:40

Cóż, można go używać, ale stdio.h-niebezpieczna chujowe biblioteka i należy go unikać jak w C jak i w C++... więc, jeśli C++ daje lepszą alternatywę, użyj jej.
Lundin

Noże @Lundin mogą być bardzo niebezpieczne, ale również bardzo przydatne. Być może powinniśmy zakazać noży, drukowanie i takie języki jak C, ponieważ mogą one być niebezpieczne. Chociaż zgadzam się z tym, że printf nie należy używać w C++, nie zgadzam się z tym, że nie należy stosować go w C; Ja bardziej się skłaniam ku temu, aby nauczyć się korzystać z odpowiedniego narzędzia do pracy.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

To powinno zadziałać.

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

c++ - to nadzbiór c, więc jeśli piszesz jakiś kod w c, to jest to poprawny kod w c++, więc nie ma potrzeby konwersji w c++ ponieważ jestem skompilował program, działa świetnie.

To wynik, kiedy компилирую ten kod z rozszerzeniem c++:

1

2021-11-24 15:14:54

C++ nie jest nadzbiorem c. Typowymi przykładami są: konieczność dostosowania wyniku malloc i automatycznego wykrywania typu struktur/stowarzyszeń/pozycj. Są i inne problemy, takie jak obecność w c++ dodatkowych słów kluczowych i brak niektórych funkcji C99.
martinkunev

To prawie nadzbiór C, w którym 98% kodu źródłowego C będzie skompilować jak C++, praktycznie bez zmian lub bez zmian. Jego intencją jest nadzbiorem C polega na tym, jak C++ ma swoją nazwę.
Jeremy Friesner

W innych językach

Ta strona jest w innych językach

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