2017-12-14 2 views
0

"kolor"文字列を定義しようとすると "エラーC:\ BORLANDC \ BIN \ PIXEL.CPP 6:型名が必要です"。エディタ:DOS上のBorland C++。このプログラムは、ピクセルのx、y、色について質問し、画面をクリアし、ピクセルを画面に表示します。どうしましたか?型名が必要です

#include <graphics.h> 
#include <conio.h> 
#include <iostream.h> 
#include <string.h> 
int x, y; 
string kolor; 

void main() 
{ 
    cout << "PIXEL TEST"; 
    cout << "WPISZ LICZBE X"; 
    cin >> x; 

    cout << "WPISZ LICZBE Y"; 
    cin >> y; 

    cout << "WPISZ KOLOR"; 
    cin >> COLOR; 

    cout << "DZIALAM... TRWA UMIESZCZANIE PIKSELA..."; 
    int driver = DETECT,mode; 
    initgraph(&driver,&mode,"c:\\BORLANDC\\bgi"); 
     putpixel(x,y,kolor); 
    getch(); 
    closegraph(); 
} 
+0

私はあなたのコンパイラが私の答えを適用する。コンパイラのアップグレードを検討してください。 Turbo C++は特に優れた標準に従いません。 – Bathsheba

+1

たとえば、https://www.visualstudio.com/vs/visual-studio-express/ – pm100

+0

char *を使って試してみてください。例えばchar * kolor; – tatmanblue

答えて

2

stringstd名前空間にあります。

std::string kolor;#include <string>と書く必要があります。

あなたのcoutcinとの相談。

代替 - using namespace std;は - 可能ですが、それは(それが明確さをもたらす)短いチュートリアルプログラムを除き、貧しいアドバイスですが、めったに結果名前空間の汚染による生産コードで使用されていません。

このでない場合は、コンパイラのエラーを修正します。実際にコンパイラをアップグレードする必要があります。 Borlandコンパイラはを全く持っていませんは標準のC++コンパイラですが、何年も前にリリースされたときにはその使用法はありました。

Borlandコンパイラに移行するのが遠すぎる場合は、C++標準ライブラリのサードパーティ製の初期バージョンを使用することができます.STLPortはそのような例の1つです。

+0

何も機能しません。 – WatermelonPL

+3

OPはBorland C++を使用していますが、stdと名前空間もありません。 –

+0

@ArunASは文字列をサポートしていますか? – pm100

1

まあ問題は、ボーランドC++にはstringデータ型がないことです。あなたは使用する必要がありますputpixelの構文は

void putpixel(int x, int y, int color); 

だからあなたは整数として渡すする必要があるので、あなたが、必要なものではありませんchar[]またはchar*

しかし、あなたの実装を見て、色。すべてのカラーコードの整数値を調べます。

putpixel(x,y,RED); 
putpixel(x,y,BLUE); 

いくつかの標準的な色コードは既にこのように定義されています。

は、だから、char[]で入力を取る(ハードコード)を比較し、非常に移動することが示唆されているが、カラーコードが

0 BLACK 
1 BLUE 
2 GREEN 
3 CYAN 
4 RED 
5 MAGENTA 
6 BROWN 
7 LIGHTGRAY 
8 DARKGRAY 
9 LIGHTBLUE 
10 LIGHTGREEN 
11 LIGHTCYAN 
12 LIGHTRED 
13 LIGHTMAGENTA 
14 YELLOW 
15 WHITE 

ある

正しい色コードに渡す必要がありますC++のバージョンには決してしません。あなたの学校がそれを学ばなければならない場合は、大丈夫ですが、ボーランドのC++も古くなり、誰もそれをも​​う使用しないので、決してバージョンも学ばなくてはなりません。

関連する問題