Hilfestellung zum break

Skyraz00

Grünschnabel
Also, ich habe hier ein Programm das sich so oft wiederholen soll bis ich dann Null eingebe.
Das heißt ja, dass ich das mit einer do-while Schleife machen könnte.
Dann setzt ich einfach ungleich Null True und setzt dann noch einen break um das Programm zu beenden.
Genau dabei bräuchte ich nun eine kleine Hilfestellung.

C++:
#include <stdio.h>

main()
{
   int bin[32], dez, zahl;

  
   do
   {
       printf("Geben Sie eine Dezimalzahl ein:\n");
       scanf_s("%d", &dez);
       printf("\n");

       for (zahl = 0; dez > 0; zahl++)
       {
           bin[zahl] = dez % 2;
           dez = dez / 2;
       }

       for (; zahl > 0; zahl--)
       {
           printf("%d\n", bin[zahl - 1]);
       }

   }
   while (dez != 0);
   {
       if (dez == 0)
           break;
   }
   return 0;
}
 

Kalito

Erfahrenes Mitglied
und wo brauchst du genau Hilfe? Was geht den Nicht? Ich bin zwar in c/c++ nicht so fit, müsste es aber korrekterweise nicht so heißen:

C++:
do
 {
     //Dein Code

} while (dez != 0)
 

Technipion

Erfahrenes Mitglied
Hallo Skyraz00,
du willst also die Binärdarstellung einer Zahl ermitteln :)

  • do
  • {
  • //Dein Code
} while (dez != 0)

Beinahe, da fehlt nur ein Semikolon. Und natürlich muss er noch seine for-Schleife verschieben. Im Moment ist das Problem das hier:
C++:
#include <stdio.h>
main()
{
    int bin[32], dez, zahl;


    do
    {
        // Ich bin deine while-Schleife
    } while (dez != 0); // <--- die while-Schleife endet hier
   
    {
        // Ich bin ein unabhängiger Codeblock
    }
   
    return 0;
}

Du musst also nur deine if-Abfrage in deine eigentlich while-Schleife verschieben ;)

Gruß Technipion