THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

default THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Minh Huy on Thu Sep 22, 2011 12:54 am

ĐỀ: Viết CLASS Món ăn (mã, tên, số lượng, đơn giá). Với hai hàm thành viên là NhapTT(), InTT() thực hiện chức năng nhập, in thông tin của món ăn Dựng menu cho phép người dùng chọn chức năng nhập món ăn với số lượng tối đa là 100. Với các phím để chọn chức năng là:
-I: (insert) nhập món ăn mới
-P: (print) in tất cả các món ăn vừa nhập
-Q: (quit) kết thúc chương trình, in số lượng món đã nhập và danh sách món ăn theo thứ tự đơn giá tăng dần.

*Chú thích: trong phần bài làm của tôi, tôi mở rộng cho phép nhập món ăn với số lượng tùy bạn chọn. Lưu ý nhập I, P, Q là chữ in hoa.

@
Code:
#include<stdio.h>
#include<conio.h>
#include<iostream>
using namespace std;
class mon_an
{
      private:
              char ma[50];
              char ten[50];
              int sl;
      public:
            int gia;
            void nhaptt();
            void intt();
            void swap(mon_an,mon_an);
};
void mon_an::nhaptt()
{
    cout<<"\n\n  +Ma mon:";cin>>ma;
    cout<<"\n  +Ten mon:";cin>>ten;
    cout<<"\n  +So luong:";cin>>sl;
    cout<<"\n  +Don gia:";cin>>gia;
};
void mon_an::intt()
{
    cout<<"\n"<<ma<<"\t"<<ten<<"\t"<<sl<<"\t"<<"("<<gia<<")";
};
void mon_an::swap(mon_an a,mon_an b)
{
    mon_an c;
    c=a;a=b;b=c;
};

int main()
{
    char key;
    mon_an list[100];
    int n,stt=0,i,j;
    key='a';
    cout<<" Ban muon nhap bao nhieu mon an: ";
    cin>>n;
    cout<<"\n -NHAP THONG TIN "<<n<<" MON AN:";
    cout<<"\n  +I: Nhap mon an moi";
    cout<<"\n  +P: In tat ca cac mon an vua nhap";
    cout<<"\n  +Q: De thoat\n";
    while(key!='Q')
    {
          cout<<"\n -Chon thao tac :";
          cin>>key;
          switch(key)
        {
                    case 'I':
                        stt++;
                        if(stt>n)
                        {
                                  cout<<"\n **Canh bao: nhap qua so luong!\n";
                                  break;
                        }
                        cout<<"\n -Nhap thong tin mon an thu "<<stt<<":";
                        list[stt].nhaptt();
                    break;
                    case 'P':
                        cout<<"\n Danh sach mon an da nhap";
                        cout<<"\n\n"<<"ma"<<"\t"<<"ten"<<"\t"<<"sl"<<"\t"<<"("<<"gia"<<")\n";
                        for(i=1;i<=stt;i++)
                                            list[i].intt();
                    break;
        }
    }
    for(i=1;i<stt;i++)
    for(j=i;j<=stt;j++)
                      if(list[i].gia>list[j].gia)
                                                  swap(list[i],list[j]);
    cout<<"\nDanh sach "<<stt<<" mon an da nhap:";
    cout<<"\n\n"<<"ma"<<"\t"<<"ten"<<"\t"<<"sl"<<"\t"<<"("<<"gia"<<")\n";
    for(i=1;i<=stt;i++) list[i].intt();
    getch();
}

Minh Huy

Posts : 104
Thanked : 12
Gia Nhập 27/08/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by nhok_lonely207 on Thu Sep 22, 2011 6:24 am

