By GokiSoft.com| 19:35 11/01/2022|
Lập Trình C

Quản lý sách - Lập trình C

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

5

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

Triệu Văn Lăng [T2008A]
Triệu Văn Lăng

2020-10-12 08:28:56



#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 */

void showMenu(){
	printf("\nchon1. Nhap du lieu tung quyen sach");
	printf("\nchon2. Sap xep, hien thi chi tiet tung quyen sach, thong ke theo nxb ");
	printf("\nchon3. Tim sach theo the loai");
	printf("\nchon4. Luu tap tin");
	printf("\nchon5. Thoat");
	printf("\nmoi chon");
}

typedef struct book_ST {
	char ten[30], theloai[30];
	int giatien, namxb, stt;
} book;

void inputbookList(book *p){
	int i;
	for(i=0;i<3;i++) {
		printf("\nnhap stt "); scanf("%d", &p[i].stt);
		printf("\nnhap ten quyen sach thu %d ",i+1);
		fflush(stdin);fflush(stdout);
		gets(p[i].ten);
		printf("\nnhap the loai ");
		fflush(stdin);fflush(stdout);
        gets(p[i].theloai);
        printf("\nnhap gia tien ");
        scanf("%d",&p[i].giatien);
        printf("\nnhap nam xuat ban ");
        scanf("%d",&p[i].namxb);
	}
}

void sx(book *p){
	int i, j;
	for(i=0;i<3;i++) {
		for(j=i+1;j<4;j++) {
			int cmp=strcmp(p[i].ten, p[j].ten);
			if(cmp>0) {
				book tmp=p[i];
				p[i]=p[j];
				p[j]=tmp;
			}
		}
	}
}

void displaybookList(book *p) {
	int i;
	
	printf("\n||%-10d||%-30s||%-30s||%-15s||%-10s||","stt", "ten","theloai","giatien","namxb");
	for(i=0;i<3;i++) {
	
		printf("\n||%-10d||%-30s||%-30s||%-15d||%-10d||",p[i].stt, p[i].ten, p[i].theloai, p[i].giatien, p[i].namxb);
        } 	
       
	
	} 

void searchbookList(book *p) {
	int i;
	char j;
	printf("\nnhap the loai");
	fflush(stdin);fflush(stdout);
	gets(p[j].theloai);
	printf("\n%-30s||%-30s||%-15s||%-10s||", "ten","theloai","giatien","namxb");
	for(i=0;i<3;i++){
		if(p[j].theloai==p[i].theloai){
			printf("\n%-30s||%-30s||%-15d||%-10d", p[i].ten, p[i].theloai, p[i].giatien, p[i].namxb);
			
		} else {
			printf("\nkhong co ket qua");
		}
		
	}
}

void savebookList(book *p) {
	FILE *fp;
	fp=fopen("book.dat","wb");
	fwrite(p, sizeof(book), 3, fp);
	fclose(fp);
}



int main(int argc, char *argv[]) {
    book bookList[4];
    int n;
    do {
    	showMenu();
    	scanf("%d", &n);
    	switch(n) {
    		case 1:
    			inputbookList(bookList);
    			break;
    		case 2:
    			sx(bookList);
    			displaybookList(bookList);
    		
    			break;
    		case 3:
    			searchbookList(bookList);
    			break;
    		case 4:
    			savebookList(bookList);
    			break;
    		case 5:
    			printf("\nket thuc!!!");
    			break;
    		default:
    			printf("\nban nhap sai roi!!!!nhap lai");
		}
	}
	while(n!=5);
	return 0;
}



Nguyễn Hữu Hiếu [T2008A]
Nguyễn Hữu Hiếu

2020-10-03 14:20:51



#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 book_ST {
	char name[30], type[20];
	int money, year;
} book;
void show();
void input(book *p);
void sapxep(book *p);
void search(book *p);
void save(book *p);

int main(int argc, char *argv[]) {
	int choose;
	book bookList[3];
	
	
	do {
		show();
		scanf("%d", &choose);
		switch(choose) {
			case 1:
				input(bookList);
				break;
			case 2:
				sapxep(bookList);
				hienthi(bookList);
				thongke(bookList);
				break;
			case 3:
				search(bookList);
				break;
			case 4:
				save(bookList);
				break;
			case 5:
				printf("\nThoat chuong trinh!!!");
				break;
			default:
				printf("\nNhap sai!!!");
				break;
		}
		
	} while(choose != 5);
	

	return 0;
}

void show() {
	printf("\n1. Nhap du lieu: ");
	printf("\n2. Sap xep, thong ke, hien thi: ");
	printf("\n3. Tim sach theo the loai: ");
	printf("\n4. Save .dat: ");
	printf("\n5. Thoat: ");
	printf("\nChon choose: ");
}

void input(book *p) {
	int i;
	for(i=0;i<3;i++) {
		printf("\nNhap thong tin quyen sach thu %d", i+1);
		printf("\nNhap ten: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].name);
		
		printf("\nNhap the loai: ");
		fflush(stdin); fflush(stdout);
		gets(p[i].type);
		
		printf("\nNhap gia ban: ");
		fflush(stdin); fflush(stdout);
		scanf("%d", &p[i].money);
		
		printf("\nNhap nam xuat ban: ");
		fflush(stdin); fflush(stdout);
		scanf("%d", &p[i].year);
	}
}

void sapxep(book *p) {
	int i,j,k;
	book temp;
	for(i=0;i<2;i++) {
		for(j=i+1;j<3;j++) {
			k = strcmp(p[i].type, p[j].type);
			if( k == -1) {
				temp = p[i];
				p[i] = p[j];
				p[j] = temp;
			}
		}
	}
}

void hienthi(book *p) {
	int i;
	printf("\n%3s||%10s||%10s||%10s||%10s", 
		"STT", "Ten", "The Loai", "Gia ban", "Nam xuat ban");
		for(i=0;i<3;i++) {
			printf("\n%3d||%10s||%10s||%10d||%10d", 
				i+1, p[i].name, p[i].type, p[i].money, p[i].year);
		}
}

void thongke(book *p) {
	int k,i,j,count[3] = {1,1,1};
	for(i=0;i<2;i++) {
		for(j=i+1;j<3;j++) {
			if(p[i].year == p[j].year) {
				count[i]++;
				count[j]--;
			}
		}
	}
	for(i=0;i<3;i++) {
		if(count[i] != 0) {
			printf("\nNam %d co %d quyen", p[i].year, count[i]);
		}
	}
}

void search(book *p) {
	char typeNhap[30];
	int i, k, count = 0;
	printf("\nNhap the loai sach can tim:");
	fflush(stdin); fflush(stdout);
	gets(typeNhap);
	for(i=0;i<3;i++) {
		k = strcmp(typeNhap, p[i].type);
		if(k == 0) {
			count++;
		}
	}
	printf("\nThe loai sach %s co %d quyen", typeNhap, count);
}

void save(book *p) {
	FILE *fp;
	fp = fopen("D://Quanlysach.dat","w");
	fwrite(p,sizeof(book),3,fp);
	fclose(fp);
}






Nguyễn Tiến Đạt [T2008A]
Nguyễn Tiến Đạt

2020-10-03 01:49:51



//Assignment Quan li sach(checked)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct book_st{
	 char ten[30],theloai[30];
	 int giatien, namxuatban;
}Book;

void Menu(){
	printf("\n1.Nhap du lieu cua tung quyen sach.");
	printf("\n2.Sap xep va hien thi thong tin chi tiet cua tung quyen sach theo ten(Z->A), thong ke sach theo nam xuat ban.");
	printf("\n3.Tim quyen sach theo the loai.");
	printf("\n4.Ghi vao tap tin nhi phan book.dat.");
	printf("\n5.Thoat.");
}

void nhaptruyen(Book *p){
	int i;
	for(i=0;i<3;i++){
		fflush(stdin);fflush(stdout);
		printf("\nNhap quyen sach %d:",i+1);
		fflush(stdin);fflush(stdout);
		printf("\nTen: ");
		gets(p[i].ten);
		fflush(stdin);fflush(stdout);
		printf("\nThe loai: ");
		gets(p[i].theloai);
	    fflush(stdin);fflush(stdout);
		printf("\nGia tien: ");
		scanf("%d",&p[i].giatien);
		fflush(stdin);fflush(stdout);
		printf("\nNam xuat ban: ");
		scanf("%d",&p[i].namxuatban);
		fflush(stdin);fflush(stdout);		
	}
}

void hienthitruyen(Book *p){
	int i,j;
	for(i=0;i<2;i++){
		for(j=i+1;j<3;j++){
			int cmp=strcmp(p[i].ten,p[j].ten);
			if(cmp<0){
				Book temp=p[i];
				p[i]=p[j];
				p[j]=temp;
			}
		}
	}
	printf("\n%-5s||%-30s||%-30s||%-12s||%-20s","STT","Ten","The loai","Gia tien","Nam xuat ban");
	for(i=0;i<3;i++){
		printf("\n00%d  ||%-30s||%-30s||%-12d||%-20d",i+1,p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
	}
	printf("\n");
	int count[3]={1,1,1};
	for(i=0;i<2;i++){
		if(count[i]==0){
			continue;
		}
		for(j=i+1;j<3;j++){
			if(count[j]==0){
				continue;
			}
			if(p[i].namxuatban==p[j].namxuatban){
				count[i]++;
				count[j]--;
			}
		}
	}
	for(i=0;i<3;i++){
		if(count[i]!=0){
			printf("\nNam %d co %d quyen sach",p[i].namxuatban,count[i]);
		}
	}
	printf("\n");
}

void timtheloai(Book *p){
	int i;
	int count=0;
	char loai[50];
	fflush(stdin);fflush(stdout);
	printf("\nNhap the loai can tim: ");
	gets(loai);
	fflush(stdin);fflush(stdout);
	for(i=0;i<3;i++){
		int cmp=strcmp(loai,p[i].theloai);
		if(cmp==0){
			count++;
	    }
	}
	if(count!=0){
		printf("\n%-5s||%-30s||%-30s||%-12s||%-20s","STT","Ten","The loai","Gia tien","Nam san xuat");
	}
	count=0;
	for(i=0;i<3;i++){
		int cmp=strcmp(loai,p[i].theloai);
		if(cmp==0){
			count++;
			printf("\n00%d  ||%-30s||%-30s||%-12d||%-20d",i+1,p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
		}
	}
	if(count==0){
		printf("\nKhong co quyen sach thuoc the loai nay");
	}
	printf("\n");
}

void ghithongtin(Book *p){
	FILE *fp;
	fp=fopen("book.dat","wb");
	fread(p, sizeof(Book), 3, fp);
	fclose(fp);
}

int main(){
	Book bookList[3];
	int choose;
	while(1){
		Menu();
		printf("\nLua chon chuong trinh: ");
		scanf("%d",&choose);
		switch(choose){
			case 1:
				nhaptruyen(bookList);
			break;	
			case 2:
				hienthitruyen(bookList);
			break;	
			case 3:
				timtheloai(bookList);
			break;	
			case 4:
				ghithongtin(bookList);
				printf("\nDa luu thanh cong!!\n");
			break;	
			case 5:
				printf("\nTam biet!!\n");
				exit(0);
			break;	
			default:
				printf("\nLoi cu phap, moi chon lai!!\n");
			break;	
		}
	}
}



Do Trung Duc [T2008A]
Do Trung Duc

2020-10-01 13:47:33



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

typedef struct book_st{
	char ten[30], theloai[30];
	int giatien, namxuatban;
} book;

int length = 3;

void menu(book *p){
	printf("\n1.Nhap du lieu tung quyen sach");
	printf("\n2.Sap xep, hien thi thong tin chi tiet cua tung quyen sach theo the loai (Z->A). Thong ke sach theo nam xuat ban");
	printf("\n3.Tim  quyen sach theo the loa");
	printf("\n4.Ghi vao tap tin nhi phan book.dat");
	printf("\n5.Thoat");	
}

void nhapdulieu(book *p){
	
	int i;
	for(i=0;i<length;i++){
		printf("\nNhap thong tin quyen sach %d", i+1);
		
		printf("\nNhap ten: ");
		fflush(stdin), fflush(stdout);
		gets(p[i].ten);
		
		printf("\nNhap theloai: ");
		fflush(stdin), fflush(stdout);
		gets(p[i].theloai);
		
		printf("\nNhap gia tien: ");
		
		fflush(stdin), fflush(stdout);
		scanf("%d", &p[i].giatien);
		
		printf("\nNhap nam xuat ban: ");
		fflush(stdin), fflush(stdout);
		scanf("%d", &p[i].namxuatban);
	}
}

void sapxep(book *p){
		int cmp, i,j;
		book temp;
		for(i=0;i<length-1;i++){
			for(j=i+1;j<length;j++){
				cmp = strcmp(p[i].theloai,p[j].theloai);
				if(cmp>0){
					temp = p[i];
					p[i] = p[j];
					p[j] = temp;
				}
			}
		}
}
	
void hienthisausapxep(book *p){
		printf("\n|%30s|%30s|%10s|%10s","Ten", "The loai", "Gia tien","Nam xuat ban");
		int i;
		for(i=0;i<length;i++){
			printf("\n|%30s|%30s|%10d|%10d",p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
		}
}	

void thongketheonamxuatban(book *p){
		int i,j;
		int count[3] = {1,1,1};
		for(i=0;i<length-1;i++){
			if(count[i]==0){
				  
				continue;
			}
			for(j=i+1;j<length;j++){
				if(count[j]==0){
				continue;
			}
			
			
			if(p[i].namxuatban==p[j].namxuatban) {
				count[i]++;
				count[j]--;	
			}
		}		
}
		for(i=0;i<3;i++){
				if(count[i]!=0){
					printf("\nNam %d co %d quyen sach", p[i].namxuatban, count[i]);
				}
			}
	
}

	void timtheotheloai (book *p){
		
		char name[50];
		printf("Nhap the loai sach: ");
		fflush(stdin), fflush(stdout);
		gets(name);
		
			printf("\n|%30s|%30s|%10s|%10s","Ten", "The loai", "Gia tien","Nam xuat ban");
			
		int count,i;
		count = 0;
		for(i=0;i<length;i++){
			int cmp = strcmp (name, p[i].theloai);
			
			if(cmp==0){
				printf("\n|%30s|%30s|%10d|%10d",p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
				count++;
				
			}
			
		}
		
		if(count==0){
			printf("\nKhong co sach thuoc the loai nay");
		}
		
	}
	
	
	void ghidulieu (book *p){
				FILE *fp;
		fp = fopen("book.dat","wb");
		fwrite(p,  sizeof (book), length, fp);
		fclose(fp);
	}


int main(int argc, char *argv[]) {
	
	book bookList[3];
	int choose;
	do{
		menu(bookList);
		
		printf("\nNhap lua chon choose:");
		scanf("%d",&choose);
		
		switch(choose){
			case 1:
				nhapdulieu(bookList);
			break;			
			
			case 2:
				sapxep(bookList);
				hienthisausapxep(bookList);
				thongketheonamxuatban(bookList);
			break;			

			case 3:
				timtheotheloai(bookList);
			break;			

			case 4:
				ghidulieu(bookList);
			break;			

			case 5:
				printf("Thoat");
			break;	
					
			default:
				printf("Nhap choose sai!!!");
			break;
		}
		
		
	}while(choose!=5);
	
	return 0;
}



An Văn Minh [T2008A]
An Văn Minh

2020-09-30 06:46:46



#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct book_st{
	char ten[30],theloai[30];
	int giatien,namxuatban;
}Book;
void Showmenu();
void nhapdulieu(Book *p);
void sapxepdulieu(Book *p);
void hienthidulieu(Book *p);
void timkiemdulieu(Book *p);
void ghitep(Book *p);

int main(){
	Book booklist[3];
	int a;
	while(a!=5){
	Showmenu();
	scanf("%d", &a);
	switch(a){
		case 1:
			nhapdulieu(booklist);                                                                                                                       
			break;
		case 2:
			sapxepdulieu(booklist);
			hienthidulieu(booklist);
			break;	
		case 3:
			timkiemdulieu(booklist);
			break;
		case 4:
			ghitep(booklist);
			break;
		case 5:
			printf("\nGoodbye!!!");
			break;
		default:
			printf("\nNhap sai!!!!!");
			break;			
	}
}
	return 0;
}
void Showmenu(){
	printf("\n================MENU=================");
	printf("\n1.Nhap du lieu tung quyen sach.");
	printf("\n2.Sap xep va hien thi tung quyen sach.");
	printf("\n3.Tim quyen sach theo the loai.");
	printf("\n4.Ghi vao tep tin nhi phan book.dat.");
	printf("\n5.Thoat!!!");
	printf("\nChon: ");
}
void nhapdulieu(Book *p){
	int i;
	for(i=0;i<3;i++){
	printf("\nNhap quyen sach %d", i+1);
	printf("\nTen: ");
	fflush(stdin);
	gets(p[i].ten);
	printf("\nThe loai: ");
	fflush(stdin);
	gets(p[i].theloai);
	printf("\nGia tien: ");
	fflush(stdin);
	scanf("%d", &p[i].giatien);
	printf("\nNam xuat ban: ");
	scanf("%d", &p[i].namxuatban);	
	}	
}
void sapxepdulieu(Book *p){
	int i,j;
	for(i=0;i<2;i++){
		for(j=i+1;j<3;j++){
			int cmp = strcmp(p[i].theloai,p[j].theloai);
			if(cmp<0){
				Book temp=p[i];
				p[i]=p[j];
				p[j]=temp;
			}
		}
	}
}
void hienthidulieu(Book *p){
	int i,j;
	printf("\n%-3s||%-30s||%-30s||%-15s||%-10s||","STT","Ten","The loai","Gia tien","Nam xuat ban");
	for(i=0;i<3;i++){
		printf("\n00%d||%-30s||%-30s||%-15d||%-15d||",i+1,p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
	}
	printf("\n");
	int count[3]={1,1,1};
	for(i=0;i<2;i++){
		if(count[i]==0){
			continue;
		}
		for(j=i+1;j<3;j++){
			if(count[j]==0){
				continue;
			}
			if(p[i].namxuatban==p[j].namxuatban){
				count[i]++;
				count[j]--;
			}
		}
	}
			for(i=0;i<3;i++){
				if(count[i]!=0){
				printf("\nNam %d co %d quyen sach",p[i].namxuatban,count[i]);
			}
		}
	}
void timkiemdulieu(Book *p){
	int found=0;
	int i,j;
	char theloai[50];
	fflush(stdin);fflush(stdout);
	printf("\nNhap the loai can tim la: ");
	gets(theloai);
	fflush(stdin);fflush(stdout);
	for(i=0;i<3;i++){
		int cmp=strcmp(theloai,p[i].theloai);
		if(cmp==0){
			found++;
		}
	}	
	if(found!=0){
		printf("\n%-3s||%-30s||%-30s||%-15s||%-10s||","STT","Ten","The loai","Gia tien","Nam xuat ban");
		found=0;
	}
	for(i=0;i<3;i++){
		int cmp=strcmp(theloai,p[i].theloai);
		if(cmp==0){
			printf("\n00%d||%-30s||%-30s||%-15d||%-15d||",i+1,p[i].ten,p[i].theloai,p[i].giatien,p[i].namxuatban);
			found++;
		}
	}
	if(found==0){
		printf("\nKhong co quyen sach thuoc the loai nay.");
	}
}
void ghitep(Book *p){
	FILE *fp;
	fp=fopen("book.dat", "wb");
	fread(p, sizeof(Book), 3,fp );
	fclose(fp);
}