[C/C++] do while schleife

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von faktory0, 29. Mai 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 29. Mai 2007
    do while schleife

    Hey ho
    ich hab folgendes Problem:
    Ich muss ein Programm schreiben das prüft ob eine Zahl zwischen 5 und 50 ist und davon die Fakultät ausgeben.
    z.B. Fakultät von "5" --> 1*2*3*4*5= 120
    oder von "7" --> 1*2*3*4*5*6*7= 5040

    Joa so sieht mein Programm aus, es gibt alle Fakultäten bis 30 oder so aus, bei 40 usw kommt 0 raus....wie geht das bitte....ps ich habs mit "int" und "float" probiert

    Code:
    //Fakultät.cpp
    
    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    int main ()
    {
     float zahl,zaehler,fakultaet;
     zaehler=1;
     fakultaet=1;
     
     cout<<"Geben Sie eine Zahl zwischen 5 und 50 ein --> ";
     cin>>zahl;
     
     if (zahl<5 || zahl>50)
     {
     cout<<"Die Zahl liegt nicht zwischen 5 und 50";
     }
     
     else
     {
     do
     {
     zaehler++;
     fakultaet*=zaehler;
     }
     
     while (zaehler!=zahl);
     
     cout<<"Die Zahl "<< zahl <<" hat die Fakulaet "<< fakultaet <<"";
     }
    
     cout<<"\nProgrammende!";
     
     getch ();
     
    }
     
  2. 29. Mai 2007
    AW: do while schleife

    du könntest versuchen, fakultaet als integer zu deklarieren und nicht als float.

    int fakultaet;
     
  3. 29. Mai 2007
    AW: do while schleife

    @Ktm123
    Also ich bin mir zwar nicht sicher, aber ich glaube, dass die Zahlen zu groß für die Datentypen sind und der Wert dann irgendwie einfach entfällt.
     
  4. 29. Mai 2007
    AW: do while schleife

    tatsächlich float geht "nur" bis 3,4 *10^38
    ich hab jetz "double" genommen des geht bis 1,7*10^308

    closed​
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.