Lỗi khi viết chương trình đơn giản để in ra lựa chọn của người dùng và kiểm tra xem lựa chọn đó đúng hay sai
Mình tự học C++ và đọc đến phần con trỏ
Mình thử viết chương trình đơn giản để in ra lựa chọn của người dùng và kiểm tra xem lựa chọn đó đúng hay sai
Tuy nhiên khi chạy nó chỉ in ra màn hình lựa chọn của người dùng chứ k in ra lựa chọn đó là đúng hay là sai …
Ai biết sửa mã nguồn giùm mình đc k ?
Kết quả khi chạy chương trình :
[code]Running /home/ubuntu/workspace/witch+pointer.cc
Lựa chọn tùy chọn bạn:
A.Lựa chọn A
B.Lựa chọn B
C.Lựa chọn C
B
Lựa chọn của bạn : Lựa Chọn B
Process exited with code: 0 [/code]
Mã nguồn chương trình của mình :
[code] // Ví dụ về Switch + Pointer
//Đưa ra 3 lựa chọn A,B,C và yêu cầu ng dùng lựa chọn và in ra Lựa chon
//Giải thuật + dữ liệu
//Đưa ra câu hỏi
//Đưa ra 3 lựa chọn A,B,C
//Yêu cầu người dùng nhập vào lựa chọn của mình (A,B,C)
//Tạo con trỏ để trỏ đến các lựa chọn
//
//In ra lựa chọn của ng dùng
//Tạo hàm để So sánh và hiển thị xem lựa chọn đó là đúng hay sai
#include
#include
using namespace std;
void Dap_an_cuaban (char Luachoncuaban)
{
char A,B,C;
if (Luachoncuaban==A)
{
cout<<“Lựa chọn đúng”<<endl;
}
else if (Luachoncuaban==B)
{
cout<<“Lựa chọn Sai”<<endl;
}
else if (Luachoncuaban==C)
{
cout<<“Lựa chọn Sai”<<endl;
}
}
int main()
{
cout<<"Lựa chọn tùy chọn bạn: "<<endl;
cout<<“A.Lựa chọn A”<<endl;
cout<<“B.Lựa chọn B”<<endl;
cout<<“C.Lựa chọn C”<<endl;
string LuachonA,LuachonB,LuachonC;
LuachonA=“Lựa chọn A”;
LuachonB=“Lựa Chọn B”;
LuachonC=“Lựa Chọn C”;
char Luachoncuaban;
cin>>Luachoncuaban;
string *Dapan(0);
switch(Luachoncuaban)
{
case ‘A’:
Dapan=&LuachonA;
break;
case ‘B’:
Dapan=&LuachonB;
break;
case ‘C’:
Dapan=&LuachonC;
break;
}
cout<<"Lựa chọn của bạn : "<<*Dapan<<endl;
Dap_an_cuaban(Luachoncuaban);
}
[/code]
char A,B,C
chưa có gán gì nên không biết giá trị của nó.Thank bạn nhưng mình vẫn chưa hiểu lắm
Bạn có thể sửa code trực tiếp cho mình hoặc ns kĩ hơn 1 chút đc k !
Tại mình k biết code lại nó như nào
Theo mình hiểu thì khi người dùng nhập vào lựa chọn của họ là A,B hay C ở chỗ cin>>Luachoncuaban;
thì nó sẽ lưu A,B hoặc C và biến Luachoncuaban !
Khi mình gọi hàm Dap_an_cuaban (Luachoncuaban)
Thì nó sẽ truyền tham số A,B hoặc C của biến Luachoncuaban vào hàm Dap_an_cuaban
Sau đó thực thi phần nội dung thân hàm và in ra kết quả chứ nhỉ ?
Hay tại mình hiểu sai nhỉ ?
trong hàm so sánh Dap_an_cuaban()
bạn so sánh chuối nhập vào với A, B , C.
mà A, B , C là 3 biến kiểu char khai báo trong hàm, chưa được gán giá trị, chưa có giá trị.
Sửa, bỏ 3 biến char A, B, C đi, so sánh thẳng luôn:
Thanks bạn nhìu nha ! Mình nghĩ mãi mà k ra