01/10/2018, 13:35

Lỗi lập trình trong C

ai giúp mình lỗi này được không mình kiếm hoài không ra @@.

HK boy viết 15:48 ngày 01/10/2018

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ì.

rogp10 viết 15:41 ngày 01/10/2018

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: ->

Huynh Duong Gia Bao viết 15:51 ngày 01/10/2018
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);
}
Huynh Duong Gia Bao viết 15:38 ngày 01/10/2018

nó bị như thế này mình post code k được bạn ơi @@

HK boy viết 15:37 ngày 01/10/2018

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);
}
Huynh Duong Gia Bao viết 15:41 ngày 01/10/2018

mình không hiểu “->” nên không có sử dụng .

Bài liên quan
0