Tải bản đầy đủ (.docx) (6 trang)

BT Về File, File nhị phân trong ngôn ngữ C

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (27.87 KB, 6 trang )

CHƯƠNNG 7
Câu 1. Viết chƣơng trình nhập một tệp có kiểu có tên là SO_NGUYEN.DAT chứa n (số n
đƣợc nhập từ bàn phím và n <= 1000 ) số nguyên. Với các số nguyên đƣợc nhập vào từ
bàn phím.
Câu 2. Viết chƣơng trình đọc tệp có tên là SO_NGUYEN.DAT đƣợc lập từ câu 1. Sau đó
in các số nguyên ra màn hình
Bài làm:
#include <stdio.h>
int main()
{
int a[20], b[20];
int i=0;
FILE *f;
f = fopen("D:\\demo.txt","wt");
for (int k=0; k<5; k++)
{
scanf("%d", &a[k]);
fprintf(f,"%d\n", a[k]);
}
fclose(f);
f = fopen("D:\\demo.txt","rt");
while(!feof(f))
{
fscanf(f,"%d", &b[i]);
i++;
}
fclose(f);
printf("Doc tu file\n");
for (int j=0; j<5; j++)
{



printf("%d ", b[j]);
}
}
Câu 3. Viết chƣơng trình nhập vào một tệp văn bản (với tên tệp đƣợc nhập từ bàn phím –
và do ngƣời dùng lựa chọn) có chứa n (số n đƣợc nhập từ bàn phím và n <= 1000 ) số
nguyên với yêu cầu: mỗi dòng của tệp chỉ chứa 10 số nguyên.
Bài làm:
#include <stdio.h>
int main()
{
char ten_tep[100];
printf("nhap ten tep: ");
gets(ten_tep);
FILE *file = fopen(ten_tep, "w");
int n;
printf("nhap n: ");
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
if(i % 10 == 0 && i > 0)
fprintf(file, "\n");
int x;
scanf("%d", &x);
fprintf(file, " %d", x);
}
return 0;
}
Câu 4. Viết chƣơng trình đọc tệp đƣợc lập từ câu 3. Sau đó in các dữ liệu đọc đƣợc ra
màn hình



Bài làm:
#include <stdio.h>
int main()
{
char ten_tep[100];
printf("nhap ten tep: ");
gets(ten_tep);
FILE *file = fopen(ten_tep, "r");
while(!feof(file))
{
int x;
fscanf(file, "%d", &x);
printf("%d ", x);
}
}

Bài làm:
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct
{
char HoTen[40];
int tuoi;


float diemTB;
} SinhVien;


void ReadFile(char *FileName);
void WriteFile(char *FileName);
void WriteFile(char *FileName)
{
FILE *f;
int n,i;
SinhVien sv;
f=fopen(FileName,"ab");
printf("Nhap vao so luong sinh vien ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Sinh vien thu %i\n",i);
fflush(stdin);
printf(" - Ho ten: ");
fflush(stdin);
gets(sv.HoTen);
printf(" - Tuoi: ");
scanf("%d", &sv.tuoi);
printf(" - Diem trung binh: ");
scanf("%f", &sv.diemTB);
fwrite(&sv,sizeof(sv),1,f);
}
fclose(f);
printf("Bam phim bat ky de tiep tuc!!!");


getch();
}

void ReadFile(char *FileName)
{
FILE *f;
SinhVien sv;
f=fopen(FileName,"rb");
printf(" Ho va ten | Tuoi | Diem trung binh\n");
fread(&sv,sizeof(sv),1,f);
while (!feof(f))
{
printf(" %s | %d | %0.2f\n",sv.HoTen, sv.tuoi, sv.diemTB);
fread(&sv,sizeof(sv),1,f);
}
fclose(f);
printf("Bam phim bat ky de tiep tuc!!!");
getch();
}
void main()
{
int c;
for (;;)
{
printf("1. Nhap DSSV\n");
printf("2. In DSSV\n");
printf("3. Thoat\n");
printf("Ban chon 1, 2, 3 ");
scanf("%d",&c);


fflush(stdin);
if(c==1)

{
WriteFile("SinhVien.Dat");
}
else if (c==2)
{
ReadFile("SinhVien.Dat");
}
else break;
}
}



×