Bir kod satırını c'den c ++ ' ya dönüştürme

0

Soru

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

yukarıdaki kod bir tarif yapmak için bir koddur, sahip olduğum sorun dönüştüremiyorum" printf(" - %dx %s\n", memory_jumlah[i], aitem[memory[i]]); "c++ ile c dilinizi itibaren kod ne için kullanmalı mıyım bilmiyorum. getline'ı denedim, onu cout olarak değiştirdim, hala işe yaramıyor.

bildiğim kadarıyla ,c ++ cout < kullanıyor

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

En iyi cevabı

2

Printf'i c++ ' da kullanamayacağınızı kim söyledi?

C kodu :

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

C ++ kodu :

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

C++ hem cout, cın hem de printf, scanf'yi desteklediğinden çıktı aynı olacaktır.

2021-11-24 06:54:40

Stdio dışında kullanabilirsin.h tehlikeli bir bok kütüphanesidir ve C ve C++ ' da her ikisinden de kaçınılmalıdır... yani C++ size daha iyi bir alternatif sunuyorsa, onu kullanın.
Lundin

@ Lundin bıçakları oldukça tehlikeli olabilir, ama aynı zamanda çok yararlı olabilir. Belki de bıçakları, printf'i ve C gibi dilleri yasaklamalıyız çünkü tehlikeli olabilirler. Buna katılırken printf C++ ' da kullanılmamalıdır, C'de kullanılmaması gerektiğine katılmıyorum; İş için doğru aracı nasıl kullanacağımı öğrenmek için daha fazla savunuculuk yapma eğilimindeyim.
autistic
0
cout << " - " << memory_jumlah[i] << "x " << aitem[memory[i]] << endl;

Bu işe yaramalı.

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

c++, c'nin üst kümesidir, bu nedenle herhangi bir c kodu yazıyorsanız, geçerli bir c++ kodudur, bu nedenle c++ ' ya dönüştürmeye gerek yoktur programınızı derlediğim gibi gayet iyi çalışıyor.

Bu kodu c++uzantısıyla derlediğimde sonuç budur:

1

2021-11-24 15:14:54

C++, c'nin bir üst kümesi değildir. Tipik örnekler, malloc'un sonucunu ve yapılar/sendikalar/enumlar için otomatik typedef'i atma gerekliliğidir. C++ ' nın ek anahtar kelimelere sahip olması ve C99'un bazı özelliklerinden yoksun olması gibi başka sorunlar da var.
martinkunev

Neredeyse bir C üst kümesidir, çünkü C kaynak kodunun %98'i çok az veya hiç değişiklik yapmadan C++ olarak derlenir. C'nin bir üst kümesi olma niyeti, C++ ' nın adını nasıl aldığıdır.
Jeremy Friesner

Diğer dillerde

Bu sayfa diğer dillerde

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