Góp ý:
Code:
switch(key)
        {
case 'i':         
case 'I':
                      ... 
                    break;
case'p':
case'P':
                      .... 
                    break;

như vậy là có thể gõ i, p hay I, Qgì cũng được!

nhok_lonely207

Posts : 276
Thanked : 35
Gia Nhập 27/08/2010

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Minh Huy on Thu Sep 22, 2011 8:32 am

nhok_lonely207 đã viết:Góp ý:
Code:
switch(key)
        {
case 'i':         
case 'I':
                      ... 
                    break;
case'p':
case'P':
                      .... 
                    break;

như vậy là có thể gõ i, p hay I, Qgì cũng được!
Cảm ơn nhá... vậy là khắc phục được cái đó rồi he he... cyclops

Minh Huy

Posts : 104
Thanked : 12
Gia Nhập 27/08/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by htdtltn on Thu Sep 22, 2011 9:06 am

hay đấy thanhku pac

htdtltn

Posts : 76
Thanked : 6
Gia Nhập 21/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by augustion_ptn on Thu Sep 22, 2011 10:02 am

Đang nghiên cứu mà thấy chú Huy post rồi nên quá trình nghiên cứu bị gián đoạn! Surprised

augustion_ptn

Posts : 634
Thanked : 100
Gia Nhập 27/08/2010

Tài Sản
Thú nuôi:

http://thanhnhancomputer.freevnn.com

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Minh Huy on Thu Sep 22, 2011 10:36 am

vậy là em trước một bước.... pig

Minh Huy

Posts : 104
Thanked : 12
Gia Nhập 27/08/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by augustion_ptn on Thu Sep 22, 2011 10:47 am

Embarassed

augustion_ptn

Posts : 634
Thanked : 100
Gia Nhập 27/08/2010

Tài Sản
Thú nuôi:

http://thanhnhancomputer.freevnn.com

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Admin on Thu Sep 22, 2011 10:50 am

Coi chừng rớt cái lưỡi kìa,

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by augustion_ptn on Thu Sep 22, 2011 10:59 am

Rolling Eyes

augustion_ptn

Posts : 634
Thanked : 100
Gia Nhập 27/08/2010

Tài Sản
Thú nuôi:

http://thanhnhancomputer.freevnn.com

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Kid on Fri Sep 23, 2011 12:09 am

Thanks ku nhak!!

Kid

Posts : 19
Thanked : -2
Gia Nhập 19/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by nhok_lonely207 on Fri Sep 23, 2011 9:53 am

Thích cái Avatar của Kiệt Mad ! Nhìn ngu gê! I love you

nhok_lonely207

Posts : 276
Thanked : 35
Gia Nhập 27/08/2010

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by NeverGiveUp on Fri Sep 23, 2011 5:45 pm

thằng kiệt nhìn mặt đúng là HÃM TÀI Rolling Eyes

NeverGiveUp

Posts : 83
Thanked : 3
Gia Nhập 12/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by pklove1910 on Tue Oct 11, 2011 2:44 pm

Code:
void mon_an::swap(mon_an a,mon_an b)
{
    mon_an c;
    c=a;a=b;b=c;
};
swap là gì thế mọi người... Smile e k hiểu k bít đừng la e.. Smile

pklove1910

Posts : 207
Thanked : 3
Gia Nhập 11/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Admin on Tue Oct 11, 2011 3:33 pm

pklove1910 đã viết:
Code:
void mon_an::swap(mon_an a,mon_an b)
{
    mon_an c;
    c=a;a=b;b=c;
};
swap là gì thế mọi người... Smile e k hiểu k bít đừng la e.. Smile


Swap là hàm hoán đổi tại vi tri nếu a[i]>a[j] (theo thứ tự tăng dần) temp =a[i]; a[i] =a[j]; a[j] = temp; VD 4 va 3 đổi lại 3 và 4;
Để Swap tiếng Anh cho sang chứ thật chất là hàm sắp xếp. Cứ nghĩ đơn gian thôi, không có gì phức tạp đâu


Được sửa bởi Admin ngày Tue Oct 11, 2011 11:11 pm; sửa lần 1.

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by pklove1910 on Tue Oct 11, 2011 7:43 pm

hix...thank bác Tâm nhiều, nghĩ ngời ngợi là sắp xếp ,... Surprised
thay vì phải khởi tạo 2 dòng
for(int i=0;i
Code:
      for(int j=i+1;j<stt;j++)
                                              if(a[i]>a[j]){
                                            tems =a[i];
                                          a[i] =a [j]
                                              tems=a[j]         
}
đúng k bác

pklove1910

Posts : 207
Thanked : 3
Gia Nhập 11/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Minh Huy on Tue Oct 11, 2011 7:54 pm

hi.. đúng rùi.. có thể gọi là sắp xếp cũng có thể gọi là hoán đổi vị trí... study

Minh Huy

Posts : 104
Thanked : 12
Gia Nhập 27/08/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by NeverGiveUp on Tue Oct 11, 2011 8:22 pm

Bác Hiếu Quay đầu là pờ Ai di đà phật

NeverGiveUp

Posts : 83
Thanked : 3
Gia Nhập 12/09/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Admin on Tue Oct 11, 2011 11:15 pm

pklove1910 đã viết:hix...thank bác Tâm nhiều, nghĩ ngời ngợi là sắp xếp ,... Surprised
thay vì phải khởi tạo 2 dòng
for(int i=0;i
đúng k bác

Cách dùng 2 dòng for là cách dùng trực tiêp thì khỏi làm hàm sắp xếp và gọi lại hàm . Còn nếu không dùng trưc tiếp thì phải làm hàm sắp xếp và gọi lại hàm. Trong hàm sắp xếp vẫn xài 2 dòng for thôi. không có rút gọn đươc gì đâu!

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

default Re: THỰC HÀNH BUỔI 2- BÀI CUỐI PHẦN TỰ LÀM

Bài gửi by Sponsored content Today at 5:54 am


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết