ai giúp mình lỗi này được không mình kiếm hoài không ra @@.
Lỗi lập trình trong C
Lần sau nhớ post code lên thay vì chỉ post mỗi hình lên thế này.
Nếu bạn muốn đọc 1 item thì sửa cả void nhapgiave:
void nhapgiave(giave *c, int n) {
//...
scanf("%d", &c[n].tien);
}
Bạn không post code nên chẳng ai biết bạn đang định làm gì.
Không hiểu là thớt muốn nhập mảng hay chỉ một biến. Nhìn kí hiệu thì có vẻ là mảng.
Ngoài ra có một toán tử phù hợp cho code ntn: ->
1 Like
typedef struct{
char ten[50];
char tuoi[10];
}thongtin;
typedef struct{
int tien;
int sove;
}giave;
void nhapgiave(giave c[],int *n){
printf("\nGia ve buoi chieu:");
scanf("%d",&c[n+1].tien);
printf("\nSo ve khach mua: ");
scanf("%d",&c[n+1].sove);
n++;
}
void nhapthongtin(thongtin b[],int *n){
printf("\nTen khach hang:");
gets(*b.ten[n+1]);
printf("\nTuoi khach hang:");
gets(b.tuoi[n+1]);
n++;
}
void inthongtin(thongtin b[],int *n){
printf("\n ---------Thong Tin Khach Hang---------");
printf("STT\tTen\t\tTuoi");
int i;
for (i=1;i<=n;i++){
printf("[%d]%5s%5s",i,b[i].ten,b[i].tuoi);
}
}
int main(){
typedef struct thongtin b[1000];
typedef struct giave c[1000];
int n=0,a;
printf("\tTRUNG TAM CHIEU PHIM\n");
printf("1. Nhap gia ve buoi chieu\n");
printf("2. Nhap thong tin khach hang\n");
printf("3. In thong tin khach hang\n");
printf("4. In tong ket\n");
printf("5. Thoat\n");
do{
printf("Nhap lua chon cua ban: ");
scanf("%d",&a);
fflush(stdin);
switch(a){
case 1: {
nhapgiave(c,n);
break;
}
case 2: {
nhapthongtin(b,n);
break;
}
case 3: {
inthongtin(b,n);
break;
}
case 4: {
break;
}
case 5: printf("Thoat!!!\n");break;
}
}while (a!=5);
}
nó bị như thế này mình post code k được bạn ơi @@
Vậy là đã rõ.
Sửa:
void nhapgiave(giave *c,int *n){
n++; // nếu bạn dùng chỉ số n+1 sau đó tăng n thì tăng n trước còn hơn
printf("\nGia ve buoi chieu:");
scanf("%d",&c[n].tien);
printf("\nSo ve khach mua: ");
scanf("%d",&c[n].sove);
}
mình không hiểu “->” nên không có sử dụng .

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