WinFuture-Forum.de: Hilfe Bei Array In C++ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Hilfe Bei Array In C++ Lagerprogramm


#1 Mitglied ist offline   pix 

  • Gruppe: aktive Mitglieder
  • Beiträge: 58
  • Beigetreten: 13. November 05
  • Reputation: 0

geschrieben 20. September 2006 - 20:28

Hi Leutz,
ich hab da ein kleines Problem bei welchem ich nicht weiterkomme.
Ich möchte ein Programm schreiben das ein Lager enthält. In dem Lager sollen z.B. Weine gelagert werden.
Das Array wird am anfang fest mit einigen Weinen definiert. Allerdings bleiben ein Paar Felder leer. Nachdem das Array ausgegeben wurde soll der Benutzer der Reihe nach die Array Felder füllen können. Und da ist auch mein Problem. Ich weiß nicht wie ich es realisieren soll. Ich hoffe ihr könnt mir helfen! Wäre sehr Dankbar für Hilfe!
Hier nun mein Quelltext:

Zitat

#include <cstdlib>
#include <iostream>
#include <conio.h>

using namespace std;


string Weine[5][5]={
{"Wein 1","Wein 2","Wein 3","Wein 4","Wein 5"},
{"Wein 6"," ","Wein 8","Wein 9","Wein 10"},
{"Wein 11","Wein 12","Wein 13"," "," "},
{"Wein 16","Wein 17","Wein 18","Wein 19","Wein 20"},
{" ","Wein 22","Wein 23","Wein 24","Wein 25"},
};

int LeereFaecher=0;

int main()
{

for(int i=0; i<5; i++)
{
for(int j=0; j<5; j++)
{
cout << Weine[i][j] << " ";
if(Weine[i][j]==" ")
{
cout << " ";
LeereFaecher++;
}
}
cout << endl;
}

cout << "\nEs sind zur Zeit " <<LeereFaecher<< " Faecher frei";
cout << "Bitte geben Sie den Weinnamen ein,\nder in ein leeres Fach eingeordnet werden soll.\n";


// Ab hier ist mein Problem
// Ich weiß wirklich nicht wie ich es Coden soll :(


for(int x=LeereFaecher; x>0; x--)
{
cout << "\nNoch " << LeereFaecher << " leere Faecher";
LeereFaecher--;
cout << "\nIhr Weinname :";

for(int y; x>y;y--)
{
if(Weine[x][y]==" ")
{
cin >> Weine[x][y];
getchar();
getchar();
}
}
}


getchar();
getchar();


return 0;
}


Danke schoneinmal für eure Hilfe!
Eingefügtes Bild
0

Anzeige



#2 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 21. September 2006 - 00:35

lass Array weg und implementire das besser als Collections. In zeiten von OOP muss man sich den Mist nicht mehr antuen.
0

#3 Mitglied ist offline   pix 

  • Gruppe: aktive Mitglieder
  • Beiträge: 58
  • Beigetreten: 13. November 05
  • Reputation: 0

geschrieben 21. September 2006 - 17:53

Beitrag anzeigenZitat (MagicAndre1981: 21.09.2006, 01:35)

lass Array weg und implementire das besser als Collections. In zeiten von OOP muss man sich den Mist nicht mehr antuen.


Ich würde es aber dennoch gerne mit einem Array realisieren da ich mit Collections noch nichts am Hut hatte.
Dankeschön!
Eingefügtes Bild
0

#4 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 22. September 2006 - 09:38

unsauber, bäh...
trotzdem mal gelöst:

	  2 #include <cstdlib>
	  3 #include <iostream>
	  4 
	  5 using namespace std;
	  6 
	  7 
	  8 string Weine[5][5]={
	  9 {"Wein 1","Wein 2","Wein 3","Wein 4","Wein 5"},
	 10 {"Wein 6"," ","Wein 8","Wein 9","Wein 10"},
	 11 {"Wein 11","Wein 12","Wein 13"," "," "},
	 12 {"Wein 16","Wein 17","Wein 18","Wein 19","Wein 20"},
	 13 {" ","Wein 22","Wein 23","Wein 24","Wein 25"},
	 14 };
	 15 
	 16 int LeereFaecher=0;
	 17 
	 18 void reindamit () {
	 19	 for ( int i = 0; i < 5; i ++ )
	 20		 for ( int j = 0; j < 5; j ++ )
	 21			 if ( Weine[i][j] == " " ) {
	 22				 cout << "Wein an " << i << " / " << j << " ist noch frei, bitte eintragen: \n";
	 23				 cin >> Weine[i][j];
	 24			 }
	 25 }
	 26	 
	 27 
	 28 int main()
	 29 {
	 30 
	 31 for(int i=0; i<5; i++)
	 32 {
	 33 for(int j=0; j<5; j++)
	 34 {
	 35 cout << Weine[i][j] << " ";
	 36 if(Weine[i][j]==" ")
	 37 {
	 38 cout << " ";
	 39 LeereFaecher++;
	 40 }
	 41 }
	 42 cout << endl;
	 43 }
	 44 
	 45 cout << "\nEs sind zur Zeit " <<LeereFaecher<< " Faecher frei";
	 46 cout << "Bitte geben Sie den Weinnamen ein,\nder in ein leeres Fach eingeordnet werden soll.\n";
	 47 
	 48 reindamit();
	 49 
	 50 
	 51 return 0;
	 52 }

trotzdem: unsauberer ansatz. und warum C++, wenn man so ein geschmuddel programmieren will? das kann man mit C auch - und imho besser.

grüsse,
mo
getestet mit:
bla@turing:~$ g++ --version
g++ (GCC) 3.2
Copyright © 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
bla@turing:~$ uname -a
SunOS turing 5.9 Generic_118558-25 sun4u sparc SUNW,Sun-Fire-V490
I'm mó. mo's good twin.
0

#5 Mitglied ist offline   pix 

  • Gruppe: aktive Mitglieder
  • Beiträge: 58
  • Beigetreten: 13. November 05
  • Reputation: 0

geschrieben 23. September 2006 - 23:57

Vielen Dank für deine Hilfe mo!
Werd das nächste mal den Code übersichtlicher posten.

Gruss
Eingefügtes Bild
0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 24. September 2006 - 09:46

Zitat

SunOS turing 5.9 Generic_118558-25 sun4u sparc SUNW,Sun-Fire-V490

Angeber :wink:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0