Conversia o linie de cod din c în c++

0

Problema

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

codul de mai sus este un cod pentru a face o recipt, problema pe care o am nu pot converti" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "din c languange în c++ , nu stiu ce cod ar trebui sa folosesc pentru asta. am încercat getline, transformându-l în cout, încă nu funcționează.

din ce știu eu, c++ folosi cout << în loc de printf, ant c++ nu folosi %d %s.

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

Cel mai bun răspuns

2

Cine a spus că nu îl puteți folosi printf din c++?

C cod :

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

C++ cod :

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

Rezultatul ar fi același, deoarece C++ suportă atât cout, cin și printf, scanf.

2021-11-24 06:54:40

Ei bine te pot folosi, dar stdio.h este un rahat periculos bibliotecă și ar trebui să fie evitate în C și C++ ambele... deci daca C++ oferă o alternativă mai bună, utilizați-l.
Lundin

@Lundin cuțite poate fi destul de periculos, dar, de asemenea, foarte util. Poate că ar trebui să interzică cuțite și printf și limbi, cum ar fi C, deoarece acestea ar putea fi periculoase. În timp ce sunt de acord că printf nu ar trebui să fie utilizate în C++, nu sunt de acord că nu ar trebui să fie utilizate în C; am tendința de a pleda mai mult pentru a învăța cum să folosească dreptul de instrument pentru locuri de muncă.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

Acest lucru ar trebui să funcționeze.

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

c++ este superset de c deci, dacă sunteți de a scrie orice cod c atunci este valabil c++ cod astfel încât nu este nevoie pentru a converti în c++ cum am compilat programul este de lucru foarte bine.

Acesta este rezultatul când am compila acest cod cu extensia c++:

1

2021-11-24 15:14:54

C++ nu este un superset al c. Exemplele tipice sunt necesitatea de a arunca rezultatul malloc și automată typedef pentru struct/sindicate/enum. Acolo sunt alte probleme, cum ar fi c++ având cuvinte cheie suplimentare și lipsit de unele dintre C99 caracteristici.
martinkunev

E aproape un superset de C, în care 98% din C codul sursă va compila ca C++, cu puțin sau nici o modificare. Intenția de a fi un superset de C este modul în C++ a primit numele său.
Jeremy Friesner

În alte limbi

Această pagină este în alte limbi

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