01/10/2018, 15:52
Mọi người xem em đặt xóa bộ nhớ đệm đã đúng chưa. Em cố ý nhập mã số sinh viên (dư kí tự) là nó bị vòng lặp vô tận bước nhập điểm trung bình à
#include <iostream>;
#include <conio.h>;
#include <string>
using namespace std;
struct SinhVien
{
string hoten;
string mssv;
float diemtb;
};
typedef struct SinhVien sinhvien;
void nhapsinhvien(sinhvien &sv)
{
do
{
rewind(stdin);
cout << "
nhap vao ten sinh vien : ";
getline(cin, sv.hoten);
if (sv.hoten.length() > 30)
{
cout << "
Ho ten qua 30 ki tu, vui long nhap lai";
}
} while (sv.hoten.length() > 30);
do
{
rewind(stdin);
cout << "
nhap vao ma so sinh vien : ";
getline(cin, sv.mssv);
if (sv.mssv.length() > 10)
{
cout << "
ma so sinh vien qua 10 ki tu, vui long nhap lai";
}
} while (sv.hoten.length() >= 30);
do
{
cout << "
nhap vao diem trung binh : ";
cin >> sv.diemtb;
if (sv.diemtb<0|| sv.diemtb>=10)
{
cout << "
nhap sai diem trung binh, vui long nhap lai";
}
} while (sv.diemtb<0 || sv.diemtb >= 10);
}
void xuatsinhvien(sinhvien sv)
{
cout << "
Thong Tin Sinh vien";
cout << "
Ten sinh vien la : " << sv.hoten;
cout << "
Ma so sinh vien la : " << sv.mssv;
cout << "
Diem trung binh la : " << sv.diemtb;
}
int main()
{
sinhvien x;
sinhvien y;
sinhvien z;
nhapsinhvien(x);
nhapsinhvien(y);
nhapsinhvien(z);
xuatsinhvien(x);
xuatsinhvien(y);
xuatsinhvien(z);
_getch();
return 0;
}
mọi nguoi xem em đặt xóa bộ nhớ đệm đã đúng chưa. em có ý nhập sai 3 lần là nó bị vòng lặp vô tận à
Bài liên quan