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

Đề tài: đồ họa_sai lỗi gì?

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Hồ chí minh
    Bài viết
    134

    Mặc định đồ họa_sai lỗi gì?

    Lần trước mình đã hỏi về vẽ đồ thị trong c,có một bạn đã giúp mình.
    Nhưng mình làm xong thì không thể chạy được,debug chỉ đến phần khởi tạo đồ họa thì tự thoát.
    bạn nào rãnh thì tranh thủ xem lại hộ mình được nha!
    Code:
    #include<conio.h>
    #include<stdio.h>
    #include<graphics.h>
    #include<math.h>
    #include<stdlib.h>
    void nhap(int,int,int,int);
    void drawxy(int,int);
    float bacba(float,int,int,int,int);
    
    #define TILE 10 //khai bao hang
    
    void drawxy(int x,int y)//ve hai truc toa do x,y
    {
    
        line(-(x),0,x,0);
        line(0,-(y),0,y);
        settextjustify(1,1);
        setcolor(RED);
        outtextxy(0,0,"O,0");
    }
    
    float fbacba(float x,int a,int b,int c,int d)
    {
    	 //return sin(x*M_PI);//SAI CHO HAM SINX HOAC COSX
    	return (a*x*x*x+b*x*x+c*x+d); //tinh ham bac ba//hay bac hai //bac mot
    }
    
    void main()
    {
    	int gd=0,gm=0;
    	float y,x,dx;
    	int dem,a,b,c,d;
    	initgraph(&gd,&gm,"");
    	if(graphresult!=grOk)
    	exit(1);
    	int Ox=getmaxx()/2,Oy=getmaxy()/2;//getmaxx=639,getmaxy=199
    	//dong o tren tuc la lay diem giua man hinh
    
    	// putpixel(Ox,Oy,YELLOW);//to mau vang vao goc toa do(0x,0y)
    	setviewport(Ox,Oy,getmaxx(),getmaxy(),0);
    	 /*cau lenh nay tao mot man hinh chu nhat tren man hinh do hoa,
    	 ox va oy la diem ben trai tren,con getmaxx
    	 va getmax y la diem ben phai duoi,so 0
    	 cho phep ve hinh ngoai hinh chu nhat da chon*/
    	drawxy(Ox,Oy);//ve hai truc ox va oy
    	dx=(3.+3.)/300;//lay khoang dx de di chuyen x
    	nhap(a,b,c,d);
    	setcolor(YELLOW);
    	x=-3;//lay gia tri x bat dau tu -3
    	y=fbacba(x,a,b,c,d);  //the vao ham de tinh y->toa do can ve
    	moveto(x*TILE,-y*TILE);//di chuyen con tro toi diem nay
    	for(dem=0;dem<=300;++dem)//lay 300 diem de noi thanh do thi
    	 {
    		x+=dx;//di chuyen x
    		y=fbacba(x,a,b,c,d);
    		lineto(x*TILE,-y*TILE);//ve duong thang tu vi tri hien tai cua con tro toi diem nay
    
    	 }
    
    	getch();
    	closegraph();
    }
    void nhap(int a,int b,int c,int d)
    {
    	printf("nhap he so a: ");
    	scanf("%d",&a);
    	printf("nhap he so b: ");
    	scanf("%d",&b);
    	printf("nhap he so c: ");
    	scanf("%d",&c);
    	printf("nhap he so d: ");
    	scanf("%d",&d);
    }
    Every step I'm taking
    Every move I make
    Feels lost with no direction
    My faith is shaking
    But I gotta keep trying.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    C++ Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<graphics.h>
    4. #include<math.h>
    5. #include<stdlib.h>
    6. void nhap(int,int,int,int);
    7. void drawxy(int,int);
    8. float bacba(float,int,int,int,int);
    9.  
    10. #define TILE 10 //khai bao hang
    11.  
    12. void drawxy(int x,int y)//ve hai truc toa do x,y
    13. {
    14.  
    15.     line(-(x),0,x,0);
    16.     line(0,-(y),0,y);
    17.     settextjustify(1,1);
    18.     setcolor(RED);
    19.     outtextxy(0,0,"O,0");
    20. }
    21.  
    22. float fbacba(float x,int a,int b,int c,int d)
    23. {
    24.      //return sin(x*M_PI);//SAI CHO HAM SINX HOAC COSX
    25.     return (a*x*x*x+b*x*x+c*x+d); //tinh ham bac ba//hay bac hai //bac mot
    26. }
    27.  
    28. void main()
    29. {
    30.     int gd=0,gm=0;
    31.     float y,x,dx;
    32.     int dem,a,b,c,d;
    33.  
    34.     gd = DETECT;
    35.     initgraph(&gd,&gm,"c:\\bc31\bgi"); // bạn sửa đường dẫn lại cho phù hợp với máy bạn
    36.     if(graphresult()!=grOk) // bạn thiếu ()
    37.         exit(1);
    38.  
    39.     int Ox=getmaxx()/2,Oy=getmaxy()/2;//getmaxx=639,getmaxy=199
    40.     //dong o tren tuc la lay diem giua man hinh
    41.  
    42.     // putpixel(Ox,Oy,YELLOW);//to mau vang vao goc toa do(0x,0y)
    43.     setviewport(Ox,Oy,getmaxx(),getmaxy(),0);
    44.      /*cau lenh nay tao mot man hinh chu nhat tren man hinh do hoa,
    45.      ox va oy la diem ben trai tren,con getmaxx
    46.      va getmax y la diem ben phai duoi,so 0
    47.      cho phep ve hinh ngoai hinh chu nhat da chon*/
    48.     drawxy(Ox,Oy);//ve hai truc ox va oy
    49.     dx=(3.+3.)/300;//lay khoang dx de di chuyen x
    50.     nhap(a,b,c,d);
    51.     setcolor(YELLOW);
    52.     x=-3;//lay gia tri x bat dau tu -3
    53.     y=fbacba(x,a,b,c,d);  //the vao ham de tinh y->toa do can ve
    54.     moveto(x*TILE,-y*TILE);//di chuyen con tro toi diem nay
    55.     for(dem=0;dem<=300;++dem)//lay 300 diem de noi thanh do thi
    56.      {
    57.         x+=dx;//di chuyen x
    58.         y=fbacba(x,a,b,c,d);
    59.         lineto(x*TILE,-y*TILE);//ve duong thang tu vi tri hien tai cua con tro toi diem nay
    60.  
    61.      }
    62.  
    63.     getch();
    64.     closegraph();
    65. }
    66. void nhap(int a,int b,int c,int d)
    67. {
    68.     printf("nhap he so a: ");
    69.     scanf("%d",&a);
    70.     printf("nhap he so b: ");
    71.     scanf("%d",&b);
    72.     printf("nhap he so c: ");
    73.     scanf("%d",&c);
    74.     printf("nhap he so d: ");
    75.     scanf("%d",&d);
    76. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    03 2008
    Nơi ở
    Hồ chí minh
    Bài viết
    134

    mấy bạn ơi,,mình lưu code trong MS visual c++,nó sẽ lưu dưới dạng đuôi CPP,nhưng đem cái này vào turbo c nó vẫn mở được,mình thấy nhiều bài trong visual chạy được,còn turbo không được.vậy thì đuôi BAK VÀ CPP có ảnh hưởng gì với nhau không?
    Every step I'm taking
    Every move I make
    Feels lost with no direction
    My faith is shaking
    But I gotta keep trying.

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    mấy bạn ơi,,mình lưu code trong MS visual c++,nó sẽ lưu dưới dạng đuôi CPP,nhưng đem cái này vào turbo c nó vẫn mở được,mình thấy nhiều bài trong visual chạy được,còn turbo không được.vậy thì đuôi BAK VÀ CPP có ảnh hưởng gì với nhau không?
    *.cpp là định dạng file chứa code C++ bạn ah, *.bak chỉ là file nháp của chương trình Turbo C khi soạn thảo (tránh mất code khi có sự cố bất ngờ), ngoài ra nó xuất ra một file *.c đây mới là định dạng chứ code của C.

    Hai trình biên dịch (compile) đó khác nhau khá nhiều, nhất là về đồ họa, nên nhưng bạn ít kinh nghiệm sẽ khó thể biên dịch luân chuyển giữa 2 công cụ được.

    Về vấn đề này để hiểu sâu hơn chắc bạn phải tự search để kiếm tài liệu, ngoài ra bạn có thể post code thắc mắc lên mọi người sử giúp và hưỡng dẫn bạn kĩ hơn về nguyên nhân.

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