Hi ich habe ein kleines Programm geschrieben welches ein paar Zeichen in
einem bestimmten Muster ausgeben soll. Doch dabei habe ich einen Fehler
und ich weiß ihn nicht zu beheben.
Vielleicht findet ihr ja den Fehler. Hier ist der Quellcode:
1
#include<conio.h>
2
#include<iostream.h>
3
4
structsZeichen
5
{
6
charletter;
7
charmatrix[11][8];
8
intwidth;
9
};
10
11
intmain(intargc,char*argv[])
12
{
13
14
intcoloum=20;
15
intx=2;
16
inty=2;
17
18
// Initialisierung des Bildschrims;
19
20
for(intk=0;k<15;k++){
21
if(k%2==0)
22
{
23
gotoxy(x,y);
24
for(inti=0;i<coloum;i++){
25
cout<<"O ";
26
}
27
x+=2;
28
y+=2;
29
}
30
else
31
{
32
gotoxy(x,y);
33
for(inti=0;i<coloum-1;i++){
34
cout<<"O ";
35
}
36
x-=2;
37
y+=2;
38
}
39
}
40
41
// Ende der Initialisierung
42
43
sZeichenA;
44
A.letter='A';
45
A.width=9;
46
/* Zeichen Legende
47
O = LED aus
48
# = LED ein
49
- = LED nicht vorhanden
50
*/
51
52
A.matrix=
53
{// <---- Zeile 54
54
// 1 2 3 4 5 6 7 8 9 10 11
55
{'O','#','#','#','#','#','#','#','O','O','O'},
56
{'O','#','#','O','#','O','#','#','O','O','O'},
57
{'#','#','O','O','O','O','O','#','#','O','O'},
58
{'#','#','O','#','O','#','O','#','#','O','O'},
59
{'#','#','#','O','#','O','#','#','#','O','O'},
60
{'#','#','O','O','O','O','O','#','#','O','O'},
61
{'#','#','O','O','O','O','O','#','#','O','O'},
62
{'#','-','O','-','O','-','O','-','#','O','O'},
63
};
64
65
66
getch();
67
68
return0;
69
}
Der Fehler befindet sich an der Zeile 54 so zeigt es zumindest der
Compiler. Ich hoffe ihr könnt mir weiterhelfen.
Lieben Gruß
gentleBen schrieb:
> Der Fehler befindet sich an der Zeile 54 so zeigt es zumindest der> Compiler. Ich hoffe ihr könnt mir weiterhelfen.
und was für ein Fehler auftritt ist mal wieder ein Geheimnis...das eine
Komma dürfte zu viel sein...
Justus Skorps schrieb:
> und was für ein Fehler auftritt ist mal wieder ein Geheimnis...das eine> Komma dürfte zu viel sein...
Zumindest in C ist das Komma sogar explizit erlaubt.
Hallo Ben,
man kann in C(++) einem ganzen Array nicht mitten im Programm einen Wert
zu weisen, das geht NUR bei der Initialisierung. Du musst die Elemente
also alle einzeln beschreiben.
Oder Du könntest auch ein globales Array definieren und in der main
dieses Array in A.matrix kopieren:
> man kann in C(++) einem ganzen Array nicht mitten im Programm einen Wert> zu weisen, das geht NUR bei der Initialisierung.
In der nächsten Version von C++ wird das gehen.
Bis dahin würde es sich aber zumindest anbieten, das eher umständliche