Lỗi chương trình Giới thiệu bản thân bằng C++

Giúp mình sửa lỗi này với ,mình loay hoay gần 1 tiếng mà chả đc gì cả :frowning:

Mình tự học C++,đang đọc đến phần mảng .
Mình tính viết chương trình Giới thiệu bản thân đơn giản bằng C++
Mình viết tầm 10 phút thì xong và sửa mấy lỗi ngớ ngẩn gần nửa tiếng.Tuy nhiên có cái lỗi này mình loay hoay mãi không đc nên quyết định post nên đây .
Mã lỗi :

/home/ubuntu/workspace/Array-cin.getline.cc: In function ‘int main()’:
/home/ubuntu/workspace/Array-cin.getline.cc:67:5: error: expected ‘(’ before ‘{’ token

Mã nguồn chương trình của mình :

[code] //Giới thiệu bản thân :
//Tạo mảng và nhập :
//Tên
//Tuổi
//Tên trường
//Lớp
//Địa chỉ của bạn
//Giới tính của bạn .nam hoặc nữ Lựa chọn giới tinh. Chọn 1 trong 2.Dùng if và else
//Nói đôi điều về bản thân
//Xuất ra Giới thiệu bản thân …

#include

using namespace std;

int main ()
{
int gioitinhcuatoi;
char tencuatoi [50];
char tuoicuatoi [2];
char truongcuatoi [100];
char lopcuatoi [100];
char diachicuatoi [200];

char gioithieuvetoi [400];

cout<<"Giới thiệu về bản thân bạn "<<endl;
cout<<"Nhập vào tên của bạn : "<<endl;
cin.getline (tencuatoi,50);
cout<<"Nhập vào tuổi của bạn : "<<endl;
cin.getline (tuoicuatoi,2);
cout<<"Nhập vào tên trường của bạn : "<<endl;
cin.getline (truongcuatoi,100);
cout<<"Nhập vào lớp của bạn :  "<<endl;
cin.getline (lopcuatoi,100);
cout<<"Nhập vào địa chỉ của bạn : "<<endl;
cin.getline (diachicuatoi,200);
cout<<"Lựa chọn giới tính của bạn :) ";
cout<<"1.Nam";
cout<<"2.Nữ";
cin>>gioitinhcuatoi;

cout<<"Hãy nói một chút về bạn : "<<endl;
cin.getline (gioithieuvetoi,400);

system("clear");
cout<<"Dưới đây là CV của bạn ."<<endl;

cout<<"Họ và tên : "<<tencuatoi<<endl;
cout<<"Tuổi : "<<tuoicuatoi<<endl;
cout<<"Trường : "<<truongcuatoi<<endl;
cout<<"Lớp : "<<lopcuatoi<<endl;

cout<<"Địa chỉ nhà "<<diachicuatoi<<endl;
cout<<"Giới tính : ";
if (gioitinhcuatoi=1)

{
    cout<<"Nam"<<endl;
}
else if (gioitinhcuatoi=2)
{
    cout<<"Nữ"<<endl;
}
else if 
{
    cout<<"Không xác định "<<endl;
}
cout<<"Cảm ơn bạn đã sử dụng ứng dụng :) "<<endl;

return 0;

}

[/code]

dòng 67: Bạn bỏ if đi
Trong điều kiện if trước đó: Bạn thay “=” thành ==

if (gioitinhcuatoi == 1)//thay dấu = thành ==
{
    cout<<"Nam"<<endl;
}
else if (gioitinhcuatoi == 2)
{
    cout<<"Nữ"<<endl;
}
else //bỏ if
{
    cout<<"Không xác định "<<endl;
}

``

3 Likes

Cảm ơn bạn nhiều !

Post must be at least 20 characters
Have you tried the button?

Lý do là sau khi nhập gioitinh thì trong cin vẫn còn 1 ký tự \n còn thừa, dẫn đến dòng nhập tên trường sẽ nhận ký tự này, nên nó mới chạy tới dòng nhập lớp luôn. Khắc phục thì thêm lệnh cin.ignore(100,'\n') vào sau cin>>gioitinh.

3 Likes

Cảm ơn freedom nhìu …
:slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?