Komme nicht mehr weiter bei C (Programmiersprache)

Hallo
habe ein Problem in C und zwar wie kann man abfragen ob eine Variable Ganzzahlig ist?

Nicht wundern warum das jetzt nicht sehr toll aussieht habe erst wenige Stunden C gehabt :wink:

Und falls es schon eine Funktion geben sollte bringt mir das nichts weil wir es ohne diese Funktion machen müssen.

Vielen Dank schon einmal im Voraus.

hier ist der Code:

#include

int main( void )

{
int zahl1=0, zahl2=0, i=1;
float erg1=0.0, erg2=0.0;

printf("Gebe 2 Zahlen ein!
");
scanf("%d %d", &zahl1, &zahl2);

      do
           {
                  i++;
                  erg1= zahl1/i;
                  erg2 = zahl2/i;

           }
      while ((int(erg1)) && (int(erg2)));

printf("Der Kleinstergemeinsamervielfacher ist: %d", i);
return 0;

}

ciaoi

Erstmal müsstest du die Eingabe von nicht ganzzahligen Werte erlauben (zahl1 und zahl2 als Float deklarieren und auch ebenso einlesen!)

Für die Überprüfung auf Ganzzahligkeit könntest du mit fmod aus der math.h verwenden, indem du dir dadurch den Rest der Division durch 1 zur Nutze machen kannst.

danke @PeeDee

habe es anderes geloest un zwar so

#include

int main( void )

{
int zahl1=0, zahl2=0, i=1, erg1=0, erg2=0;

printf("Gebe 2 Zahlen ein!
");
scanf("%d %d", &zahl1, &zahl2);

      do
           {
                  i++;
                  erg1= zahl1%i;
                  erg2 = zahl2%i;
           }
      while (!((erg1==0) && (erg2==0)));

printf("Der Kleinstegemeinsamevielfache ist: %d", i);
return 0;

}

ciao

Und das funktioniert bei dir???
Wo ist denn dein Abfangen der Eingabe von Nicht-Ganzzahlen???
Und den kleinsten gemeinsamen Vielfachen gibt das Programm auch nicht richtig aus!

Probiers mal hiermit:

#include
#include

main( void )

{
int Eingabe1=0, Eingabe2=0, i=1, erg1=0, erg2=0;
int Puffer1, Puffer2, ggt;

printf("Gebe 2 Zahlen ein!");
scanf("%d %d", &Eingabe1, &Eingabe2);

Puffer1=Eingabe1;
Puffer2=Eingabe2;

while(Puffer1!=Puffer2)
{
if(Puffer1>Puffer2) Puffer1=Puffer1-Puffer2;
if(Puffer2>Puffer1) Puffer2=Puffer2-Puffer1;
}
ggt=Puffer1;
printf("Der groesste gemeinsame Teiler ist %d", ggt);
printf("Der kleinste gemeinsame Vielfache ist %d", (Eingabe1*Eingabe2)/ggt);

getch();
return (0);
}

hmmm oehm ja wieso?

siehe oben!

Wow, welch ein Echo