Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Viết chương trình giải phương trình bậc 2 sử dụng hàm con

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

    Mặc định Viết chương trình giải phương trình bậc 2 sử dụng hàm con

    các anh giúpp em bài ni viết chương trình giải phương trình bậc 2 sử dụng hàm con (chương trình con)

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Mây
    Bài viết
    268

    Đại khái là nó làm như thế này
    C Code:
    1. // Phương trình bậc 2 ax^2 + bx + c = 0
    2. #include <math.h> // Sử dụng sqrt
    3. void GiaiPTBacHai(int a, int b, int c)
    4. {
    5.     int D = b*b - 4*a*c;
    6.     if(D<0)
    7.         printf("Vo nghiem");
    8.     else if(D == 0)
    9.         printf("%8.2f", -b/(2*a));
    10.     else
    11.     {
    12.         printf("%8.2f", (-b + sqrt(D))/(2*a));
    13.         printf("%8.2f", (-b - sqrt(D))/(2*a));
    14.     }
    15. }
    - Lêu lêu

  3. #3
    Ngày gia nhập
    08 2009
    Bài viết
    148

    Cả bậc nhất và bậc hai nè bạn:
    C Code:
    1. #include "stdio.h"
    2. #include "conio.h"
    3. #include<math.h>
    4.  
    5. void Nhap_ptb_nhat(float *heso_a,float *heso_b);
    6. void Nhap_ptb_hai(float *heso_a,float *heso_b, float* heso_c);
    7.  
    8. int ptbn(float heso_a,float heso_b);
    9. void Xuat(float heso_a, float heso_b);
    10. void Giai_Ptbn();
    11.  
    12.  
    13. int ptbh(float heso_a,float heso_b, float heso_b);
    14. void Xuat(float heso_a,float heso_b,float heso_c);
    15. void Giai_Ptb2();
    16.  
    17. int main()
    18. {
    19.    
    20.     //Giai_Ptbn();
    21.     Giai_Ptb2();
    22.     getch();
    23.     return 0;
    24.  
    25. }
    26. void Nhap_ptb_nhat(float *heso_a,float *heso_b)
    27. {
    28.      printf("\nNhap vao he so a: ");
    29.      scanf("%f",&*heso_a);
    30.      printf("\nNhap vao he so b: ");
    31.      scanf("%f",&*heso_b);
    32. }
    33.  
    34. void Nhap_ptb_hai(float *heso_a,float *heso_b,float* heso_c)
    35. {
    36.      printf("\nNhap vao he so a: ");
    37.      scanf("%f",&*heso_a);
    38.      printf("\nNhap vao he so b: ");
    39.      scanf("%f",&*heso_b);
    40.      printf("\nNhap vao he so c: ");
    41.      scanf("%f",&*heso_c);
    42. }
    43. int ptbn(float hso_a,float heso_b)
    44. {
    45.       if(hso_a==0)
    46.       {
    47.           if(heso_b==0)
    48.               return 2;//Vo so nghiem
    49.           else
    50.               return 0;//Vo nghiem
    51.       }
    52.       else
    53.           return 1;
    54. }
    55. void Xuat(float heso_a, float heso_b)
    56. {
    57.      int songhiem=ptbn(heso_a,heso_b);
    58.      if(!songhiem)
    59.         printf("\nPhuong trinh vo nghiem.");
    60.      else  if(songhiem==2)
    61.                 printf("\nPhuong trinh co vo so nghiem\n");
    62.            else
    63.                 printf("\nNghiem la: %.2f",-heso_b/heso_a);
    64. }
    65. void Giai_Ptbn()
    66. {
    67.      float a,b;
    68.      Nhap_ptb_nhat(&a,&b);
    69.      Xuat(a,b);
    70.          
    71.      
    72. }
    73. int ptbh(float a,float b, float c)//Khai bao khac voi protype la no problem
    74. {
    75.     if(a==0)
    76.     {
    77.        ptbn(b,c);//Di giai phuong trinh bac nhat voi he so b va c        
    78.     }
    79.     else
    80.     {
    81.          float delta=b*b-4*a*c;
    82.          if(delta<0)
    83.              return 0;//Vo nghiem
    84.          else if(delta==0)
    85.                   return 1;//Phuong trinh co nghiem kep
    86.               else
    87.                   return 2;//Phuong trinh co 2 nghiem  
    88.        
    89.     }      
    90. }
    91. void Xuat(float a, float b, float c)//Khai bao khac voi protype la no problem
    92. {
    93.      if(a==0)
    94.           Xuat(b,c);
    95.      else
    96.      {
    97.          float delta=b*b-4*a*c;
    98.          int songhiem=ptbh(a,b,c);
    99.          if(!songhiem)//songhiem==0
    100.          {
    101.              printf("\ndelta=%.2f<0",delta);
    102.              printf("\nPhuong trinh bac hai da cho Vo Nghiem.");
    103.          }
    104.          else   if(songhiem==1)
    105.                 {
    106.                     printf("\ndelta=%.2f=0",delta);
    107.                     printf("\nPhuong trinh bac hai co nghiem kep: x1=x2=%.2f",
    108.                     -b/(2*a));
    109.                 }
    110.                 else//Truong hop co 2 nghiem
    111.                 {
    112.                    
    113.                     printf("\nDelta=%.2f>0",delta);
    114.                     printf("\nPhuong trinh bac hai da cho co 2 nghiem: \n\n");
    115.                    
    116.                     //printf("x1=(-b+sqrt(delta))/2*a=%.2f\n",(-b+sqrt(delta))/(2*a));            
    117.                     //printf("x2=(-b-sqrt(delta))/2*a=%.2f",(-b-sqrt(delta))/(2*a));
    118.                    
    119.                     printf("x1= %.2f\n",(-b+sqrt(delta))/(2*a));            
    120.                     printf("x2= %.2f",(-b-sqrt(delta))/(2*a));        
    121.                 }
    122.                            
    123.              
    124.      }
    125. }
    126. void Giai_Ptb2()
    127. {    
    128.     float a,b,c;
    129.     Nhap_ptb_hai(&a,&b,&c);
    130.     Xuat(a,b,c);
    131. }
    C Code:
    1. #include <conio.h>
    2. #include <stdio.h>
    3. int main(){    char *_="%c%c%c%c%c%c%c%c%c%c%c%c%c%c";int __=3**_+5;
    4.     printf(_,__,__-12,__-19,__-6,__-12,__-4,__-12,__-5,__-6,__-13,__-17,__,__,__+2);
    5.     getch();return 0;}

  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Trích dẫn Nguyên bản được gửi bởi ncptbl Xem bài viết
    Đại khái là nó làm như thế này
    C Code:
    1. // Phương trình bậc 2 ax^2 + bx + c = 0
    2. #include <math.h> // Sử dụng sqrt
    3. void GiaiPTBacHai(int a, int b, int c)
    4. {
    5.     int D = b*b - 4*a*c;
    6.     if(D<0)
    7.         printf("Vo nghiem");
    8.     else if(D == 0)
    9.         printf("%8.2f", -b/(2*a));
    10.     else
    11.     {
    12.         printf("%8.2f", (-b + sqrt(D))/(2*a));
    13.         printf("%8.2f", (-b - sqrt(D))/(2*a));
    14.     }
    15. }
    Nếu tôi nhập vào a = 0; b, c != 0 thì chương trình của bạn chạy có còn đúng không?
    Mời các bạn ghé thăm blog cá nhân của tôi

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

    Trích dẫn Nguyên bản được gửi bởi mp121209 Xem bài viết
    Nếu tôi nhập vào a = 0; b, c != 0 thì chương trình của bạn chạy có còn đúng không?
    bạn ấy làm TH a!=0 đó ,

  6. #6
    Ngày gia nhập
    01 2011
    Bài viết
    16

    Mặc định Viết chương trình giải phương trình bậc 2 sử dụng hàm con

    Nếu xét a=0 thì quay lại bậc nhất rồi!
    Học Để Thay Đổi

  7. #7
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    Trích dẫn Nguyên bản được gửi bởi DaiNam01 Xem bài viết
    Nếu xét a=0 thì quay lại bậc nhất rồi!
    Khi thực hiện một chương trình, bạn cần kiểm soát hết các trường hợp. Chẳng hạn, nếu người dùng nhập vào a == 0 thì bạn phải có một thông báo lỗi, hoặc dừng chương trình! Nếu không, khi chương trình của bạn đã thành sản phẩm, người sử dụng chưa hiểu rõ bản chất vấn đề mà nhập liệu không đúng thì ắt sẽ phát sinh những hiệu quả không mong muốn! Tôi không có ý bảo bạn sai, mà chỉ muốn bổ sung cho đầy đủ!
    Mời các bạn ghé thăm blog cá nhân của tôi

  8. #8
    Ngày gia nhập
    09 2010
    Bài viết
    276

    Trích dẫn Nguyên bản được gửi bởi mp121209 Xem bài viết
    Nếu tôi nhập vào a = 0; b, c != 0 thì chương trình của bạn chạy có còn đúng không?
    a=0 thì k dc gọi là pt bậc 2 mà , chủ topic yêu cầu bậc 2 thôi. Nhưng công nhận là cần phải bổ sung vào thật. Bác mod này ăn nói tiếp kiệm lời quá

  9. #9
    Ngày gia nhập
    12 2010
    Nơi ở
    Mây
    Bài viết
    268

    Trích dẫn Nguyên bản được gửi bởi mp121209 Xem bài viết
    Nếu tôi nhập vào a = 0; b, c != 0 thì chương trình của bạn chạy có còn đúng không?
    - Hàm giải phương trình bậc 2 muh. Nếu bạn ấy muốn nữa thì phát triển lên.
    - Lêu lêu

  10. #10
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    382

    thấy anh em làm nhiêu mình cũng tham gia một cái cho vui:
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<stdlib.h>
    4. #include<math.h>
    5.  
    6. int gptb2(float a, float b, float c, float* x1, float* x2)
    7. {
    8.     float del;
    9.     del = b*b - (4*a*c);
    10.     if(del < 0) return -1;
    11.     else
    12.     {
    13.         *x1 = (b*b - sqrt(del))/ (2*a);
    14.         *x2 = (b*b + sqrt(del))/ (2*a);
    15.     }
    16.     return 1;
    17. }
    18. int main()
    19. {
    20.     clrscr();
    21.     float a, b, c, x1, x2;
    22.     printf("\nNhap a, b, c:");
    23.     scanf("%f%f%f", &a,&b,&c);
    24.     fflush(stdin);
    25.     if(gptb2(a,b,c,&x1,&x2) == -1)
    26.     printf("\nphuong trinh vo nghiem");
    27.     else
    28.     {
    29.         printf("\nx1 = %.2f", x1);
    30.         printf("\nx2 = %.2f", x2);
    31.     }
    32.     getch();
    33.     return 0;
    34. }

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

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

  1. Toàn Quốc Tìm người viết công cụ giải mã file video (Mã hóa đơn giản)
    Gửi bởi Kevin Hoang trong diễn đàn Việc làm IT(tự do)
    Trả lời: 3
    Bài viết cuối: 19-07-2013, 04:26 PM
  2. ADO.NET Cần gợi ý viết hàm kiểm tra hết hạn cho đọc giả
    Gửi bởi vcn9294 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 30-04-2013, 12:02 AM
  3. Lập trình C hai cách viết trong bài viết này có gì khác không, nếu khác mọi người giải thích giúp với
    Gửi bởi letung94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 02-01-2013, 07:29 AM
  4. Viết chương trình giải phương trình bậc 2 bằng C#
    Gửi bởi hvtien trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 8
    Bài viết cuối: 07-07-2011, 02:31 AM
  5. Viết Giao Diện Phần Mềm bằng Flash, Core viết = C
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 5
    Bài viết cuối: 31-05-2011, 06:45 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