Hỏi đáp Mấy anh chị giúp e fix lỗi này với

Thảo luận trong 'C/C++' bắt đầu bởi traudien, 14 Tháng sáu 2011.

  1. Offline

    traudien

    • Thành Viên Mới

    Số bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    0
    Hiện nay e mới bước vào học lập trình C và học dc 3 buổi.
    Hôm nay học về thầy giao bài tính pt bậc 4, e làm xong fix hết lỗi nhưng khi chạy bó lỗi. E mò mãi mà kok dc. Em mới vừa học nên mấy anh chị biết rùi đừng chê e tội em nha :((.Sau đây bài của e làm:

    Mã:
    #include <stdio.h>[/SIZE] [SIZE=3]
    #include <conio.h>
    #include <math.h>
    
    void main ()[/SIZE] [SIZE=3]
    {
       
      float a,b,c,d,e,delta;
      printf("\n giai phuong trinh bac IV:");
      printf("\n a*x^4+b*x^3+c*x^2+d*x+e=0");
      printf("\n nhap gia tri 5 so a,b,c,d,e:");
      scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
      printf("\n dat t^2=x,(t>=0)")
      printf("\n pt co dang bac 2:")
      delta=b*b-4*a*c;
           if (a==0)
    
    [/SIZE] [SIZE=3]        if (b==0)
             {
              if (c==0)                       
            printf("\npt co vo so nghiem");
              else
            printf("\npt vo nghiem");
             }
           else
             printf("\npt co nghiem x=%f,-c/b");
    
    [/SIZE] [SIZE=3]      else
           {
            if (delta<0)
              printf("\npt vo nghiem");        
           
             if (delta==0)
              printf("\npt co nghiem kep")
              printf("\nx1= sqrt(t)")
              printf("\nx2= -sqrt(t)");
             else
              if (delta>0)
              printf("\npt co 2 nghiem phan biet:");
              printf("\nx1=%0.2f",(-b+sqrt(delta))/(2*a));
              printf("\nx2=%0.2f",(-b-sqrt(delta))/(2*a));
           }
    getch();
    }
    [/CODE][/SIZE]
  2. Offline

    alt+F4

    • Core i3

    Số bài viết:
    596
    Đã được thích:
    423
    Điểm thành tích:
    450
    Mình chưa xét về thuật toán nhưng nhìn sơ thì bạn viết sai cú pháp if... else và thiếu dấu ; rất nhiều rồi.
    code dưới mình fix theo thuật toán của bạn:
    PHP:

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>

    void main () 
    {
       
      
    float a,b,c,d,e,delta;
      
    printf("\n giai phuong trinh bac IV:");
      
    printf("\n a*x^4+b*x^3+c*x^2+d*x+e=0");
      
    printf("\n nhap gia tri 5 so a,b,c,d,e:");
      
    scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
      
    printf("\n dat t^2=x,(t>=0)");
      
    printf("\n pt co dang bac 2:");
      
    delta=b*b-4*a*c;
           if (
    a==0)

             if (
    b==0)
             {
              if (
    c==0)                       
            
    printf("\npt co vo so nghiem");
              else
            
    printf("\npt vo nghiem");
             }
           else
             
    printf("\npt co nghiem x=%f,-c/b");

           else
           {
            if (
    delta<0)
              
    printf("\npt vo nghiem");        
           
         if (
    delta==0)
         {
          
    printf("\npt co nghiem kep");
          
    printf("\nx1= sqrt(t)");
          
    printf("\nx2= -sqrt(t)");
          }
         else
          if (
    delta>0)
          {
              
    printf("\npt co 2 nghiem phan biet:");
              
    printf("\nx1=%0.2f",(-b+sqrt(delta))/(2*a));
          
    printf("\nx2=%0.2f",(-b-sqrt(delta))/(2*a));
          }
           }
    getch();
    }
    traudien thích bài này.
  3. Offline

    traudien

    • Thành Viên Mới

    Số bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    0
    Thanks a, bản e post lên e chưa sửa lỗi hihi. Bản sửa lỗi rùi nhưng khi chạy nó hiện mấy lỗi gì ấy. Sau khi fix lại theo cách của a, e rút ra thêm 1 chút exe nữa rùi. Để trình bày sau if thường thêm dấu {} hã a. Khi e thêm như anh thì không báo lỗi trong bản đen nữa.
  4. Offline

    alt+F4

    • Core i3

    Số bài viết:
    596
    Đã được thích:
    423
    Điểm thành tích:
    450
    Như vậy là bạn chỉ mới tập viết C, bạn nên học kĩ về lý thuyết, ý nghĩa và cách sử dụng các cú pháp.
    Nếu thực thi một khối lệnh, gồm nhiều lệnh sau if thì chúng ta phải đặt trong cặp {}, còn với một dòng lệnh sau if thì không cần. :D
    Chúc bạn học tốt!
  5. Offline

    traudien

    • Thành Viên Mới

    Số bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    0
    Mới học dc có 3 buổi ah:). Có thể cho em xin yh để trao đổi những lúc cần dc kok ạ!

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí