informatik123
Cadet 1st Year
- Registriert
- Mai 2022
- Beiträge
- 9
Hallo, ich programmiere noch nicht so lange und habe mich aber leider an einer stelle festgeklemmt und würde mich freuen wenn mir jemand da raus zukommen helfen könnte. Ich schicke mein Code am besten hier rein damit alles nachvollziehbar sein kann.
#include <stdio.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
#define STDIN_LEEREN {setvbuf (stdin,NULL,_IONBF,0); \
setvbuf(stdin,NULL,_IOFBF,BUFSIZ);}
#define WARTEN_AUF_ENTER {STDIN_LEEREN; getchar();}
int main()
{
float SW;
float PZ;
printf("=== Programmbeginn ==\n\n");
printf("Willkommen bei der Skimeisterschaft in Ilheim \n\n");
do {
printf("Geben Sie die erreichte Sprungweite ein: ");
scanf("%f", &SW);
if (SW > 0.0)
printf("Ihre eigegebene Sprungweite ist %.2f \n", SW);
else if (SW <= 0.0)
{
printf("Geben Sie ein Sprungweite ein das groesser als 0.0 ist.\n\n");
}
} while (SW < 0.0);
if ( SW >= 110.0)
{
PZ = 60 + ((SW - 110.0)*2)*0.9;
}
else if (SW < 110.0)
PZ = 60 - ((110.0 - SW)*2)*0.9;
printf("Die erreichte Punktzahl %2.f \n\n", PZ);
// und zwar würde ich gerne in dieser Schleife die HN Werte zwischen 3 und 20 eingeben und danach aus der Schleife rausgehen bzw. weiter schreiben, das Problem ist nur obwohl ich für alle Haltungsnoten die Werte zwischen 3 und 20 eingebe, lässt er mich nicht aus der Schleife raus.
Als nächsten Schritt würde ich natürlich jede HN Zahl überprüfen ob dieser im diesem Bereich liegt oder nicht und dann ggf. den Nutzer dazu auffordern die Zahl im dem Bereich anzugeben, falls jemand da dazu eine Idee hätte wie man es machen könnte, wäre das super cool, aber in erster Linie würde ich schon gerne einfach ordentlich die Schleife verlassen zu wollen.
printf("Geben Sie bitte die 5 Haltungsnoten ein \n");
double HN[5];
int i;
do
{
printf("Die Haltungsnoten muessen wischen 3 und 20 sein werden! \n");
for(i=0; i<5; i++)
{
printf("Die %d Haltungsnote : ", i+1);
scanf("%lf", &HN);
}
}while((HN < 3) || (HN > 20));
ich danke euch schon mal im Voraus.
Mfg
Linas
#include <stdio.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
#define STDIN_LEEREN {setvbuf (stdin,NULL,_IONBF,0); \
setvbuf(stdin,NULL,_IOFBF,BUFSIZ);}
#define WARTEN_AUF_ENTER {STDIN_LEEREN; getchar();}
int main()
{
float SW;
float PZ;
printf("=== Programmbeginn ==\n\n");
printf("Willkommen bei der Skimeisterschaft in Ilheim \n\n");
do {
printf("Geben Sie die erreichte Sprungweite ein: ");
scanf("%f", &SW);
if (SW > 0.0)
printf("Ihre eigegebene Sprungweite ist %.2f \n", SW);
else if (SW <= 0.0)
{
printf("Geben Sie ein Sprungweite ein das groesser als 0.0 ist.\n\n");
}
} while (SW < 0.0);
if ( SW >= 110.0)
{
PZ = 60 + ((SW - 110.0)*2)*0.9;
}
else if (SW < 110.0)
PZ = 60 - ((110.0 - SW)*2)*0.9;
printf("Die erreichte Punktzahl %2.f \n\n", PZ);
// und zwar würde ich gerne in dieser Schleife die HN Werte zwischen 3 und 20 eingeben und danach aus der Schleife rausgehen bzw. weiter schreiben, das Problem ist nur obwohl ich für alle Haltungsnoten die Werte zwischen 3 und 20 eingebe, lässt er mich nicht aus der Schleife raus.
Als nächsten Schritt würde ich natürlich jede HN Zahl überprüfen ob dieser im diesem Bereich liegt oder nicht und dann ggf. den Nutzer dazu auffordern die Zahl im dem Bereich anzugeben, falls jemand da dazu eine Idee hätte wie man es machen könnte, wäre das super cool, aber in erster Linie würde ich schon gerne einfach ordentlich die Schleife verlassen zu wollen.
printf("Geben Sie bitte die 5 Haltungsnoten ein \n");
double HN[5];
int i;
do
{
printf("Die Haltungsnoten muessen wischen 3 und 20 sein werden! \n");
for(i=0; i<5; i++)
{
printf("Die %d Haltungsnote : ", i+1);
scanf("%lf", &HN);
}
}while((HN < 3) || (HN > 20));
ich danke euch schon mal im Voraus.
Mfg
Linas