ich habe ein Programm geschrieben und soweit funktioniert auch alles außer am Ende die Abfrage zur Wiederholung des Programms.
Gebe ich am Ende 'j' ein, springt der Cursor im Terminal lediglich eine Zeile nach unten ohne dass das Programm endet.
Zudem ist mir aufgefallen dass das Programm sich nur wiederholt, wenn ich eine gerade Anzahl an 'j' eingebe und bei einer ungeraden Anzahl, der Cursor nur nach unten springt und eine weitere Eingabe verlangt.
Ich möchte jedoch, dass lediglich nur ein 'j' vom Benutzer eingegeben werden muss.
Anbei der Code.
Ich hoffe ihr könnt mir helfen.
Vielen Dank im Voraus.
Code: Alles auswählen
// Potenzierer
// Aufg3-1
#include <stdio.h>
#include <stdlib.h>
i main (void)
{
int basis, nbasis, potenz, npotenz;
char weiter;
do
{
printf("\nPotenzierer\n\nBasis eingeben: ");
scanf("%d", &basis);
printf("\nPotenz >= 0 eingeben: ");
scanf("%d", &potenz);
if (potenz < 0)
{
do
{
printf("\nFalsche Eingabe!\nPotenz >= 0 eingeben: ");
scanf("%d", &potenz);
}
while (potenz < 0);
}
if (potenz == 0)
{
printf("\n%d ^ %d = 1\n\n", basis, potenz);
}
else
{
nbasis = basis;
npotenz = potenz;
do
{
nbasis = nbasis * basis;
npotenz = npotenz - 1;
}
while (npotenz != 1);
printf("\n%d ^ %d = %d\n\n", basis, potenz, nbasis);
}
printf("\nMöchten Sie eine weitere Zahl potenzieren? (j/n) \n\n");
do
{
scanf("%c", &weiter);
}
while ( getchar() != '\n' );
}
while (weiter == 'j' || weiter == 'J');
return 0;
}