Cho e hỏi sao e xuất ra màn hình nó cứ bị thừa số 0 vậy ạ. Bị sai ở đậu ạ.
Đề bài là nhập n đầu sách từ tệp. Với dòng đầu là số đầu sách, 3 dòng tiếp theo là tên sách, tên tác giả, năm sản xuất.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
char TS[30],TTG [20];
int NXB;
}Book;
void nhap( Book *& book, int *n,FILE *fi){
fscanf(fi,"%d",n);
char s[30];
book = ( Book*)malloc(sizeof(Book)*(*n));
for (int i = 0; i < *n; i++){
fgets(s,30,fi);
s[strlen(s)-1]='\0';
strcpy(book[i].TS,s);
fgets(s,20,fi);
s[strlen(s)-1]='\0';
strcpy(book[i].TTG,s);
fscanf(fi,"%d",&book[i].NXB);
}
}
void xuat ( Book *book, int n,FILE *fo){
for ( int i =0; i < n ;i++){
printf("%s%s\t%d\n",book[i].TS,book[i].TTG,book[i].NXB);
}
}
int main (){
int n;
Book *book;
FILE *fi=fopen("input.txt","rt");
FILE *fo=fopen ("output.txt","w");
nhap(book,&n,fi);
xuat(book,n,fo);
fclose(fi);
fclose(fo);
}
File vào là
3
giai tich
Van hai
1998
van hoc
dong ha
1882
tieng anh
van dong
1998


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