IMG-LOGO
Trang Chủ Lập Trình C Bài tập FILE - Lập trình C
×

Lý Thuyết

01 - Nhập môn cho người mới bắt đầu - Lập trình C 02.Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C 03. Hướng dẫn cài đặt môi trường lập trình C - Lập trình C 04. Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C 05. Toán tử & biểu thức login trong C - Lập Trinh C 06. Nhập dữ liệu trong C (scanf, printf) - Lập trình C 07. Nhập xuất dữ liệu phần 2 - Lập Trình C 08. Tìm hiểu if, else, switch trong lập trình C - Lập Trình C 09. Tìm hiểu về vòng lặp for trong C - Lập trình C 10. Tìm hiểu while, do..while trong lập trình C - lập Trình C 11. Tìm hiểu mảng 1 chiều trong C - Lập trình C 12. Tìm hiểu mảng 2 chiều - Lập Trình C 15. Tìm hiểu pointer phần 3 - Lập trình C 14. Tìm hiểu pointer phần 2 - Lập Trình C 13. Tìm hiểu pointer phần 1 - Lập Trình C 16. Tìm hiểu function trong lập trình C - Lập Trình C 17. Tìm hiểu string trong lập trình C - Lập Trình C 18. Struct trong C - Lập Trình C 1000 Bài tập C - Lập Trình C BT02 - Hướng dẫn chữa bài Fibonaci - Lập Trình C BT03. Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động BT04. Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C

Bài Tập

Bài tập - Chuyển flowchart sang code - Lập trình C Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C Bài tập - Nhập xuất thông tin sinh viên - Lập trình C Bài tập - Giải phương trình bậc 2 - Lập trình C Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C Loop - Viết chương trình Reserve chuỗi - Lập trình C Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C Fibonacci - Lập trình C Ôn tập While, Do .. While, For lập trình C - Lập trình C Tính tổng mảng N phần tử - Lập trình C Bài tập ôn luyện mảng 1 chiều - Lập trình C Bài tập ôn tập String - Lập trình C Bài tập ôn luyện Function - Lập trình C Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C Bài toán sắp xếp trong C - Lập trình C Bài toán pointer đầu tiên - Hello pointer - Lập trình C Bài tập pointer nâng cao - cấp phát động - Lập trình C Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C Tìm kiếm chuỗi trong chuỗi - Lập trình C Bài tập FILE - Lập trình C Bài tập - ôn tập nhật xuất và biểu tức toán học - Lập trình C Bài tập - Giải phương trình bậc 1 - giải phương trình bậc nhất - Lập trình C Ôn tập function - viết chương trình máy tính - Lập trình C Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C Bài tập nâng cao pointer - Lập trình C

Examination & Test

[Test] Kiểm tra 60 phút - if, else, switch, loop trong C - Lập trình C [Test] Kiểm tra 60 phút - Lập trình C

Tài Liệu Học

C - Basic Syntax(Cú pháp cơ bản)




Bài tập FILE - Lập trình C

by GokiSoft.com - 19:11 29/10/2020 3,341 Lượt Xem

- Tạo struct sinh viên gồm các thuộc tính: Tên, tuổi, địa chỉ, mã sv, email

- Viết chương trình thực hiện chức năng sau

1. Nhập thông tin sinh viên

2. Đọc thông tin sinh viên từ file

3. Thoat

Khi người dùng chọn 1: Thực hiện nhập thông tin sinh viên => sau đó hỏi người dùng muốn lưu bằng cách nào

1.1 Lưu file txt (student.txt) => Lưu theo kiểu append (a) - Mỗi sinh viên được luu trên 1 dòng (R001,TRAN VAN DIEP, 20, NAM ĐỊNH,[email protected]) -> định dạng (mã sv, tên, tuổi, địa chỉ, email)

1.2 Lưu file student.dat (nhị phân) => Lưu theo kiểu append (a)

Khi người dùng chọn 2: Thực hiện hỏi người dùng đọc dữ liệu theo cách nào

2.1 Đọc file student.txt

2.2 Đọc file student.dat

Đọc nội dung lưu vào mảng studentList (mảng kiểu con trỏ, được cấp phát bộ nhớ động => sử dụng malloc, calloc, realloc)


Bình luận



Chia sẻ từ lớp học

Trung Hiếu [community]

Ngày viết: 08:01 31/10/2020

C2002L


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct sinhvien_st{
	char ten[50];
	int tuoi;
	char diachi[100];
	char masv[30];
	char email[50];
} Sinhvien;

void showMenu(){
	printf("\n1. Nhap thong tin sinh vien.");
	printf("\n2. Doc thong tin sinh vien tu file.");
	printf("\n3. Thoat");
}

