2014-02-25 18 views
1

我正在開發我的項目C.在windows-7我使用DosBox來實現我的代碼。在編譯時我的項目不顯示任何錯誤。但是當我運行我的項目時,只需在輸出屏幕上顯示以下行。BGI錯誤圖形沒有inialize在C

bgi error graphics not initialized use initgraph 

這裏是我的代碼:

void firstscreen() 
{ 
    int gm=DETECT; 
    initgraph(&gm,&gm,""); 
    floodfill(300,230,RED); 
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,5); 
    setcolor(BLUE); 
    sound(1345); 
    outtextxy(100,40,"S.A.JAIN COLLEGE "); 
    outtextxy(190,90,"AMBALA CITY"); 
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,3); 
    setcolor(GREEN); 
    outtextxy(210,230,"PROJECT REPORT "); 
    outtextxy(290,265,"ON "); 
    outtextxy(240,300,"MOBILE SHOP"); 
    settextstyle(DEFAULT_FONT,HORIZ_DIR,2); 

    setcolor(CYAN); 
    settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2); 
    outtextxy(160,400,"Developed By - MAHI"); 
    setcolor(BLUE); 
    settextstyle(1,HORIZ_DIR,1); 
    outtextxy(240,440,"Press any key to enter in the program........"); 
    nosound(); 
    getch(); 
    closegraph(); 
} 

void showroom() 
{ 
    int gm=DETECT; 
    initgraph(&gm,&gm,""); 
    floodfill(300,230,RED); 
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,4); 
    setcolor(BLACK); 
    sound(1345); 
    outtextxy(240,25,"SHOWROOM"); 
    outtextxy(240,50,"^^^^^^^^^"); 
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,3); 
    setcolor(RED); 
    outtextxy(10,85,"Model No  Price(Rs\-)  Color  Wranty"); 
    settextstyle(TRIPLEX_FONT,HORIZ_DIR,2); 
    setcolor(GREEN); 
    outtextxy(10,125, "X2-01    2300   WHITE   1 YEAR"); 
    outtextxy(10,155,"X3-02    7800   BLACK   1 YEAR "); 
    outtextxy(10,185,"E5     4800   BLACK   1 YEAR"); 
    outtextxy(10,215,"3110    3800   BLACK   1 YEAR "); 
    outtextxy(10,245,"7210    5200   BLACK   1 YEAR"); 
    outtextxy(10,275,"5233    5800   BLACK   1 YEAR "); 
    outtextxy(10,305,"N70    8000   BLACK   1 YEAR"); 
    outtextxy(10,335,"N72    8800   BLACK   1 YEAR"); 
    outtextxy(10,365,"N95    10500   BLACK   1 YEAR"); 
    setcolor(BLUE); 
    settextstyle(1,HORIZ_DIR,1); 
    outtextxy(440,440,"Press enter......"); 

    nosound(); 
    getch(); 
    closegraph(); 
} 

,所以我看到這個類似的問題,但沒有答案被業主接受。而且當我嘗試這些解決方案時仍然是同樣的問題。大部分答案都建議使用BGI庫的路徑。我的電腦中BGI庫的路徑。

C:\\TurboC++\\Disk\\TurboC3\\BGI 

在我的代碼,我設置的路徑就像後續

int gm = DETECT; 
initgraph(&gm,&gm,"C:\\TurboC++\\Disk\\TurboC3\\BGI"); 

但不工作還是同樣的問題。請幫我解決這個問題。提前致謝。

+0

您應該首先檢查'initgraph'返回的錯誤代碼。 – Michael

+0

你是如何初始化'gd'的,你調用'initgraph()'後,'gm'返回什麼和'graphresult()'重新生成了什麼?另見http://www.cs.colorado.edu/~main/bgi/doc/initgraph.html –

+0

@Andreas如何從C中複製代碼?所以我在這裏發帖。 –

回答

1

最近我有類似的問題。要從BGI folder解決此複製EGAVGA.BGI並粘貼到BIN folder

希望它有效。

+0

現在正常工作。 –

相關問題