(C++) Problem mit ner Schleife



  • Hi!

    Kann mir einer sagen warum diese schleife nur 1 mal durchlaufen wird wenn w=2.5 und m=4 ist.

    if (m>w)
                  {
                      w=m-w;
                      cout<<endl<<"Rueckgabe: "<<w<<endl<<endl;
                      w=w*10;
                      do
                      {
                      if (w>=20)
                      {
                          w=w-20;
                          n=n+1;
                          cout<<w<<endl;
                      }
                      else
                      {
                          if (w>=10)
                          {
                              w=w-10;
                              o=o+1;
                              cout<<w<<endl;
                          }
                          else
                          {
                              if (w>=5)
                              {
                                  w=w-5;
                                  p=p+1;
                                  cout<<w<<endl;
                              }
                              else
                              {
                                  if (w>=2)
                                  {
                                      w=w-2;
                                      q=q+1;
                                      cout<<w<<endl;
                                  }
                                  else
                                  {
                                      if (w>=1)
                                      {
                                          w=w-1;
                                          r=r+1;
                                          cout<<w<<endl;
                                      }
                                  }
                              }
                          }
                      }
                  }
                  while(w=='0');
                  cout<<n<<" x 2.00 Euro"<<endl;
                  cout<<o<<" x 1.00 Euro"<<endl;
                  cout<<p<<" x 0.50 Euro"<<endl;
                  cout<<q<<" x 0.20 Euro"<<endl;
                  cout<<r<<" x 0.10 Euro"<<endl;
                  }
                  else
                  {
                      w=0;
                  }
                  }
                  while (w=='0');
    
              }
    


  • bist du eigentlich blöd?!?!?!
    so ein scheiß code!!! 😮 😮 😮 😡 😡 😡 😮 😮



  • den find ich auch nicht gut muss ich aber leider füre schule machen!!



  • Die Schule schreibt dir bestimmt nicht den Programmierstil vor.



  • @blind : <Headhunter>s Aussagen darfst du getrost ignorieren.... der echte
    Headhunter ist bestimmt eingeloggt 😉

    Zu deiner Schleife: der Typ von w wäre schon noch spannend... denn entweder
    kannst du dein Char nicht auf 2.5 setzen (weil ganzzahl), oder die
    Bedingung (w=='0') ist unsinnig, weil du ein gleitkommatyp mit einem Char
    vergleichst...
    Da ich eher letzteres annehme, wirst du aber niemals mehr als einen durchlauf
    haben, denn der double wird garantiert nie genau 49 sein (49 == '0')...

    Übrigens ist das kein Konsolenproblem.. eher ANSI...

    [ Dieser Beitrag wurde am 06.02.2003 um 19:14 Uhr von Solaris'dUKe editiert. ]



  • Keine Sorge, ist nicht der richtige Headhunter. Aber einer der nach seinem Kopf jagt...

    Hat aber wirklich mehr mit ISO-C++ zu tun. Dort verschiebe ich dich jetzt auch hin.

    Edit: C++, nicht C :).

    MfG SideWinder

    [ Dieser Beitrag wurde am 06.02.2003 um 19:19 Uhr von SideWinder editiert. ]


Anmelden zum Antworten