IMG-LOGO
Trang Chủ Chủ Đề Bài tập FILE - Lập trình C
× 1) Bài tập - Chuyển flowchart sang code - Lập trình C 2) Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C 3) Bài tập - Nhập xuất thông tin sinh viên - Lập trình C 4) Bài tập - Giải phương trình bậc 2 - Lập trình C 5) Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C 6) Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C 7) Loop - Viết chương trình Reserve chuỗi - Lập trình C 8) Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C 9) Fibonacci - Lập trình C 10) Ôn tập While, Do .. While, For lập trình C - Lập trình C 11) Tính tổng mảng N phần tử - Lập trình C 12) Bài tập ôn luyện mảng 1 chiều - Lập trình C 13) Bài tập ôn tập String - Lập trình C 14) Bài tập ôn luyện Function - Lập trình C 15) Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C 16) Bài toán sắp xếp trong C - Lập trình C 17) Bài toán pointer đầu tiên - Hello pointer - Lập trình C 18) Bài tập pointer nâng cao - cấp phát động - Lập trình C 19) Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C 20) Tìm kiếm chuỗi trong chuỗi - Lập trình C 21. Bài tập FILE - Lập trình C

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

by TRẦN VĂN ĐIỆP - 19:11 29/10/2020 1,305 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)


Theo dõi cập nhật nội dung học trên Youtube


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;
}


Danh Sách Bài Học

Quick Quizzz!!!

User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User Image
User ImageUser ImageUser Image
>> Hiển Thị Quizzz
Đã sao chép!!!