Wieder einmal eine kleine Hilfe nötig!
-
Hallo allezusammen,
Ich hab hier ein Programm das aus einer textdatei werte ausliest und mit denen dann
in c++ ein viereck zeichnet mit coutdie textdatei sieht wie folgt aus:
x-Position: 10
Y-Position: 5
Breite: 30
Hoehe: 10
Zeichen: #und anhand dieser werte wird das programm im Dos Mode gezeichnet ich hab folgenden
Programmcode geschrieben aber es funktioniert nicht ganz:
#include <iostream>
#include <conio.h>
#include <fstream>using namespace std;
int main()
{
int zeile,spalte,x,y,hoehe,breite;
ifstream eingabe;
string satz,zeichen;eingabe.open("Eingabe.txt");
while(!eingabe.eof())
{
eingabe>>satz;
eingabe>>x;
eingabe>>satz;
eingabe>>y;
eingabe>>satz;
eingabe>>breite;
eingabe>>satz;
eingabe>>hoehe;
eingabe>>satz;
eingabe>>zeichen;
};
eingabe.close();
for (spalte=1;spalte<=y+hoehe;spalte++)
{
for(zeile=1;zeile<=x+breite;zeile++)
{
if(zeile>x&&zeile<=x+breite&&spalte==y+1||zeile>x&&zeile<=x+breite&&spalte==y+hoehe||
spalte>y&&spalte<=y+hoehe&&zeile==x+1||spalte>y&&spalte<=y+hoehe&&zeile==x+breite)
{
cout<<zeichen;
}
{
cout<<"";
};
}; cout<<endl;};
getch();
}ABER das einzige was ich rausbekomme ist solch ein viereck:
xxxxxxxxxxxxxx
x x
x x
xxxxxxxxxxxxxxBitte probiert das Programm aus und sagt mir bitte wo der Fehler ist ich komme einfach nicht drauf!!!

-
Keine Codetags, keine konkrete Frage, kein Bemuehen des Fragers zu erkennen. Wer soll da antworten?
-
Naja... dein Code schien mir etwas wirr, da hab ich mehr als die Hälfte weggekürzt... auf jeden Fall hast du eine viel zu lange if-Bedingung.
So sieht meine (funktionierende) Version aus:int main() { const String zeichen="x"; int x=10,y=5,breite=30,hoehe=10; for (int spalte=0;spalte<y+hoehe;spalte++) { if (spalte>=y)for (int zeile=0;zeile<x+breite;zeile++)cout<<(zeile<x ? String(" ") : zeichen); cout<<endl; } }