Đề: viết chương trình lấy ý kiến sinh viên, trong đó tạo qlist để nhập câu hỏi, qans để nhận câu trả lời và một feedback để sinh viên nhập câu trả lời + ý kiến về việc học tâp. Phía dưới là code của em. Em không biêt là mình đã sai chỗ nào mà khi chạy chương trinh thì nó không thể chạy hết được các câu lệnh em đưa ra.
Ví dụ: khi nhập vào danh sách x=2, i=0 vẫn hiện đầy đủ các dòng lệnh, i=1(tức là người thứ hai nhập thông tin) thì chỉ có thể nhập mã số sinh viên và trả lời câu hỏi thứ nhất.
Khi nhập x=5, thì chạy i=0, i=1 rồi chương trình dứng lại.
Mong mọi người giúp đỡ. Em cám ơn nhiều lắm. ^^
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define N 2
int main(){
struct question{
int stt;
char *cauhoi;
};
struct answer{
int stt;
char *traloi;
};
struct feedback{
char * mssv;
answer cautl[N];
char *ykien;
};
// nhap cau hoi:
question dsch[N]; //dsch: danh sach cau hoi
char tam[200];
for (int i=0; i<N; i++){
printf("nhap cau hoi thu %d: ", i+1);
dsch[i].stt=i+1;
fflush(stdin);
gets(tam);
dsch[i].cauhoi = strdup(tam);
printf("\n");
}
fflush(stdin);
int x, i=0;
printf("nhap so sinh vien vao:\n");
scanf("%d", &x);
// NHAN CAU TRA LOI VA Y KIEN CUA SV
feedback **phanhoi;
phanhoi = (feedback**)malloc(sizeof(feedback*) *x); // tao vung nho cua "phanhoi"
while(i<x){
// nhap ma so sv:
char maso[12];
printf("nhap ma so cua ban: ");
fflush(stdin);
gets(maso);
phanhoi[i]->mssv = strdup(maso);
printf("\n hay tra loi cac cau hoi sau:\n");
// nhan cau tl
int j=0;
while(j<2){
printf("cau hoi thu %d: %s", j+1, dsch[j].cauhoi);
char t[200]; // t la bien tam
printf("\n cau tra loi cua ban la: ");
fflush(stdin);
gets(t);
phanhoi[i]->cautl[j].traloi= strdup(t);
printf("\n");
j++;
}
//nhap y kien
char temp[200];
printf("hay nhap nhan xet cua ban la: \n");
fflush(stdin);
gets(temp);
phanhoi[i]->ykien= strdup(temp);
i++;
}
// giai phong vung nho
for(int i=0; i<N; i++) {
free(dsch[i].cauhoi);
free(phanhoi[i]->cautl);
}
for(int i=0; i<x; i++)
{
free(phanhoi[i]->ykien);
free(phanhoi[i]->mssv);
}
return 0;
}

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