0
我收到的錯誤是:格式「%C」需要類型的參數「符」
program3.cpp:13:21: warning: format ‘%c’ expects argument of type ‘char*’, but argument 2 has type ‘std::string* {aka std::basic_string<char>*}’ [-Wformat=]
我可能缺乏有關C++語言知識的一個非常基本的一部分,我詢問這個新手道歉問題(再次)。此外,如果您能夠提供反饋或指出我的代碼中存在其他缺陷,我將不勝感激。 我的C++代碼有什麼問題?
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
int harga=20000;
int diskon;
char pelanggan;
string jenisp;
printf("Apakah Pelanggan : [Y/N]");
scanf("%c",&pelanggan);
if(pelanggan=='Y'){
printf("Apa Jenis Pelanggan [Emas,Perak,Perunggu]:");
scanf("%c",&jenisp);
if(jenisp=="Emas"){
diskon=harga-(0.5*harga);
printf("Harga untuk pelanggan kartu Emas adalah : %d",diskon);
}
else if(jenisp=="Perak"){
diskon=harga-(0.25*harga);
printf("Harga untuk pelanggan kartu Perak adalah : %d",diskon);
}
else if(jenisp=="Perunggu"){
diskon=harga-(0.1*harga);
printf("Harga untuk pelanggan kartu Perunggu adalah : %d",diskon);
}
}
else{
printf("Harga untuk bukan pelanggan adalah : %d",harga);
}
return 0;
}
不能讀取代替
scanf("%c",&jenisp);
成'的std :: string'與C函數。你爲什麼使用C++類型但C函數?選擇一種語言_(然後用_just language_標記這個問題)。 –@LightnessRacesinOrbit:你可以:'std:string s(101,''); scanf(「%100s」,&s[0]); s.resize(100);' – alk
@alk:只滿足一個相當弱的定義:「讀入std :: string」:P –