Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 27 kết quả

Đề tài: [ Solved ]Class hàng bán

  1. #1
    Ngày gia nhập
    10 2008
    Bài viết
    13

    Exclamation [ Solved ]Class hàng bán

    bài này em biết là hiện sai nhưng ko biết sửa như thế nào cho đúng, em nên làm thế nào để hiên ra đúng tên mặt hàng đã nhập đây
    mấy anh cứ chạy thử cái code của em là biết
    help me !!!
    hoadon.CPP

    C++ Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<string.h>
    4. #include<iostream.h>
    5. #include<stdlib.h>
    6. #include<iomanip.h>
    7. #include<ctype.h>
    8. #include<alloc.h>
    9. class KhachHang
    10. {private:
    11.     char *ht;
    12.  public:
    13.     KhachHang(char *ht1=NULL);
    14.     void nhap();
    15.     char *layten()
    16.     {   return ht;
    17.     }
    18. };
    19. //================================================//
    20. class MatHang
    21. {private:
    22.     char *ten;
    23.     float gia;
    24.  public:
    25.     MatHang(char *ten1=NULL,float gia1=0);
    26.     void nhap();
    27.     float laygia()
    28.     {   return gia;
    29.     }
    30.     char *layten()
    31.     {   return ten;
    32.     }
    33. };
    34. //================================================//
    35. class HoaDon
    36. {private:
    37.     MatHang a;
    38.     KhachHang b;
    39.     int sl,n;
    40.     float thanhtien,tong;
    41.  public:
    42.     HoaDon(char *ten1=NULL,float gia1=0,char *ht1=NULL,
    43.         int sl1=0,int n1=0,float thanhtien1=0,float tong1=0)
    44.         :a(ten1,gia1),b(ht1)
    45.     {sl=sl1;
    46.      n=n1;
    47.      thanhtien=thanhtien1;
    48.      tong=tong1;
    49.     }
    50.     void nhap();
    51.     void hien();
    52. };
    53. //================================================//
    54. KhachHang::KhachHang(char *ht1)
    55. { ht=strdup(ht1);
    56. }
    57. //================================================//
    58. void KhachHang::nhap()
    59. { cout<<"\n -Ten khach hang:";
    60.   fflush(stdin);gets(ht);
    61. }
    62. //================================================//
    63. MatHang::MatHang(char *ten1,float gia1)
    64. { ten=strdup(ten1);
    65.   gia=gia1;
    66. }
    67. //================================================//
    68. void MatHang::nhap()
    69. {cout<<"\n -Ten mat hang:";
    70.  cin>>ten;
    71.  cout<<"\n -Gia tien:";
    72.  cin>>gia;
    73. }
    74. //================================================//
    75. void HoaDon::nhap()
    76. {int ch;
    77.  b.nhap();
    78.  while(1)
    79.     {a.nhap();
    80.      cout<<"\n -So luong can mua:";
    81.      cin>>sl;
    82.      tong=sl*a.laygia();
    83.      thanhtien=thanhtien+tong;
    84.      cout<<"\n Tiep tuc nhap hang--C/K?";
    85.      ch=getch();
    86.      if(toupper(ch)!='C') break;
    87.      n++;
    88.     }
    89. }
    90. //================================================//
    91. void HoaDon::hien()
    92. { int i;
    93.  cout<<endl<<endl<<setw(25)<<"HOA"<<setw(10)<<"DON"<<setw(10)<<"BAN"<<setw(10)<<"HANG";
    94.  cout<<endl<<endl<<setw(30)<<"Ten khach hang: "<<b.layten();
    95.  cout<<endl<<endl<<setw(45)<<"Danh sach cac mat hang da mua:";
    96.  cout<<endl<<endl<<setw(25)<<"TenHang"<<setw(10)<<"SoLuong"<<setw(15)<<"ThanhTien"<<endl;
    97.  for(i=0;i<=n;i++)
    98.     cout<<endl<<setw(25)<<a.layten()<<setw(10)<<sl<<setw(15)<<tong;
    99.  cout<<endl<<endl<<setw(35)<<"TongCong"<<setw(15)<<thanhtien;
    100. }
    101. //================================================//
    102. void main()
    103. {clrscr();
    104.  HoaDon hd;
    105.  hd.nhap();
    106.  hd.hien();
    107.  getch();
    108. }

    yêu cầu đừng có nói là sao em không hiện ra đựoc nè,hay là giúp em với nha-> cậu nói thế người ta google thì ra cái gì,lần sau thế mình sẽ nhờ anh X87 ban nick cậu

    coder_gate
    Đã được chỉnh sửa lần cuối bởi AlexF : 31-10-2008 lúc 05:18 PM.

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Code viết cẩu thả quá :
    - C++ mà dùng gets() và strdup thì giống như C thiếu ++. Mà nhìn cũng chẳng thấy free() nó nằm chỗ nào ?
    - Mấy cái header của C++ đâu có .h đâu ? dùng int main() và return 0, void main() is non-standard C++. ( 10 năm về trước thì có người dùng void main() )
    - Viết lại dùng new + delete và viết destructor cho nó đi cậu.
    - Thiếu const nhiều quá !
    - Còn constructor sao không dùng initialization-list hết luôn mà cứ dùng 1 nữa ta nữa tây thế ?
    Với lại :
    C++ Code:
    1. HoaDon hd;
    Không biết khởi tạo thế này thằng hd có cái gì trong đó nhỉ ?

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    6

    tuong chay duoc roi van bao loi ak

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa cho bạn chạy đúng yêu cầu rồi đó.

    C++ Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<string.h>
    4. #include<iostream.h>
    5. #include<stdlib.h>
    6. #include<iomanip.h>
    7. #include<ctype.h>
    8. #include<alloc.h>
    9.  
    10. class KhachHang
    11. {
    12.     private:
    13.         char ht[100];
    14.     public:
    15.         KhachHang();
    16.         void nhap();
    17.         char *layten()
    18.         {
    19.             return ht;
    20.         }
    21. };
    22. //================================================//
    23. class MatHang
    24. {
    25.     private:
    26.         char ten[100];
    27.         int soluong;
    28.         float gia;
    29.     public:
    30.         MatHang();
    31.         void nhap();
    32.  
    33.         float laygia()
    34.         {
    35.             return gia;
    36.         }
    37.  
    38.         int laysoluong()
    39.         {
    40.             return soluong;
    41.         }
    42.  
    43.         float tinhtien()
    44.         {
    45.             return ((float)soluong * gia);
    46.         }
    47.  
    48.         char *layten()
    49.         {
    50.             return ten;
    51.         }
    52. };
    53. //================================================//
    54. class HoaDon
    55. {
    56.     private:
    57.         KhachHang kh;
    58.         MatHang dsmh[100];
    59.         int n;
    60.         float thanhtien;
    61.  public:
    62.         HoaDon()
    63.         {
    64.             n = 0;
    65.             thanhtien= 0;
    66.         }
    67.         void nhap();
    68.         void hien();
    69. };
    70. //================================================//
    71. KhachHang::KhachHang()
    72. {
    73. }
    74. //================================================//
    75. void KhachHang::nhap()
    76. {
    77.     cout<<"\n -Ten khach hang:";
    78.     fflush(stdin);
    79.     gets(ht);
    80. }
    81. //================================================//
    82. MatHang::MatHang()
    83. {
    84. }
    85. //================================================//
    86. void MatHang::nhap()
    87. {
    88.     cout<<"\n -Ten mat hang : ";
    89.     cin>>ten;
    90.     cout<<"\n -So luong : ";
    91.     cin>>soluong;
    92.     cout<<"\n -Gia tien : ";
    93.     cin>>gia;
    94. }
    95. //================================================//
    96. void HoaDon::nhap()
    97. {
    98.     int ch = 0;
    99.  
    100.     kh.nhap();
    101.  
    102.     while ( ch != 27 )
    103.     {
    104.         dsmh[n].nhap();
    105.         thanhtien += dsmh[n].tinhtien();
    106.         n++;
    107.         cout<<"\n Tiep tuc nhap hang--C/K?";
    108.         ch = getch();
    109.         if(toupper(ch)!='C')
    110.             ch = 27;
    111.     }
    112. }
    113. //================================================//
    114. void HoaDon::hien()
    115. {
    116.     int i;
    117.     cout<<endl<<endl<<setw(25)<<"HOA"<<setw(10)<<"DON"<<setw(10)<<"BAN"<<setw(10)<<"HANG";
    118.     cout<<endl<<endl<<setw(30)<<"Ten khach hang: "<<kh.layten();
    119.     cout<<endl<<endl<<setw(45)<<"Danh sach cac mat hang da mua:";
    120.     cout<<endl<<endl<<setw(25)<<"TenHang"<<setw(10)<<"SoLuong"<<setw(15)<<"ThanhTien"<<endl;
    121.     for(i=0;i<n;i++)
    122.         cout<<endl<<setw(25)<<dsmh[i].layten()<<setw(10)<<dsmh[i].laysoluong()<<setw(15)<<dsmh[i].tinhtien();
    123.     cout<<endl<<endl<<setw(35)<<"TongCong"<<setw(15)<<thanhtien;
    124. }
    125. //================================================//
    126. void main()
    127. {
    128.     clrscr();
    129.     HoaDon hd;
    130.     hd.nhap();
    131.     hd.hien();
    132.     getch();
    133. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    13

    nếu bài này em muốn khi nhập mặt hàng thì lưu nó vào 1 file rồi rồi khi xuất thì gọi nó ra thì em phải sửa lại ntn vậy ???

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định [ Solved ]Class hàng bán

    Bạn tham khảo các hàm fopen ( mở file ), fread ( đọc file ) và fwrite ( ghi file )
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    hoặc dùng fprintf hoặc fscanf để đọc ghi file -> yêu cầu cậu xem trong sách -> có rất nhiều

  8. #8
    Ngày gia nhập
    10 2008
    Bài viết
    13

    cái đấy thì em xem rồi nhưng em muốn hỏi bây giờ mà thêm vào thì nên thêm ntn ???
    liệu có phải sửa lại nhiều ko ?

  9. #9
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    cũng ko sửa nhiều lắm đâu. Bạn thêm vào cuối hàm nhập trong lớp hoadon đó.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  10. #10
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    cái đấy thì em xem rồi nhưng em muốn hỏi bây giờ mà thêm vào thì nên thêm ntn ???
    liệu có phải sửa lại nhiều ko ?
    híc híc,cậu nói là thêm vào là thêm vào cái gì,thêm vào file hay thêm code vào chương trình,cả 2 cái theo mình nghĩ nếu cậu đã xây được class và ghi được file thì đều đơn giản cả

Các đề tài tương tự

  1. [ Solved ]Hỏi về xử lý với nhiều class !
    Gửi bởi pen&pen trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 21-11-2008, 04:45 PM
  2. [ Solved ]Lỗi class với goto
    Gửi bởi ngocnam_it trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 16-11-2008, 02:40 PM
  3. [ Solved ]Hỏi về phương thức trong lớp (class )!
    Gửi bởi camping29 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 07-10-2008, 03:31 PM
  4. [ Solved ]Hoàn thiện chương trình class phân số
    Gửi bởi thangit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 15-09-2008, 06:57 PM
  5. [ Solved ]Hỏi về class?
    Gửi bởi khanh_0507 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 12-09-2008, 10:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn