Преобразование строки кода из c в c++

0

Вопрос

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

приведенный выше код-это код для создания рецепта, проблема, которая у меня есть, заключается в том, что я не могу конвертировать " printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "переходя с языка си на c++ , я не знаю, какой код мне следует использовать для этого. я попробовал getline, изменив его на cout, он все еще не работает.

из того, что я знаю, c++ использует cout <

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

Лучший ответ

2

Кто сказал, что вы не можете использовать printf в c++?

Код C :

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

Код на C++ :

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

Результат будет таким же, потому что C++ поддерживает как cout, cin, так и printf, scanf.

2021-11-24 06:54:40

Ну, вы можете использовать его, но stdio.h-опасная дерьмовая библиотека, и ее следует избегать как в C, так и в C++... поэтому, если C++ дает вам лучшую альтернативу, используйте ее.
Lundin

Ножи @Lundin могут быть довольно опасными, но также и очень полезными. Может быть, нам следует запретить ножи, печать и такие языки, как C, потому что они могут быть опасными. Хотя я согласен с тем, что printf не следует использовать в C++, я не согласен с тем, что его не следует использовать в C; Я больше склоняюсь к тому, чтобы научиться использовать правильный инструмент для работы.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

Это должно сработать.

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

c++ - это надмножество c, поэтому, если вы пишете какой-либо код на c, то это действительный код на c++, поэтому нет необходимости конвертировать в c++ , поскольку я скомпилировал вашу программу, она работает отлично.

Это результат, когда я компилирую этот код с расширением c++:

1

2021-11-24 15:14:54

C++ не является надмножеством c. Типичными примерами являются необходимость приведения результата malloc и автоматического определения типа для структур/объединений/перечислений. Существуют и другие проблемы, такие как наличие в c++ дополнительных ключевых слов и отсутствие некоторых функций C99.
martinkunev

Это почти надмножество C, в котором 98% исходного кода C будет компилироваться как C++, практически без изменений или без изменений. Его намерение быть надмножеством C заключается в том, как C++ получил свое название.
Jeremy Friesner

На других языках

Эта страница на других языках

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