Ich möchte, dass dieser Code einen Benutzer auffordert, ein Jahr einzugeben und dann zu sagen, ob es ein Schaltjahr ist. Dann fragen Sie sie, ob sie ein weiteres Jahr überprüfen möchten. Im Moment stellt es die erste Frage in Ordnung und gibt die Antwort zurück.Scanf und While Loop wartet nicht auf Benutzereingabe
Das Programm druckt dann die nächste Frage, aber wartet nicht für die Eingabe und verlässt die while-Schleife. Ich habe nach einer Resolution zu den anderen Posts gesucht und dachte, ich hätte sie vielleicht, aber es macht dasselbe. Könnte jemand mit etwas helfen, was ein Programm sein sollte, um etwas zu schreiben und etwas Zeit zu verbringen, die jetzt zu Kopfschmerzen geworden ist? Ich habe viel komplexere Programme geschrieben und dieses hat mich frustriert. Ich hoffe, ich war klar. Sehr geschätzt!
//Check if the year is a leap year
#include <stdio.h>
#define YES 1
#define NO 0
void leapyear()
{
int year;
printf("Enter a year: \n");
scanf("%i", &year);
int x = year % 4;
int answer;
if (x == 0)
{
answer = YES;
}
else
{
answer = NO;
}
if (answer == YES)
{
printf("The year %i is a leap year.\n", year);
}
else
printf("The year %i is not a leap year.\n", year);
}
int main (void)
{
char again;
printf("Would you like to check if a year is a leap year? y or n\n");
scanf("%c", &again);
while(again == 'y')
{
leapyear();
printf("Would you like to check if a year is a leap year? y or n\n");
scanf("%c", &again);
}
return 0;
}
Übrigens ist Ihre Methode zur Überprüfung des Schaltjahres falsch. – sjsam
Danke sjsam. Ich war mir dessen bewusst, ich raste gerade durch und tief und siehe, ich war davon verzehrt! – rayzor