Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Chương trình quản lý sách

    Viết chương trình quản lý sách cho một cửa hàng sách, sử dụng mảng 1 chiều để lưu các cuốn sách; thông tin của mỗi cuốn sách gồm: mã sách, tên sách, tên tác giả, loại sách (gồm 2 loại Tự nhiên và Xã hội), năm xuất bản, giá tiền, số lượng. Chương trình có các chức năng sau:
    1. Nhập thông tin các cuốn sách
    2. Xuất thông tin các cuốn sách
    3. Thêm 1 cuốn sách
    4. Tính tổng thành tiền tất cả cả các cuốn sách
    5. Sắp xếp các cuốn sách theo mã sách
    6. Tìm sách theo tên sách
    7. Xuất các cuốn sách có năm xuất bản trước năm 2000
    8. Đếm số lượng sách có giá lớn hơn 50000
    9. Xuất ra các cuốn sách có giá lớn nhất
    10. Xuất các cuốn sách theo loại (xuất loại nào là do người dùng chọn)
    Ở bài này câu 1 và câu 2 mình có thể nhập và xuất nhưng ở nhưng câu sau thật sự mình không cách nào suy nghĩ ra.Mong anh em giúp sức với.Gmail của mình là dinhvanminh89@gmail.com.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vanminhpt1990
    Viết chương trình quản lý sách cho một cửa hàng sách, sử dụng mảng 1 chiều để lưu các cuốn sách; thông tin của mỗi cuốn sách gồm: mã sách, tên sách, tên tác giả, loại sách (gồm 2 loại Tự nhiên và Xã hội), năm xuất bản, giá tiền, số lượng. Chương trình có các chức năng sau:
    1. Nhập thông tin các cuốn sách
    2. Xuất thông tin các cuốn sách
    3. Thêm 1 cuốn sách
    4. Tính tổng thành tiền tất cả cả các cuốn sách
    5. Sắp xếp các cuốn sách theo mã sách
    6. Tìm sách theo tên sách
    7. Xuất các cuốn sách có năm xuất bản trước năm 2000
    8. Đếm số lượng sách có giá lớn hơn 50000
    9. Xuất ra các cuốn sách có giá lớn nhất
    10. Xuất các cuốn sách theo loại (xuất loại nào là do người dùng chọn)
    Ở bài này câu 1 và câu 2 mình có thể nhập và xuất nhưng ở nhưng câu sau thật sự mình không cách nào suy nghĩ ra.Mong anh em giúp sức với.Gmail của mình là dinhvanminh89@gmail.com.
    MÌnh có làm cái code củ chuối lâu rồi bạn tham khảo
    Mã:
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <ctype.h>
    #include <string.h>
    #define maxch 100
    #define max 100
    typedef struct{
    	int date,month,year;
    	}da;
    typedef struct{
    	char codebook[maxch],namebook[maxch],fistname[maxch];
    	int number;
    	da publishdate;
    	}book;
    void inputlistbook(book booklist[max],int *n);
    void outputlistbook(book booklist[max],int n,int i);
    void add1book(book booklist[max],int n);
    void swap(book *book1,book *book2);
    void fistnamebook(book booklist[max],int n);
    void sortname(book booklist[max],int n);
    void sortcode(book booklist[max],int n);
    void sortpublish(book booklist[max],int n);
    void sortbook(book booklist[max],int n);
    void find(char x[max],char y[max],book booklist[max],int n);
    void findbook(book booklist[max],int n);
    void inputlistbook(book booklist[max],int *n)
    {
    	printf("
    Input amount book: ");
    	scanf("%d",n);
    	for(int i=0;i<*n;i++){
    		printf("---- Information book %2d ----
    ",i+1);
    		printf("Please input name book : ");
    		fflush(stdin);
    		gets(booklist[i].namebook);
    		printf("Please input codebook: ");
    		fflush(stdin);
    		gets(booklist[i].codebook);
    		printf("Please input number book: ");
    		scanf("%d",&booklist[i].number);
    		printf("Input publish date: 
    \t DATE: ");
    		scanf("%d",&booklist[i].publishdate.date);
    		printf("\t MONTH: ");
    		scanf("%d",&booklist[i].publishdate.month);
    		printf("\t YEAR: ");
    		scanf("%d",&booklist[i].publishdate.year);
    	}
    }
    void outputlistbook(book booklist[max],int n,int i){
    	for(i;i<n;i++){
    		printf("
    ---- Information book %2d ----
    ",i+1);
    		printf("Name: ");
    		puts(booklist[i].namebook);
    		printf("Code book: ");
    		puts(booklist[i].codebook);
    		printf("Publish date: %2d/%2d/%4d
    ",booklist[i].publishdate.date,booklist[i].publishdate.month,booklist[i].publishdate.year);
    		printf("Number book : %2d
    ",booklist[i].number);
    	}
    }
    void add1book(book booklist[max],int n)
    {
    	int k;
    	book book1;
    	book tg;
    	printf("
    ---- ADD NEW BOOK ----
    ");
    	printf("Please input name book : ");
    	fflush(stdin);
    	gets(book1.namebook);
    	printf("Please input codebook: ");
    	fflush(stdin);
    	gets(book1.codebook);
    	printf("Please input number book: ");
    	scanf("%d",&book1.number);
    	printf("Input publish date: 
    \t DATE: ");
    	scanf("%d",&book1.publishdate.date);
    	printf("\t MONTH: ");
    	scanf("%d",&book1.publishdate.month);
    	printf("\t YEAR: ");
    	scanf("%d",&book1.publishdate.year);
    	printf("---------------------
    ");
    	printf("Where do you insert ?(1,2,3....%d): ",n+1);
    	scanf("%d",&k);
    	for(int i=n;i>=k;i--){
    		booklist[i]=booklist[i-1];
    	}
    	booklist[k-1]=book1;
    }
    void swap(book *book1,book *book2)
    {
    	book tg=*book1;
    	*book1=*book2;
    	*book2=tg;
    }
    /****Tach ten dau tien cua sach ****/
    void fistnamebook(book booklist[max],int n){
    	for(int i=0;i<n;i++){
    		strcpy(booklist[i].fistname,booklist[i].namebook);
    		strrev(booklist[i].fistname);
    		for(int j=strlen(booklist[i].fistname);booklist[i].fistname[j]==' ';j--)booklist[i].fistname[j]='\0';
    		strrev(strtok(booklist[i].fistname," "));
    	}
    }
    void sortname(book booklist[max],int n){
    	fistnamebook(booklist,n);
    	for(int i=0;i<n-1;i++)
    		for(int j=i+1;j<n;j++){
    			if(strcmp(booklist[i].fistname,booklist[j].fistname)>0)
    				swap(&booklist[i],&booklist[j]);
    		}
    }
    void sortcode(book booklist[max],int n){
    	for (int i=0;i<n-1;i++)
    		for(int j=i+1;j<n;j++)
    			if(atol(booklist[i].codebook)>atol(booklist[j].codebook))
    				swap(&booklist[i],&booklist[j]);			
    }
    void sortpublish(book booklist[max],int n){
    	for(int i=0;i<n-1;i++)
    		for(int j=i+1;j<n;j++){
    			if (booklist[i].publishdate.year>booklist[j].publishdate.year) swap(&booklist[i],&booklist[j]);
    			if (booklist[i].publishdate.year==booklist[j].publishdate.year){
    				if (booklist[i].publishdate.month>booklist[j].publishdate.month)swap(&booklist[i],&booklist[j]);
    				if (booklist[i].publishdate.month==booklist[j].publishdate.month){
    					if (booklist[i].publishdate.date>booklist[j].publishdate.date)swap(&booklist[i],&booklist[j]);
    				}
    			}
    		}
    }
    void sortbook(book booklist[max],int n){
    	char c;
    		do{
    		system("cls");
    		printf("
    1.Sort by codebook. 
    ");
    		printf("2.Sort by name book.
    ");
    		printf("3.Sort by publish date
    ");
    		printf("4.Return home.
     ..Please choose: ");
    		fflush(stdin);
    			switch(c=getchar()){
    				case '1':sortcode(booklist,n);break;
    				case '2':sortname(booklist,n);break;
    				case '3':sortpublish(booklist,n);break;
    			}	
    		if(c<'4'){
    			printf("
    DONE!!!
    ");
    			getch();
    		}			
    	}while(c!='4');
    }
    void find(char x[max],char y[max],book booklist[max],int n){
    	for (int i=0;i<n;i++)
    		if (strcmpi(x,y)==0){
    			outputlistbook(booklist,i+1,i);
    		}
    }
    void findbook(book booklist[max],int n){
    	char c,name[maxch],code[maxch];
    	int date1,month1,year1,i=4;
    	do{
    		system("cls");
    		printf("
    ---FIND BOOK---
    ");
    		printf("1.Find by NAME.
    ");
    		printf("2.Find by CODE BOOK.
    ");
    		printf("3.Find by PUBLISH DAY.
    ");
    		printf("4.Return home.
    ...Please choose: ");
    		fflush(stdin);
    		switch((c=getchar())){
    			case '1':printf("Input NAME BOOK to find : ");
    					fflush(stdin);
    					gets(name);
    					for (i=0;i<n;i++)
    					if (strcmpi(booklist[i].namebook,name)==0){
    						outputlistbook(booklist,i+1,i);
    						}
    						break;
    			case '2':printf("Input CODE BOOK to find : ");
    					fflush(stdin);
    					gets(code);
    					for (i=0;i<n;i++)
    					if (strcmpi(booklist[i].codebook,code)==0){
    						outputlistbook(booklist,i+1,i);
    						}
    						break;
    			case '3':printf("Input date,month,year to find: ");
    					scanf("%d%d%d%*c",&date1,&month1,&year1);
    					for (i=0;i<n;i++)
    						if(date1==booklist[i].publishdate.date&&month1==booklist[i].publishdate.month&&year1==booklist[i].publishdate.year)
    						outputlistbook(booklist,i+1,i);
    						break;
    			case '4':break;
    			default: printf("Choose Again 
    ");
    		}
    		getch();
    	}while(c!='4');
    }
    main()
    {
    	book booklist[max];
    	int n=0,k;
    	do{
    		system("cls");
    		printf("1. Input listbook. 
    ");
    		printf("2. Add 1 book.
    ");
    		printf("3. Find book.
    ");
    		printf("4. Sort book.
    ");
    		printf("5. Output listbook. 
    ");
    		printf("6. Exit.
    ");
    		printf("Please choose : ");
    		fflush(stdin);
    		switch(getchar()){
    			case '1':inputlistbook(booklist,&n);printf("DONE!!!
    ");getch();break;
    			case '2':add1book(booklist,n);n++;break;
    			case '3':findbook(booklist,n);break;
    			case '4':sortbook(booklist,n);break;
    			case '5':outputlistbook(booklist,n,0);getch();break;
    			case '6':k=0;break;
    			default :printf("
    Choose Again...");getch();
    		}
    	}while(k);
    }

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vanminhpt1990
    mình thật sự cám ơn bạn về Source đẹp đẽ này.Mình nói thật bài này do em mình nhờ làm,nhưng làm bên sắp xếp DSLK đơn thì nó nói chưa học,mà bên cấu trúc thì chỉ có xuất và nhập,mình làm các hàm sắp xếp hay chèn thì nó nói nó chưa học,nếu làm thế thì cô giáo sẽ không chiu.Thật sự mình rất nhức đầu,vì bài này bạn làm thế này chắc chắn tụi nhỏ nhìn vào không hiểu gì cả đâu,và giáo viên của tụi nó cũng nói.Hix,bạn có thể tìm cách giúp mình được không,mình dùng hàm chèn thì nó nói không được,làm sao đây
    Đây chèn = cách đẩy lui mà bạn mà

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình thật sự cám ơn bạn về Source đẹp đẽ này.Mình nói thật bài này do em mình nhờ làm,nhưng làm bên sắp xếp DSLK đơn thì nó nói chưa học,mà bên cấu trúc thì chỉ có xuất và nhập,mình làm các hàm sắp xếp hay chèn thì nó nói nó chưa học,nếu làm thế thì cô giáo sẽ không chiu.Thật sự mình rất nhức đầu,vì bài này bạn làm thế này chắc chắn tụi nhỏ nhìn vào không hiểu gì cả đâu,và giáo viên của tụi nó cũng nói.Hix,bạn có thể tìm cách giúp mình được không,mình dùng hàm chèn thì nó nói không được,làm sao đây

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    còn câu tìm sách có giá trị lớn nhất đâu ban nhỉ,mình ko tìm thấy nó

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vanminhpt1990
    mình thật sự cám ơn bạn về Source đẹp đẽ này.Mình nói thật bài này do em mình nhờ làm,nhưng làm bên sắp xếp DSLK đơn thì nó nói chưa học,mà bên cấu trúc thì chỉ có xuất và nhập,mình làm các hàm sắp xếp hay chèn thì nó nói nó chưa học,nếu làm thế thì cô giáo sẽ không chiu.Thật sự mình rất nhức đầu,vì bài này bạn làm thế này chắc chắn tụi nhỏ nhìn vào không hiểu gì cả đâu,và giáo viên của tụi nó cũng nói.Hix,bạn có thể tìm cách giúp mình được không,mình dùng hàm chèn thì nó nói không được,làm sao đây
    Cứ bảo nó quên "đấng" ấy đi.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •