01/10/2018, 10:39
Mọi người giúp đỡ lỗi bị trôi lệnh
#include<stdio.h>
#include<conio.h>
#define MAX 100
struct Student {
char id[8];
char name[255];
double point;
};
int quantity;
struct Student st[MAX];
int main()
{
printf("Nhap so hoc vien: ");
scanf_s("%d", &quantity);
for (int i = 0; i < quantity; i++) {
printf("
Nhap thong tin hoc vien thu %d", i + 1);
printf("
Nhap id: ");
fflush(stdin);
gets(st[i].id);
printf("
Nhap ten: ");
fflush(stdin);
gets_s(st[i].name, 255);
printf("
Nhap diem: ");
scanf_s("%f",&st[i].point);
}
system("pause");
return 0;
}
Mọi người giúp m xem bài code này với.Sao lệnh scanf ở chỗ nhập Id nó bị trôi nhỉ.Mình đã search trên mạng nhưng vẫn không biết lỗi gì.Mình code trên visual studio 2015
Bài liên quan
fflush(stdin)
không có tác dụng. Bạn nên dùng một lệnh khác để thay thếNhư trên chẳng hạn. Nhớ là include thêm
stdlib.h
Anh có thể giải thích sao lại không có tác dụng không ạ
Thời thế thay đổi, hình như chỉ dùng được mấy bản cũ thôi.
Anh có thể sửa lại bài của em gửi lên không.Em sửa lại chạy,nó chỉ nhập được 1 vòng
Để tránh trường hợp bị trôi bạn nên dùng “getline” nhé.
Nếu đổi lệnh khác thì em không nói,Em chỉ muốn hỏi khắc phục như thế nào khi mình vẫn dùng lệnh đó thôi.
Trường hợp trên là do nó ghi luôn “cả ký tự xuống dòng vào scan đằng sau” nên bạn làm cách nào để nó không bị như vậy nữa là giải quyết được.