Der Code kompiliert ordnungsgemäß, aber jedes Mal, wenn ich es ausführe, wird es das Programm nicht ordnungsgemäß ausführen.C Programm fragt nach der richtigen Nummer
Wenn ich ein # kleiner als 23 setze, fragt es mich immer noch, es erneut zu versuchen. Wenn ich dieselbe Nummer zum zweiten Mal einstelle, funktioniert es.
Wenn ich eine größere Zahl als 23 setze, fragt es mich immer wieder zu versuchen.
#include <stdio.h>
#include <cs50.h>
int main(void)
{
int height;
printf("What is the height of the pyramid?\n");
height = get_int();
do {
printf("The pyramid cannot be higher than 23 feet!\n");
printf("Try again!\n");
printf("What is the height of the pyramid?\n");
height = get_int(); }
while (height > 23);
if (height <= 23) {
printf("The height of the pyramid is %d feet high!\n", height);
}
}
Sie verwenden eine 'do..while()' -Schleife ... es wird den Körper einmal durchlaufen, bevor Sie die Schleifenbedingung überprüfen. Probieren Sie stattdessen eine normale 'while()' - Schleife aus. – Dmitri
Vergiss nicht, dass Pyramiden keine negativen Höhen haben können, und Pyramiden mit einer Höhe von Null sind so etwas wie ein philosophisches Rätsel. –
@ JonathanLeffler: aber das sind die einfachsten zu bauen! – usr2564301