Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Bài toán nhập vào 2 phân số, tìm phân số lớn nhất và xuất kết quả

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    35

    Mặc định Bài toán nhập vào 2 phân số, tìm phân số lớn nhất và xuất kết quả

    Mình code được bài toán (nhưng chưa hoàn chỉnh) như sau:

    Code:
    #include "stdafx.h"
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    struct PhanSo
    {
    	int tu;
    	int mau;
    };
    typedef struct PhanSo PHANSO;
    void Nhap (PHANSO &);
    void Xuat (PHANSO);
    float SoSanh (PHANSO, PHANSO);
    void main ()
    {
    	PHANSO ps1,ps2 ;
    	Nhap (ps1);
    	Nhap (ps2);
    	float kq = SoSanh (ps1, ps2);
    	SoSanh (ps1, ps2);
    	Xuat (ps1);
    	Xuat (ps2);
    	switch (kq)
    	{
    	case 1: 
    		
    	}
    }
    void Nhap (PHANSO &x)
    {
    	printf ("Nhap tu: ");
    	scanf ("%f", &x.tu);
    	printf ("Nhap mau: ");
    	scanf ("%f", &x.mau);
    }
    void Xuat (PHANSO x)
    {
    	printf ("\n tu: %d", x.tu);
    	printf ("\n mau: %d", x.mau);
    }
    float SoSanh (PHANSO &x)
    {
    	int a = abs(x.tu);
    	int b = abs(x.mau);
    	int c = abs(x.tu);
    	int d = abs(x.mau); 
    	if ((float)(a/b) < (float)(c/d))
    	{
    		return 1;
    	}
    		return 0;
    }
    có vài thắc mắc mình muốn hỏi:
    1) Trong hàm main mình dùng switch - case để xuất kết quả phân số nào lớn nhất, có 2 trường hợp nhưng mình không biết phải xuất như thế nào để cho ra 1 phân số chứ không phải là số thực (có dấu phẩy) thỉ làm thế nào?
    2) đoạn chương trình trên có chỗ nào sai? Tại sao sai? mình đã buid rồi, lỗi tùm lum hết nhưng đọc vô chả hiểu nó báo lỗi gì cả.
    Mong mọi người giúp mình!

  2. #2
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Một số vấn đề của bạn như sau:
    swith(kq) không chạy vì kq của bạn là số thực. Trong khi đó câu lệnh này chỉ chạy số nguyên
    C Code:
    1. #include <iostream.h>
    2. #include <stdio.h>
    3. #include <conio.h>
    4. #include <math.h>
    5. struct PhanSo
    6. {
    7.     int tu;
    8.     int mau;
    9. };
    10. typedef struct PhanSo PHANSO;
    11. void Nhap (PHANSO &);
    12. void Xuat (PHANSO);
    13. int SoSanh (PHANSO &, PHANSO&);
    14.  main ()
    15. {
    16.     PHANSO ps1,ps2 ;
    17.     Nhap (ps1);
    18.     Nhap (ps2);
    19.     int kq = SoSanh (ps1, ps2);
    20.     //SoSanh (ps1, ps2);
    21.     Xuat (ps1);
    22.     Xuat (ps2);
    23.     switch (kq)
    24.     {
    25.     case 1: printf("Phan so 1 nho hon ps 2\n"); break;
    26.     case 0: printf("Phan so 1 lon hon ps 2\n"); break;
    27.     }
    28. }
    29. void Nhap (PHANSO &x)
    30. {
    31.     printf ("Nhap tu: ");
    32.     scanf ("%f", &x.tu);
    33.     printf ("Nhap mau: ");
    34.     scanf ("%f", &x.mau);
    35. }
    36. void Xuat (PHANSO x)
    37. {
    38.     printf ("\n tu: %d", x.tu);
    39.     printf ("\n mau: %d", x.mau);
    40. }
    41. int SoSanh (PHANSO &x,PHANSO &y)
    42. {
    43.     int a = abs(x.tu);
    44.     int b = abs(x.mau);
    45.     int c = abs(y.tu);
    46.     int d = abs(y.mau);
    47.     if ((float)(a/b) < (float)(c/d))
    48.     {      
    49.         return 1;
    50.     }
    51.         return 0;
    52. }
    Đã được chỉnh sửa lần cuối bởi nang : 25-09-2011 lúc 09:04 AM.
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    15

    Lại là nắng. Code cho bạn tham khảo:
    C++ Code:
    1. /*----------------------------------------------------------------------------*/
    2. #include <conio.h>
    3. #include <iostream.h>
    4. #include <math.h>
    5. /*----------------------Khai_Bao_Phan_So--------------------------------------*/
    6. typedef struct
    7. {
    8. int a,b;  
    9. } PS;  
    10. /*----------------------Nguyen_Mau_Nhap_Xuat----------------------------------*/
    11. ostream& operator<< (ostream& os, PS p);  
    12. istream& operator>> (istream& is,PS &p);  
    13. /*----------------------Cac_Nguyen_Mau_Ham------------------------------------*/
    14. int uscln(int x, int y);  
    15. PS rutgon(PS p);  
    16. /*---------------------Nguyen_Mau_Cac_Toan_Tu---------------------------------*/
    17. PS operator+(PS p1, PS p2);  
    18. PS operator-(PS p1, PS p2);  
    19. PS operator*(PS p1, PS p2);  
    20. PS operator/(PS p1, PS p2);  
    21. /*---------------------Dinh_Nghia_TTXuat--------------------------------------*/
    22. ostream& operator<< (ostream& os, PS p)
    23. {
    24.  os << p.a << '/' << p.b ;  
    25.   return os;  
    26. }
    27. /*---------------------Dinh_Nghia_Nhap----------------------------------------*/
    28. istream& operator>> (istream& is,PS &p)
    29. {
    30.  cout << "\n Nhap tu va mau: " ;  
    31.  is >> p.a >> p.b ;  
    32.  return is;  
    33. }
    34. /*----------------------------------------------------------------------------*/
    35. int uscln(int x, int y)
    36. {
    37.  x=abs(x);y=abs(y);  
    38.  if (x*y==0) return 1;  
    39.  while (x!=y)
    40.  {  
    41.   if (x>y) x-=y;  
    42.   else y-=x;  
    43.  }
    44.  return x;  
    45. }
    46. /*----------------------------------------------------------------------------*/
    47. PS rutgon(PS p)
    48. {
    49.  PS q;
    50.  int x;  
    51.  x=uscln(p.a,p.b);  
    52.  q.a = p.a / x ;  
    53.  q.b = p.b/ x ;  
    54.  return q;  
    55. }
    56. /*----------------------------------------------------------------------------*/
    57. PS operator+(PS p1, PS p2)
    58. {
    59.  PS q;  
    60.  q.a = p1.a*p2.b + p2.a*p1.b;  
    61.  q.b = p1 .b * p2.b ;  
    62.   return rutgon(q);  
    63. }
    64. /*----------------------------------------------------------------------------*/
    65. PS operator-(PS p1, PS p2)
    66. {
    67.  PS q;  
    68.  q.a = p1.a*p2.b - p2.a*p1 .b;  
    69.  q.b = p1.b * p2.b ;  
    70.  return rutgon(q);  
    71. }
    72. /*----------------------------------------------------------------------------*/
    73. PS operator*(PS p1, PS p2)
    74. {
    75.  PS q;  
    76.  q.a = p1.a * p2.a ;  
    77.  q.b = p1.b * p2.b ;  
    78.  return rutgon(q);  
    79. }
    80. /*----------------------------------------------------------------------------*/
    81. PS operator/(PS p1 , PS p2)
    82. {
    83.  PS q;  
    84.  q.a = p1.a * p2.b ;  
    85.  q.b = p1.b * p2.a ;  
    86.  return rutgon(q);  
    87. }
    88. /*----------------------------------------------------------------------------*/
    89. int main()
    90. {
    91. PS p, q, z, u, v ;  
    92. PS s;  
    93. cout <<"\nNhap cac PS p, q, z, u, v: " ;  
    94. cin >> p >> q >> z >> u >> v ;  
    95. s = (p - q*z) / (u + v) ;  
    96. cout << "\n Phan so s = " << s<<"\n";  
    97. //getch();  
    98. return 0;
    99. }
    100. /*----------------------------------------------------------------------------*/

    Chia tay chia tay chiều mưa miên man
    Bong bóng phập phồng lòng ai chứa chan
    Đừng khóc nhé mưa ơi nhạt nhòa lắm
    Chiều phân vân...Cầu vồng xa xăm

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

  1. Xây dựng chương trình như thế nào để dễ quản lý xuất nhập tồn kho?
    Gửi bởi eclipse_bk47 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 6
    Bài viết cuối: 06-06-2013, 05:29 PM
  2. Lập trình C Xuất nhập file trong C kết quả xuất ra không đúng?
    Gửi bởi lamhoang100 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 05-06-2013, 05:38 PM
  3. Chương trình quản lý sách (nhập được nhưng không xuất được)
    Gửi bởi nhoxpanda trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 19-03-2012, 04:02 PM
  4. Bài tập C Nhập số nguyên - xuất kết quả số thực?
    Gửi bởi tranlongpc325 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 06-03-2012, 11:14 PM
  5. Nhập xuất trong mảng in ra sai kết quả
    Gửi bởi hoada77 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 17-05-2011, 09:21 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