#include<iostream>
#include<string>
#include"HamBt1.cpp"
using namespace std;
void Timch(char st[50]){
char ch;
cout << "Nhap ki tu ch: ";
cin >> ch;
int dem = 0;
for ( int i=0 ; i<strlen(st) ; i++){
if (ch == st[i]){
dem++;
}
}
if ( dem == 0)
cout << "Ky tu " << ch << " khong xuat hien trong xau da nhap.";
else {
cout << "Ky tu " << ch << " xuat hien " << dem << " lan trong xau, tai cac vi tri: " << endl;
for ( int i=0 ; i< strlen(st) ; i++){
if (ch == st[i]){
cout << i+1 << "\t";
}
}
}
}
int main(){
char st[50];
int luachon;
system("cls");
cout << " CHUONG TRINH THAO TAC VOI XAU" << endl;
cout << "Chon cac truong hop sau: " << endl;
cout << "1.Nhap vao mot xau st va mot ky tu ch, dem so lan va vi tri xuat hien cua ch trong st." << endl;
cout << "2.Dem xem trong xau st co bao nhieu loai ki tu moi loai xuat hien bao nhieu lan." << endl;
cout << "3.Xet xem trong xau co k ki tu ke nhau ma nhu nhau hay khong, neu co thi xoa bot chi de 1 ki tu." << endl;
cout << "4.*Kiem tra trong xau co ki tu 1 hay khong." << endl;
cout << "" << endl;
cout << "Nhap lua chon cua ban: ";
cin >> luachon;
switch (luachon)
{
case 1:
fflush (stdin);
cout << "Nhap xau st: ";
gets (st);
Timch(st);
break;
case 3:
string st;
int i,j;
fflush (stdin);
cout << "Nhap xau st: ";
getline(cin,st);
for( i=0 ; i<st.size(); i++)
{
j=i+1;
do{
if(st[i]==st[j])
st.erase(j,1);
else j++;
}
while(j<=st.length());
}
cout << "Xau sau khi xoa: ";
cout << st;
break;
case 4:
{
cout << "abcd";
break;
}
}
}
Tại sao cái case 4 luôn bị lỗi bất kể bên trong có code gì ạ, mình không khai báo biến trong case và cũng thử cho vào trong { } r nhưng vẫn gặp lỗi đấy. Có thể giải đáp giúp mình đc k ạ.