By GokiSoft.com| 19:18 27/09/2023|
Lập Trình C

[Share Code][Test] Kiểm tra 60 phút - Lập trình C - C2307L

[Test] Kiểm tra 60 phút - Lập trình C

#main.c

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

typedef struct ST_SinhVien {
	char name[50], rollno[20];
	int age;
} SinhVien;

SinhVien *p;
int total = 0;

void showMenu();
void input();
void display();
void sort();

int main(int argc, char *argv[]) {
	/**int n, i;
	printf("\nNhap so sinh vien can them: ");
	scanf("%d", &n);
	
	SinhVien stdList[n];
	
	for(i=0;i<n;i++) {
		printf("\nNhap ten: ");
		fflush(stdin);fflush(stdout);
		gets(stdList[i].name);
		printf("\nNhap msv: ");
		fflush(stdin);fflush(stdout);
		gets(stdList[i].rollno);
		printf("\nNhap tuoi: ");
		fflush(stdin);fflush(stdout);
		scanf("%d", &stdList[i].age);
	}
	
	printf("\nHien thi thong tin sinh vien");
	for(i=0;i<n;i++) {
		printf("\nTen: %s, msv: %s, tuoi: %d", stdList[i].name, stdList[i].rollno, stdList[i].age);
	}
	*/
	SinhVien sv;
	printf("\nNhap ten: ");
	fflush(stdin);fflush(stdout);
	gets(sv.name);
	printf("\nNhap msv: ");
	fflush(stdin);fflush(stdout);
	gets(sv.rollno);
	printf("\nNhap tuoi: ");
	fflush(stdin);fflush(stdout);
	scanf("%d", &sv.age);
	
	printf("\nTen: %s, msv: %s, tuoi: %d", sv.name, sv.rollno, sv.age);
	
	SinhVien *q;
	q = &sv;
	
	printf("\nTen: %s, msv: %s, tuoi: %d", q->name, q->rollno, q->age);
	
	//De bai: khai bao mang sinh vien p
	//Yeu cau: Xay dung menu
	//1. Them N sinh vien
	//2. Hien thi thong tin sinh vien
	//3. Sap xep theo ten A-Z
	//4. Thoat
	/**int choose;
	
	do {
		showMenu();
		scanf("%d", &choose);
		
		switch(choose) {
			case 1: {
				input();
				break;
			}
			case 2: {
				display();
				break;
			}
			case 3: {
				sort();
				break;
			}
			case 4: {
				printf("\nThoat!!!");
				break;
			}
			default: {
				printf("\nNhap sai!!!");
				break;
			}
		}
	} while(choose != 4);
	*/
	return 0;
}

void showMenu() {
	printf("\n1. Them N sinh vien");
	printf("\n2. Hien thi");
	printf("\n3. Sap xep");
	printf("\n4. Thoat");
	printf("\nChon: ");
}

void input() {
	int i, n;
	printf("\nNhap so phan tu can them: ");
	scanf("%d", &n);
	if(total == 0) {
		p = (SinhVien *) calloc (n, sizeof(SinhVien));
	} else {
		p = (SinhVien *) realloc(p, (total + n) * sizeof(SinhVien));
	}
	for(i=total;i<total + n;i++) {
		printf("\nNhap ten: ");
		fflush(stdin);fflush(stdout);
		gets(p[i].name);
		printf("\nNhap msv: ");
		fflush(stdin);fflush(stdout);
		gets(p[i].rollno);
		printf("\nNhap tuoi: ");
		fflush(stdin);fflush(stdout);
		scanf("%d", &p[i].age);
	}
	total += n;
}

void display() {
	int i;
	printf("\nHien thi thong tin sinh vien");
	for(i=0;i<total;i++) {
		printf("\nTen: %s, msv: %s, tuoi: %d", p[i].name, p[i].rollno, p[i].age);
	}
}

void sort() {
	int i, j, cmp;
	SinhVien tmp;
	
	for(i=0;i<total - 1;i++) {
		for(j=i+1;j<total;j++) {
			//name: string (go gi cung dc)
			cmp = strcmp(p[i].name, p[j].name);
			if(cmp > 0) {
				tmp = p[i];
				p[i] = p[j];
				p[j] = tmp;
			}
		}
	}
	
	display();
}
Tags:



Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó