Announcement

Collapse
No announcement yet.

[C++] các sư huynh kiểm tra dùm e bài giải PT bậc 2 với!!!!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    tình hình là em làm 1 cái menu.
    ví dụ như sau:

    0.thoát
    1. nhập a,b,c
    2.tính nghiệm


    thì khi tính xong nghiệm e chỉ việc nhấn số 1 sẽ nhập lại a,b,c.
    FPT Telecom

    Comment


    • #17
      Originally posted by 10520365 View Post
      tình hình là em làm 1 cái menu.
      ví dụ như sau:

      0.thoát
      1. nhập a,b,c
      2.tính nghiệm


      thì khi tính xong nghiệm e chỉ việc nhấn số 1 sẽ nhập lại a,b,c.
      Anh giải thích chi tiết hơn đc không ? Tại em đã mò sáng giờ mà vẫn chưa hiểu rõ

      Comment


      • #18
        Topic này có câu hỏi giống bạn nèk



        VD đơn giản:

        PHP Code:
        #include <stdio.h>
        #include <conio.h>
        void main ()
        {
            
        int a;
            
        char c;
            do
            {
                
        printf("\nNhap a: ");
                
        scanf("%d",&a);
                
        printf("Ban Vua Nhap So: %d",a);
                
        printf("\nBan co muon tiep tuc khong? y/n: ");
                
        flushall();
                
        scanf("%c",&c);
            }
            while(
        c=='y');
            
        getch();

        Comment


        • #19
          Originally posted by 10520365 View Post
          tình hình là em làm 1 cái menu.
          ví dụ như sau:

          0.thoát
          1. nhập a,b,c
          2.tính nghiệm


          thì khi tính xong nghiệm e chỉ việc nhấn số 1 sẽ nhập lại a,b,c.
          chữ nhỡ chưa nhập xong bước 1 mà nhập luôn 2 thì sao? @@
          -----------------------------
          Mai Văn Khải
          Software Engineering, University Information of Technology
          a07d26eb5cbc98f77b36a461eb629456

          Comment


          • #20
            Mình ví dụ thế này nhé, chắc chỉnh sửa chút sẽ đc:

            PHP Code:
            #include <stdio.h>
            #include <conio.h>



            void main()
            {
                
            int key=1;
                do
                {
                    
            printf("1. Giai PT\n\n0. Thoat\n\nKey??   \n\n");
                    
            scanf("%d", &key);
                    
            printf("Vi du\n\n");
                    
            printf("CT nam phan nay\n\n");
                } while (
            key!=0);
                
            printf("Ban vua chon thoat!\n\nNhan phim bat ki de thoat");
                
            getch();

            ˚˚CQH˚˚
            ◦•HTTT07•◦

            Comment


            • #21
              Mặc dù chọn thoát nhưng CT vẫn thực hiện 1 lần rồi mới thoát, chỉ dùng vòng lặp và cấu trúc đk thì mình chỉ làm đc thế này thôi
              ˚˚CQH˚˚
              ◦•HTTT07•◦

              Comment


              • #22
                Originally posted by 12520804 View Post
                Ví dụ em muốn chương trình thực hiện xong , đã ra đáp án và chỉ cần press any key là nó tiếp tục thực hiện lại ( ở đây là nhập lại các số a,b,c sau đó chạy tiếp ) thì phải xài câu lệnh nào vậy mấy huynh ?
                hồi học pascal mình cũng hay zọc cái zụ này, nhưng mình hơi khác 1 tí:
                "Ban co muon thuc hien lại chuong trinh khong? (Y/N)"
                Y hoặc y rồi enter thì thực hiện lại.
                N hoặc n rồi enter thì out khỏi chương trình.
                cái này mình dùng một vòng lặp không xác định lớn (dạng do - while) bao hàm toàn bộ thân chương trình chính cùng một biến kiểm soát.
                ở đây mình "nâng cấp" phần mềm giải PTB2 lên trường hợp nghiệm phức và ghép thêm lệnh lặp lại chương trình, bạn xem thử hen:
                #include "stdio.h"
                #include "conio.h"
                #include "math.h"
                #include "stdlib.h"
                main()
                {
                char i;
                do
                {
                system("cls");
                //--------------------------------------------------------------
                printf("moi nhap cac chi so a,b,c:\n"); //nhap chi so
                float a,b,c;
                scanf("%f%f%f",&a,&b,&c);
                //--------------------------------------------------------------
                if (a==0) //xet cac truong hop khi a=0
                if (b==0)
                if (c==0)
                printf("phuong trinh co vo so nghiem\n");
                else
                printf("phuong trinh vo nghiem\n");
                else
                printf("phuong trinh co nghiem duy nhat x=%4.2f\n",-(c/b));
                else
                //--------------------------------------------------------------
                { //tinh delta
                float dt;
                dt=b*b-4*a*c;
                //--------------------------------------------------------------
                if (dt>0) //truong hop delta > 0
                {
                dt=sqrt(dt);
                float x1,x2;
                x1=(-b+dt)/(2*a);
                x2=(-b-dt)/(2*a);
                printf("phuong trinh co 2 nghiem nguyen phan biet:\nx1=%4.2f\nx2=%4.2f\n",x1,x2);
                }
                //--------------------------------------------------------------
                else //truong hop delta = 0
                if (dt==0)
                printf("phuong trinh co nghiem kep:\nx=%4.2f",(-b)/(2*a));
                //--------------------------------------------------------------
                else //truong hop delta < 0
                {
                dt=sqrt(fabs(dt))/(2*a);
                b=b/(2*a);
                printf("phuong trinh co 2 nghiem phuc:\nx1=%4.2f-%4.2fi\nx2=%4.2f+%4.2fi\n",-b,dt,-b,dt);
                }
                //--------------------------------------------------------------
                }
                //nhap bien kiem soat
                printf("Ban co muon thuc hien lai chuong trinh khong?(Y/N)\n");
                fflush(stdin);
                scanf("%c",&i);
                }
                //--------------------------------------------------------------
                while (i=='y');
                return 0;
                }
                trong C mình không rõ lắm công dụng của fflush(stdin), nhưng mình chỉ nhớ là khi nào câu lệnh scanf bị bỏ qua thì thêm câu lệnh đó đằng trước là nhập được.
                tiện đây anh chị nào giải thích cho em cụ thể công dụng của nó với ạ, tìm trên google người ta nói cao siêu quá... ko hiểu gì cả.

                Comment


                • #23
                  Originally posted by 12520486 View Post
                  trong C mình không rõ lắm công dụng của fflush(stdin), nhưng mình chỉ nhớ là khi nào câu lệnh scanf bị bỏ qua thì thêm câu lệnh đó đằng trước là nhập được.
                  tiện đây anh chị nào giải thích cho em cụ thể công dụng của nó với ạ, tìm trên google người ta nói cao siêu quá... ko hiểu gì cả.
                  hàm scanf, gets, getchar nhận dữ liệu từ stdin(dòng vào chuẩn). nếu stdin không có dữ liệu thì chương trình phải chờ người dùng đưa dữ liệu vào. mỗi hàm trên sẽ lấy 1 phần dữ liệu trong stdin, phần dữ liệu còn lại vẫn nằm trong stdin. hàm gets() lấy dữ liệu trong stdin cho đến khi gặp kí tự '\n'(enter). xét 2 câu lệnh sau:
                  PHP Code:
                   scanf("%d", &a); // int a;
                    
                  gets(s);// char s[20]; 
                  khi câu lệnh đầu thực hiện, giả sử bạn nhập 5 và nhấn enter ('\n'). hàm scanf lúc này chỉ lấy dữ liệu nó cần là 5. còn kí tự '\n' ở lại trên stdin.
                  đến câu lệnh thứ 2, do trong stdin còn dữ liệu nên gets lấy dữ liệu này luôn mà không yêu cầu người dùng nhập. như vậy, bạn sẽ cảm thấy có vẻ câu lệnh gets bị "trôi". để tránh trường hợp này, bạn sử dụng câu lệnh fflush(stdin) khi cần thiết. chức năng câu lệnh này là làm sạch stdin.
                  bạn tham khảo ở đây
                  http://vietsource.net/forum/threads/...-ban-phim.html
                  bạn nên tìm hiểu cuốn lập trình C của tác giả Phạm Văn Ất. mình thấy rất hay.
                  Last edited by 11520327; 23-10-2012, 13:47.

                  Comment

                  LHQC

                  Collapse
                  Working...
                  X