4.29.2012

[ C++ ] Gợi ý bài tập đề án


Code BT02, đề án kỷ thuật lập trình. Chi tiết đề bài vui lòng xem entry trước.
Câu 1: tương tự.
Mọi thắc mắc liện hệ qua yahoo hoặc để lại comment, xin cảm ơn.
Đây là bài  viết cuối cùng chia sẽ mã C++.


// C FREE 5.0
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<malloc.h>
#include <iostream.h>
#include<conio.h>


struct hanghoa
{
  char mahang[10];
char tenhang[100];
char dvt[10];
float dongia;
float thanhtien;
float chietkhau;
float doanhthu;
int soluong;
};


typedef hanghoa hh;
hh *p;// xac dinh con tro toan cuc de khong phai khai bao duoi kia (ham main)
void nhap(int &n)
{
     int i;
     system("cls");
     cout<<"\t\t\tNHAP THONG TIN HANG HOA\n";
     printf("Nhap vao so luong hang hoa can quan ly: ");
     scanf("%d",&n);
     p = new hanghoa[n];
     for(i=0;i<n;i++)
     {
         printf("\nNhap Ma Hang: ");
         fflush(stdin);
         gets(p[i].mahang);
         printf("Nhap Ten Hang: ");
         gets(p[i].tenhang);
         printf("Nhap Don Vi Tinh: ");
         gets(p[i].dvt);
         printf("Don Gia: ");
         scanf("%f",&p[i].dongia);
         printf("So Luong: ");
         scanf("%d",&p[i].soluong);
         p[i].thanhtien=p[i].dongia*p[i].soluong;
         p[i].chietkhau=p[i].thanhtien*0.05;
         p[i].doanhthu=p[i].thanhtien-p[i].chietkhau;
     }
     printf("End Process !\a");
}
int xuat(int &n)
{
     int i;
     system("cls");
     printf("\t\t\tXuat Du Lieu\n");
     if(n==0)
     {
             printf("Empty\n");
             getch();
             return -1;
     }
     printf("STT : Ma Hang%c Ten Hang%c DVT%c Don Gia(VND)%c SL%c Thanh Tien%c CK %cDoanh Thu\n\n",179,179,179,179,179,179,179);
     for(i=0;i<n;i++)
    printf("%2d: %s %2c %3s %2c %3s %2c %3.3f %2c %3d %2c %3.3f %2c %3.3f %2c %3.3f\n",i+1,p[i].mahang,179,p[i].tenhang,179,p[i].dvt,179,p[i].dongia,179,p[i].soluong,179,p[i].thanhtien,179,p[i].chietkhau,179,p[i].doanhthu);
     printf("\nEnd Process !\a\n");
     cout<<"Nhan phim bat ki de tro ve menu chinh !";
     getch();
}


void best_seller(int &n)
{
hanghoa temp;
// p=(hh*)realloc(p,n*sizeof(hh));
for(int i=0;i<n;i++)
for(int j=0;j<n-i-1;j++)
{
if(p[j].soluong>p[j+1].soluong)
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
};
cout<<"Hai mat hang co so luong ban lon nhat la: \n";
printf("%s\t voi so luong la %d cai\n",::p[n-1].tenhang,::p[n-1].soluong);
printf("%s\t voi so luong la %d cai",::p[n-2].tenhang,::p[n-2].soluong);
cout<<"\nNhan phim bat ki de xoa mang hinh !";
getch();
}
void worst_seller(int &n)
{
hanghoa temp1;
for(int i=0;i<n;i++)
for(int j=0;j<n-i-1;j++)
{
if(p[j].doanhthu>p[j+1].doanhthu)
{
temp1=p[j];
p[j]=p[j+1];
p[j+1]=temp1;
}
};
cout<<"Hai mat hang co doanh thu lon nhat la: \n";
printf("%s\t voi doanh thu la %0.3f VND\n",p[0].tenhang,p[0].doanhthu);
printf("%s\t voi doanh thu la %0.3f VND",p[1].tenhang,p[1].doanhthu);
cout<<"\nNhan phim bat ki de xoa mang hinh !";
getch();
}
void desc(int &n)
{
system("cls");
cout<<"\t\t\t SAP XEP GIAM DAN THEO DOANH THU\n";
hanghoa temp;
for(int i=0;i<n;i++)
for(int j=0;j<n-i-1;j++)
{
if(p[j].doanhthu<p[j+1].doanhthu)
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
};
cout<<"Thu tu giam dan theo doanh thu ban hang\n !";
printf("STT : Ma Hang%c Ten Hang%c DVT%c Don Gia(VND)%c SL%c Thanh Tien%c CK %cDoanh Thu\n\n",179,179,179,179,179,179,179);
     for(int q=0;q<n;q++)
    printf("%2d: %s %2c %3s %2c %3s %2c %3.3f %2c %3d %2c %3.3f %2c %3.3f %2c %3.3f\n",q+1,p[q].mahang,179,p[q].tenhang,179,p[q].dvt,179,p[q].dongia,179,p[q].soluong,179,p[q].thanhtien,179,p[q].chietkhau,179,p[q].doanhthu);
printf("\nEnd Process !\a\n");
cout<<"Nhan phim bat ki de tro ve menu chinh !";
getch();
}


int main()

int n=0,sl;
do
{
system("cls");
printf("\t\t\t\t Welcome to ABC Shop");

printf("\n 1. Nhap thong tin ban hang\n");
   printf(" 2. Xuat thong tin ban hang\n");
   printf(" 3. Danh sach 2 mat hang co so luong lon nhat \n");
   printf(" 4. Danh sach 2 mat hang co doanh thu nho nhat \n");
   printf(" 5. Xep danh sach voi che do: Doanh Thu \'DESC\' \n");
   printf(" 0. Exit \n");
   printf("--------------------------------------------------------------------------------\n");
   printf("Select Function: ");
   scanf("%d",&sl);
   switch(sl)
{
              case 1 : nhap(n);break;
              case 2 : xuat(n);break;
  case 3 : best_seller(n);break;
  case 4 : worst_seller(n);break;
  case 5 : desc(n);break;
              default : printf("\t\t\t\t %c Good Bye %c \n",4,4);
        }
    }
while(sl>0&&sl<=5);
}


5 Nhận xét:

Tại lúc 21:54:00 GMT+7 29 tháng 4, 2012 , Anonymous Nặc danh nói...

good job...làm tiếp mấy bài tập nhỏ lý thuyết lun nha..để tui nghiên cứu....hihi

 
Tại lúc 13:46:00 GMT+7 30 tháng 4, 2012 , Blogger Viet Trung nói...

"Đây là bài viết cuối cùng share code c++". Các entry sau chủ yếu phân tích thuật toán, còn viết code là các bạn tự làm lấy, như vậy mới có thể viết thuần thục chương trình (mình cũng chưa làm được điều này ) ☺

 
Tại lúc 14:41:00 GMT+7 30 tháng 4, 2012 , Anonymous Nặc danh nói...

cái chỗ system("cls") để làm gì?
cái typedef là gì?

 
Tại lúc 14:47:00 GMT+7 30 tháng 4, 2012 , Anonymous Nặc danh nói...

Trong bài lập trình nhập thông tin Nhân Viên ,Sinh Viên có chỗ là : sizeof(sv),1,f chỗ này là gì?

 
Tại lúc 17:39:00 GMT+7 30 tháng 4, 2012 , Blogger Viet Trung nói...

Các mã lệnh trong chương trình các bạn tự tìm hiểu, trên mạng có rất nhiều bài viết về những vấn đề này. System("cls") là lệnh xoá màn hình tương tự như clrscr() trong BC và TC for Dos. Typedef là định nghĩa kiểu dự liệu do người dùng thiết kế, việc định nghĩa này có thể tránh được sự nhầm lẩn khi viết chương trình bên dưới, từ đó tránh được các lổi do trùng biến. Còn về vấn đề cuối cùng cái đó là các thông số khi sử dụng hàm fread/fwrite khi nghi thông điệp vào tệp, sizeof(type)=kích thước của kiểu dữ liệu (mình đã học rồi)... Bạn nên tìm hiểu thêm về cú pháp của nó bằng cách tô đen từ khoá, tên hàm rồi sau đó nhấm phím F1, offline help của Cfree (BC/TC for Dos thì chỉ việc R-click vào key word) sẽ hiện ra, và tất nhiên đó là tiếng anh hee hee. Chúc mai mắn

 

Đăng nhận xét

Đăng ký Đăng Nhận xét [Atom]

<< Trang chủ