Es geht um die Aufgabe in Kapitel 5 doch habe ich keine schwierigkeiten das programm zu schreiben sondern ein problem das auch überall hätte auftauchen können...
ich habe die aufgabe schon fertig geschrieben und dann kommt da eine fehlermeldung.
(1>main.obj : error LNK2005: "int x" (?x@@3HA) ist bereits in field.obj definiert.
1>main.obj : error LNK2005: "struct sField (* sFieldData)[5]" (?sFieldData@@3PAY04UsField@@A) ist bereits in field.obj definiert.
1>main.obj : error LNK2005: "int y" (?y@@3HA) ist bereits in field.obj definiert.
1>C:\...\main.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
)
nun habe ich schon versucht -da es sich ja anscheinend um die variable int x und int y handelt- die variable umzubenennen in x1 und y1 aber bringt nichts .. (-.-')
ich hoffe ihr könnt mir weiter helfen den ich habe nirgens was gefunden aber wie man die console resetet
Gruß Tobi
naja gut hier mal das programm:
main.cpp
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// Aufgabenstellung Kapitel 5
//
#include "field.h"
#include <iostream>
using namespace std;
int main()
{
FieldMenue();
return 0;
}
|
field.h
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// Aufgabenstellung Kapitel 5
//
// Variablen
const int Breite = 5;
const int Hoehe = 5;
int x;
int y;
struct sField
{
bool bUsed;
char Name[50];
};
sField sFieldData[Breite][Hoehe];
// Funktionen
int FieldMenue();
int printField();
int deleteField();
int writeField();
int showField();
|
field.cpp
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
// Aufgabenstellung Kapitel 5
//
#include "field.h"
#include <iostream>
using namespace std;
int FieldMenue()
{
int ProgramMenueEingabe;
do
{
cout << "Menue\n";
cout << "1: Feld zeigen\n";
cout << "2: Feld besetzen\n";
cout << "3: Felddaten anzeigen lassen\n";
cout << "4: Feld Loeschen\n";
cout << "5: Programm beenden\n";
cout << "Deine Wahl: ";
cin >> ProgramMenueEingabe;
if(ProgramMenueEingabe == 1)
printField();
else if(ProgramMenueEingabe == 2)
writeField();
else if(ProgramMenueEingabe == 3)
showField();
else if(ProgramMenueEingabe == 4)
deleteField();
else if(ProgramMenueEingabe == 5)
cout << "Tschüss!";
else
cout << "Falsche Eingabe!" << endl;
}while(ProgramMenueEingabe != 5);
return 0;
}
int writeField()
{
int xx;
int yy;
do
{
cout << "Gib bitte die Koordinaten an: (1-5)\n Breite: ";
cin >> xx;
cout << "Gib bitte die Koordinaten an: (1-5)\n Hoehe: ";
cin >> yy;
}while((xx < 5) || (xx > 0) && (yy < 5) || (yy > 0) &&
sFieldData[xx-1][yy-1].bUsed == false);
cout << "Bitte Namen für dieses Feld eingeben: ";
cin.ignore();
cin.get(sFieldData[xx-1][yy-1].Name, 49);
sFieldData[xx-1][yy-1].bUsed = true;
return 0;
}
int printField()
{
for (y=0; y<Hoehe; y++)
{
for (x=0; x<Breite; x++)
{
if(sFieldData[x][y].bUsed == true)
cout << "x";
else
cout << ".";
}
cout << endl;
}
return 0;
}
int deleteField()
{
for (y=0; y<Hoehe; y++)
{
for (x=0; x<Breite; x++)
{
sFieldData[x][y].bUsed = false;
}
}
return 0;
}
int showField()
{
int xPos;
int yPos;
do
{
cout << "Bitte Breitengrad angeben: (1-5) ";
cin >> xPos;
cout << "Bitte Hoehengrad angeben: (1-5) ";
cin >> yPos;
}while((xPos < 5) || (xPos > 0) && (yPos < 5) || (yPos > 0));
if (sFieldData[xPos-1][yPos-1].bUsed = false)
cout << "Dieses Feld ist noch nicht belegt!" << endl;
else
cout << "Belegt von " << sFieldData[xPos-1][yPos-1].Name << endl;
return 0;
}
|