Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » do-while Schleifen Abfrage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.04.2005, 16:17 Uhr
~Snopex
Gast



C++:


Hallo Leute,

hab folgendes Problem:

Soll ein Programm erstellen, mit dem ich den Bevoelkerungzuwachs errechnen kann. Leider will mein C++ keine Rechnung durchführen und die do-while  Schleife fragt mich nicht nach meinem while (taste==j||J);

Woran kann das liegen?

Hier ist mein Quellcode:

#include <iostream.h>

int main ()

{  
    char kategorie;



    float industriestaat, entwicklungsland, wachstum_industriestaat, wachstum_entwicklungsland, wachstum_gesamt, bevoelerung, bevoelkerung_industriestaat, bevoelkerung_entwicklungsland, bevoelkerung_alt, bevoelkerung_neu
    ,bevoelkerung_gesamt,taste, j, J, n, N;



do
{

    
cout <<"Geben Sie die Einwohnerzahl des Industriestaates ein:";
    cin>>bevoelkerung_industriestaat;
        
    cout <<"Geben Sie die Bevoelkerung des Entwicklungslandes ein:";
    cin >>bevoelkerung_entwicklungsland;
    
    wachstum_industriestaat = bevoelkerung_industriestaat*wachstum_industriestaat/100;
    wachstum_entwicklungsland = bevoelkerung_entwicklungsland*wachstum_entwicklungsland/100;    



cout <<"Geben Sie eine Kategorie  von 1 - 5 ein:";
cin >> kategorie;


    


switch (kategorie)



        
    {
       case '1': wachstum_industriestaat=0, wachstum_entwicklungsland=1.0;
       break;

       case '2': wachstum_industriestaat=1.0, wachstum_entwicklungsland=1.5;
       break;

       case '3': wachstum_industriestaat=1.5, wachstum_entwicklungsland=2.5;
       break;

       case '4': wachstum_industriestaat=2.0, wachstum_entwicklungsland=3.5;
       break;

       case '5': wachstum_industriestaat=2.5, wachstum_entwicklungsland=4.5;
       break;
cout<<"Weiter? j/J = Ja n/N = Nein";
cin>>taste;
    
    wachstum_gesamt= wachstum_industriestaat + wachstum_entwicklungsland;
    bevoelkerung_alt= bevoelkerung_industriestaat + bevoelkerung_entwicklungsland;

    
    bevoelkerung_neu= wachstum_gesamt + bevoelkerung_alt;

     default: "Sie haben keine gueltige Kategorie gewählt! Bitte wählen Sie erneuert!";
        


                  
        
    
}                    
}
  


while (taste==j||J);

}




Danke schonmal für die Hilfe ;-)


[/cpp]
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.04.2005, 16:20 Uhr
Th



Du solltest Text und Code nicht zusammen mit den Code-Tags versehen!!

Die Abfrage ist völliger Unsinn (in C/C++).

Es muß heißen:

C++:
while (taste=='j' || taste=='J');



P.S. außerdem sollstest du taste als char definieren, nicht als float...

Dieser Post wurde am 08.04.2005 um 16:21 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.04.2005, 16:27 Uhr
~Snopex
Gast


Danke für deine Hilfe ...

gibt aber noch weitere Problem und zwar wird meine Rechnung nícht mit einbezogen und die Frage weiter Ja oder Nein kommt auch nicht. Woran kann denn das leigen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.04.2005, 16:37 Uhr
Th



Die schließende Klammer vom switch mußt du nach dem letzten break setzen, danach dann die Berechnung und evtl. noch eine Ausgabe hinzufügen (cout << ...), sonst hast du nicht viel von dem Programm. Beim default mußt du dann auch noch etwas herumbasteln (dies bleibt dir als Aufgabe für morgen )
Zum Schluß der while-Schleife dann die Abfrage...

Dieser Post wurde am 08.04.2005 um 16:37 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.04.2005, 17:13 Uhr
Snopex



meinst du so?:

C++:
switch (kategorie)



        
    {
      
       case '1': wachstum_industriestaat=0, wachstum_entwicklungsland=1.0;
       break;

       case '2': wachstum_industriestaat=1.0, wachstum_entwicklungsland=1.5;
       break;

       case '3': wachstum_industriestaat=1.5, wachstum_entwicklungsland=2.5;
       break;

       case '4': wachstum_industriestaat=2.0, wachstum_entwicklungsland=3.5;
       break;

       case '5': wachstum_industriestaat=2.5, wachstum_entwicklungsland=4.5;
       break;

    
    wachstum_gesamt= wachstum_industriestaat + wachstum_entwicklungsland;
    bevoelkerung_alt= bevoelkerung_industriestaat + bevoelkerung_entwicklungsland;
    bevoelkerung_neu= wachstum_gesamt + bevoelkerung_alt;



cout<<"Das Bewoelkerungswachstum des Industriestaates betraegt:";
cin>>wachstum_industriestaat;

cout<<"Das Bewoelkerungswachstum des Bevoelkerungslandes betraegt:";
cin>>wachstum_entwicklungsland;

cout<<"Die neue Gesamtbevoelkerung betraegt:";
cin>>bevoelkerung_neu;
}
}
                  
    
    

    
        

    
default: "Sie haben eine ungueltige Kategorie gewählt! Bitte wählen Sie erneuert!";