void inputData(Sinhvien *p){
	int i;
	for(i=0;i<3;i++){
		printf("\nNhap du lieu cua sinh vien thu %d", i+1);
		
		printf("\nTen: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].ten);
		
		printf("\nTuoi: ");
		scanf("%d", &p[i].tuoi);
		
		printf("\nDia chi: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].diachi);
		
		printf("\nMa SV: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].masv);
		
		printf("\nEmail: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].email);
	}
}

void saveMenu(){
	printf("\n=== Luu du lieu ===");
	printf("\n1. Luu file .txt theo kieu (a)");
	printf("\n2. Luu file .dat theo kieu (a)");	
}

void saveData(Sinhvien *p, int select){
	switch(select) {
		case 1:{
			//Mo ket noi toi file
			FILE *fp = fopen("sinhvien.txt", "a");
			
			//Thuc hien luu file
			int i;
			for(i=0;i<3;i++){
				fprintf(fp, "\nSinh vien thu %d", i+1);
				fprintf(fp, "\n- Ten: %s", p[i].ten);
				fprintf(fp, "\n- Tuoi: %d", p[i].tuoi);
				fprintf(fp, "\n- Dia chi: %s", p[i].diachi);
				fprintf(fp, "\n- Ma SV: %s", p[i].masv);
				fprintf(fp, "\n- Email: %s", p[i].email);
			}
			
			//Dong ket noi
			fclose(fp);
	
			printf("\nLuu du lieu thanh cong!");
			break;
		}
		
		case 2:{
			Sinhvien std;
			//Luu du lieu
			int i;
			for(i=0;i<3;i++){
				strcpy(std.ten, p[i].ten);
				strcpy(std.diachi, p[i].diachi);
				strcpy(std.email, p[i].email);
				strcpy(std.masv, p[i].masv);
				std.tuoi = p[i].tuoi;
			}
			
			//Mo ket noi toi file
			FILE *fp = fopen("sinhvien.dat", "a");
			
			//Thuc hien luu file
			fwrite(&std, sizeof(Sinhvien), 1, fp);
			
			//Dong ket noi
			fclose(fp);
			
			printf("\nLuu du lieu thanh cong!");
			break;
		}
			
	}
}

void readMenu(){
	printf("\n=== Doc du lieu ===");
	printf("\n1. Doc file sinhvien.txt");
	printf("\n2. Doc file sinhvien.dat");
}

void readData(Sinhvien *p, int select){
	switch(select) {
		case 1:{
			//Mo ket noi toi file
			FILE *fp = fopen("sinhvien.txt", "r");	
			
			//Doc du lieu
			char str[1000];
			
			if(fp == NULL){
				printf("Could not open file!");
			}
			else {
				printf("\nNoi dung doc FILE: ");
				while(fgets(str, 1000, fp) != NULL) {
					printf("%s", str);
				}
			}
			
			//Dong ket noi
			fclose(fp);
			break;
		}
		
		case 2: {
			Sinhvien std;
			//Mo ket noi toi file
			FILE *fp = fopen("sinhvien.dat", "r");	
			
			//Doc du lieu
			fread(&std, sizeof(Sinhvien), 1, fp);
			
			printf("\nTen: %s", std.ten);
			//Dong ket noi
			fclose(fp);
			break;
		}
	}	
}
int main(){
	Sinhvien svList[3];
	int select, select2, n;
	
	do{
		showMenu();
		printf("\nNhap lua chon: ");
		scanf("%d", &select);
		
		switch(select) {
			case 1:{
				inputData(svList);
				saveMenu();
				printf("\nChon cach luu du lieu: ");
				scanf("%d", &select2);
				saveData(svList, select2);
				break;
			}
			
			case 2:{
				readMenu();
				printf("\nChon cach doc du lieu: ");
				scanf("%d", &select2);
				readData(svList, select2);
				break;
			}
		}
	}
	while (select != 3);
	
	return 0;
}


TRẦN VĂN ĐIỆP [Teacher]

Ngày viết: 19:13 29/10/2020



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct Student_ST {
	char name[50], address[200];
	int age;
} Student;

int main(int argc, char *argv[]) {
//	//Mo ket noi toi file
//	FILE *fp = fopen("vidu.txt", "a");
//	
//	//Thuc hien doc & ghi
//	fputs("Xin ABC", fp);
//	fprintf(fp, "Noi dung %s sdfsdf", "abc");
//	
//	//Dong ket noi
//	fclose(fp);
//	FILE *fp = fopen("vidu.txt", "r");
//	
//	//doc du lieu
//	char c;
//	
//	printf("\nNoi dung doc FILE:");
//	while(!feof(fp)) {
//		c = fgetc(fp);
//		printf("%c", c);
//	}
//	
//	fclose(fp);
//ghi
//	Student std;
//	strcpy(std.address, "Ha Noi");
//	strcpy(std.name, "Diep");
//	std.age = 20;
//	
//	//mo ket noi
//	FILE *fp = fopen("student.dat", "wb");
//	
//	//ghi du lieu
//	fwrite(&std, sizeof(Student), 1, fp);
//	
//	//dong ket noi
//	fclose(fp);

	Student std;
	//mo ket noi
	FILE *fp = fopen("student.dat", "rb");
	
	//ghi du lieu
	fread(&std, sizeof(Student), 1, fp);
	
	//dong ket noi
	fclose(fp);
	
	printf("\nTen: %s, tuoi: %s", std.name, std.address);
	return 0;
}


Phân Loại Bài Viết

Đã sao chép!!!