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 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    [HELP] giải phương trình bậc 2 dùng hàm

    giải phương trình bậc 2 ax^2+bx+c=0
    không biết sai ở đâu mà nó chỉ hiện ra thông báo nhập mà không cho ra kết quả.Mọi người giúp em
    Mã:
    #include<stdio.h>
    #include<math.h>
    #include<conio.h>
    void ptb1(float c,float b);
    void ptb2(float a,float b,float c);
    void ptb1(float c,float b)
    {
         if(b=0)
              printf("pt vo nghiem");
         else
              printf("nghiem co duy nhat la:x=%f
    ",-c/b);
         getch();
    }
    void ptb2(float a,float b,float c)
    {
         float s;
         printf("phuong trinh bac hai");
         s=b*b-4*a*c;
         if(s>0)
          {
             printf("x1=%f
    ",(-b+sqrt(s))/(2*a));
             printf("x2=%f
    ",(-b-sqrt(s))/(2*a));
          }
         else if(s==0)
             printf("phuong trinh co nghiem kep x=%f
    ",-b/(2*a));
         else
             printf("pt vo nghiem");
         getch();
    }
    main()
    {
          float a,b,c;
          printf("Nhap 3 so a b c");
          scanf("%f %f %f",&a,&b,&c);
         if(a==0)
           void ptb1(float c,float b);
         else
           void ptb2(float a,float b,float c);
          getch();
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chỗ này:
    Mã:
    if(a==0)
           void ptb1(float c,float b);
         else
           void ptb2(float a,float b,float c);
    Vì bạn khai báo rồi giờ sử dụng thôi, bạn xem lại cách dùng hàm nhé
    Mã:
    if(a==0)
          ptb1(c, b);
         else
           ptb2(a, b, c);

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kradragon94
    Chỗ này:
    Mã:
    if(a==0)
           void ptb1(float c,float b);
         else
           void ptb2(float a,float b,float c);
    Vì bạn khai báo rồi giờ sử dụng thôi, bạn xem lại cách dùng hàm nhé
    Mã:
    if(a==0)
          ptb1(c, b);
         else
           ptb2(a, b, c);
    sách mình không có nói về cái này.bạn nói rõ hơn giùm mình được không[IMG]images/smilies/thinking.gif[/IMG]

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kakaducsy
    sách mình không có nói về cái này.bạn nói rõ hơn giùm mình được không[IMG]images/smilies/thinking.gif[/IMG]
    Thì vẫn là ở trong sách thôi mà bạn, chả sách nào lại viết như bạn viết cả, đi gọi lại cái cả prototype của hàm lúc dùng nó cả http://www.cplusplus.com/doc/tutorial/functions/

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kimcy1992
    Thì vẫn là ở trong sách thôi mà bạn, chả sách nào lại viết như bạn viết cả, đi gọi lại cái cả prototype của hàm lúc dùng nó cả http://www.cplusplus.com/doc/tutorial/functions/
    cho em hỏi vì sao lại không phải là ptb1(float c,float b) mà chỉ là ptb1(c, b) anh nhỉ[IMG]images/smilies/daydreaming.gif[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kakaducsy
    cho em hỏi vì sao lại không phải là ptb1(float c,float b) mà chỉ là ptb1(c, b) anh nhỉ[IMG]images/smilies/daydreaming.gif[/IMG]
    Người ta quy ước cú pháp vậy rồi, trình biên dịch được viết để xử lý như thế rồi, Giả sử điều bạn nêu được chấp nhận nhé, nếu bạn lại khai báo float c, float b như thế khác nào lại đi khai báo 2 biến c và b mới à, khi đó nó đâu còn là 2 biến b, c mà mình mong muốn cần nhập nữa. Còn nó tại sao nữa thì mình cũng :|. Đôi khi nên chấp nhận cái gì đó [IMG]images/smilies/biggrin.png[/IMG]

  7. #7
    mình có bổ sung là ở ptb1 bạn còn thiếu trường hợp b và c đồng thời bằng 0 ( PT có vô số nghiệm)

 

 

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
  •