cout<<"Weiter? j/J = Ja n/N = Nein";
cin>>taste;    
    
                    

  

while (taste=='j' || taste=='J');

}


also wenn ich die Klammer woanderst hinsetzte, als nach dem default, dann bekomme ich Fehlermeldungen.

Dieser Post wurde am 08.04.2005 um 18:11 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.04.2005, 17:19 Uhr
Th



ich meinte so

C++:
int main ()
{  
    char kategorie, taste;

    float industriestaat, entwicklungsland, wachstum_industriestaat, wachstum_entwicklungsland, wachstum_gesamt, bevoelkerung, bevoelkerung_industriestaat, bevoelkerung_entwicklungsland, bevoelkerung_alt, bevoelkerung_neu
    ,bevoelkerung_gesamt;

do
{  
    cout <<"Geben Sie die Einwohnerzahl des Industriestaates ein:";
    cin>>bevoelkerung_industriestaat;
        
    cout <<"Geben Sie die Bevoelkerung des Entwicklungslandes ein:";
    cin >>bevoelkerung_entwicklungsland;
    
    wachstum_industriestaat = bevoelkerung_industriestaat*wachstum_industriestaat/100;
    wachstum_entwicklungsland = bevoelkerung_entwicklungsland*wachstum_entwicklungsland/100;    

    cout <<"Geben Sie eine Kategorie  von 1 - 5 ein:";
    cin >> kategorie;

   switch (kategorie)
   {
     case '1': wachstum_industriestaat=0, wachstum_entwicklungsland=1.0;
     break;

     case '2': wachstum_industriestaat=1.0, wachstum_entwicklungsland=1.5;
     break;

     case '3': wachstum_industriestaat=1.5, wachstum_entwicklungsland=2.5;
     break;

     case '4': wachstum_industriestaat=2.0, wachstum_entwicklungsland=3.5;
     break;

     case '5': wachstum_industriestaat=2.5, wachstum_entwicklungsland=4.5;
     break;

     default: "Sie haben eine ungueltige Kategorie gewählt! Bitte wählen Sie erneut!";
                 continue;
   }

   wachstum_gesamt= wachstum_industriestaat + wachstum_entwicklungsland;
   bevoelkerung_alt= bevoelkerung_industriestaat + bevoelkerung_entwicklungsland;
   bevoelkerung_neu= wachstum_gesamt + bevoelkerung_alt;

   cout<<"Das Bewoelkerungswachstum des Industriestaates betraegt:";
   cin>>wachstum_industriestaat;

   cout<<"Das Bewoelkerungswachstum des Bevoelkerungslandes betraegt:";
   cin>>wachstum_entwicklungsland;

   cout<<"Die neue Gesamtbevoelkerung betraegt:";
   cin>>bevoelkerung_neu;

   cout<<"Weiter? j/J = Ja n/N = Nein";
   cin>>taste;

}while (taste=='j' || taste=='J');

}


Dieser Post wurde am 08.04.2005 um 17:23 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.04.2005, 20:46 Uhr
Snopex



Oke danke

Das mit der while funktion klappt jetzt.. d.h. ich bekomme in DOS die Auswahlmöglichkeit
für Ja oder Nein. Dies kommt aber allerdings vor der Berechnungsausgabe. Es kommt nicht mal ein cout von :

cout<<"Das Bewoelkerungswachstum des Industriestaates betraegt:";
cin>>wachstum_industriestaat;

cout<<"Das Bewoelkerungswachstum des Bevoelkerungslandes betraegt:";
cin>>wachstum_entwicklungsland;

cout<<"Die neue Gesamtbevoelkerung betraegt:";
cin>>bevoelkerung_neu;

Was kann ich da jetzt noch machen? Muss ich evtl. noch die Rechnungen oder das die couts woanders hin platzieren???



Wenn du mir dabei noch helfen könntest wäre ich soweit fertig...




Bedanke mich schon mal für die schnelle und gut Hilfeleistung. Bist große Spitze
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.04.2005, 10:23 Uhr
Th



Sorry, am WE war ich nicht online.
Ich sehe jetzt nur noch bei default einen Fehler, nämlich daß ein cout fehlt, also

C++:
default: cout << "Sie haben eine ungueltige Kategorie gewählt! Bitte wählen Sie erneut!";
                 continue;


Oh jetzt seh ich den Fehler, am Ende müssen ja die Daten mit cout ausgegeben werden, nicht eingelesen werden, also

C++:
   cout<<"Das Bewoelkerungswachstum des Industriestaates betraegt:";
   cout<<wachstum_industriestaat;

   cout<<"Das Bewoelkerungswachstum des Bevoelkerungslandes betraegt:";
   cout<<wachstum_entwicklungsland;

   cout<<"Die neue Gesamtbevoelkerung betraegt:";
   cout<<bevoelkerung_neu;


So jetzt sollte es klappen...

Außerdem solltest du demnächst dein Programm etwas mehr strukturieren,
als Aufgabe könntest du mal daraus eine Klasse erstellen, in der du eine Eingabe-, eine Berechnungs- und eine Ausgabefunktion (Methode) erstellst.
Wenn du das hinkriegst, dann bist du auf dem besten Wege zu einem guten C++ Programmierer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: