Mã:
#include<stdio.h>#include<conio.h>#include<string.h> struct sinhvien{ char hoten[30]; char tuoi[30]; int ma; float diem1, diem2, diem3, tong;}; void nhap(sinhvien sv[], int n){ int i; int j; sinhvien tg; for (i = 0; i<n; i++) { sv[i].ma = i + 1; printf("%d:
", sv[i].ma); printf("Nhap ho ten sinh vien:"); fflush(stdin); gets(sv[i].hoten); printf("
Nhap tuoi:"); gets(sv[i].tuoi); /hap diem va dat dieu kien cho diem mon 1: do { printf("
Nhap diem: 1"); scanf("
%f", &sv[i].diem1); if (sv[i].diem1 < 0 || sv[i].diem1 > 10) { printf("
Diem hoa khong hop le. Nhap lai!"); } } while (sv[i].diem1 < 0 || sv[i].diem1 > 10); /hap diem va dat dieu kien cho diem mon 2: do { printf("
Nhap diem: 2"); scanf("
%f", &sv[i].diem2); if (sv[i].diem2 < 0 || sv[i].diem2 > 10) { printf("
Diem hoa khong hop le. Nhap lai!"); } } while (sv[i].diem2 < 0 || sv[i].diem2 > 10); do { printf("
Nhap diem: 3"); scanf("
%f", &sv[i].diem3); if (sv[i].diem3 < 0 || sv[i].diem3 > 10) { printf("
Diem hoa khong hop le. Nhap lai!"); } } while (sv[i].diem3 < 0 || sv[i].diem3 > 10); sv[i].tong = sv[i].diem1 + sv[i].diem2 + sv[i].diem3; printf("
%2.2f", sv[i].tong); }}void xuatsapxep(sinhvien sv[], int n){ int i, j; sinhvien tg; for (i = 0; i<n - 1; i++) for (j = i + 1; j<n; j++) if (sv[i].tong < sv[j].tong) { tg = sv[i]; sv[i] = sv[j]; sv[j] = tg; } for (i = 0; i<n; i++) printf("%d %s %s %2.2f
", sv[i].ma, sv[i].hoten, sv[i].tuoi, sv[i].tong);}void GhiDsSv(const char* filepath, sinhvien sv[], int n){ FILE* fpt = fopen(filepath, "wt"); fprintf(fpt, "%d
", n); for (int i = 0; i < n; i++) { fprintf(fpt, "%d
", sv[i].ma); fprintf(fpt, "%s
", sv[i].hoten); fprintf(fpt, "%s
", sv[i].tuoi); fprintf(fpt, "%f
", sv[i].diem1); fprintf(fpt, "%f
", sv[i].diem2); fprintf(fpt, "%f
", sv[i].diem3); } fclose(fpt);}bool DocSsSv(const char* filepath, sinhvien sv[], int & n){ FILE* fpt = fopen(filepath, "rt"); if (!fpt) return false; fscanf(fpt, "%d
", &n); for (int i = 0; i < n; i++) { sv[i].ma = i + 1; fscanf(fpt, "%d
", &sv[i].ma); fscanf(fpt, "%s", &sv[i].hoten); fscanf(fpt, "%s", &sv[i].tuoi); fscanf(fpt, "%f
", &sv[i].diem1); fscanf(fpt, "%f
", &sv[i].diem2); fscanf(fpt, "%f
", &sv[i].diem3); } fclose(fpt); return true;}main(){ int n; int i; int j; sinhvien sv[50]; sinhvien tg; printf("Nhap vao so sinh vien N="); scanf("%d", &n); nhap(sv, n); xuatsapxep(sv, n); if (!DocSsSv("D:\svdata.txt", sv, n)) { /hap(sv, n); GhiDsSv("D:\svdata.txt", sv, n); } getch();}
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...