Intrukcja If i 3 próby za pomocą funkcji "goto"

0

Witam, jestem właśnie na zajęciach z programowania ,z czego nasz nauczyciel jest na nas zły bo nie przyszliśmy na jedne zajęcia i teraz siedzimy i nie wiemy jak zrobić funkcji warunkowej if do 3 prób. Tyle mamy

//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------

int main ()
{
int liczba;

printf("podaj liczbe z zakresu od 1-10:");
scanf("%d",&liczba);

if (liczba == 5)

         printf("wygrales! Gratulacje!");

else
{
if (liczba>5)
printf("Podales za duza liczbe!");
else
printf("Podales za mala liczbe!");
}

getch();

    return 0;

}

co z tym możemy zrobić ,aby móc przeprowadzić tylko 3 próby ? Proszę o jak najszybsza odpowiedź.

0

Coś w rodzaju:

unsigned int proba = 0;

while (proba < 3)
{
 // tutaj ten główny kod (to "podaj liczbe", if-y i całą tę resztę)
 proba++;
}
0

goto nie jest funkcją, lecz instrukcją.

0

Z użyciem goto mogłoby to wyglądać tak, jak poniżej. Można też napisać pętlę, z której wychodzi się za pomocą goto, ale w zasadzie jeśli nie jest to konieczne, można program wykonać na samych pętlach. Można zastosować break do wyjścia z pętli, albo napisać odpowiednie warunki (np. while(proba<3 && liczba!=5)).

#include <stdio.h>

int main(void)
 {
  int liczba;
  unsigned int proba=0;
  poczatek:
  printf("Podaj liczbe z zakresu od 1-10:");
  scanf("%d",&liczba);
  if (liczba == 5)
   {
    printf("Wygrales! Gratulacje!\n");
    return 0;
   }
  else
   {
    if (liczba>5)
     printf("Podales za duza liczbe!\n");
    else
     printf("Podales za mala liczbe!\n");
   }
  proba++;
  if(proba<3)
   goto poczatek;
  return 0;
 }
0

bez goto i przekombinowywania , sorki za ew błędy w wcięciach ale drobiałem na szybko while-a.

#include <stdio.h>


//---------------------------------------------------------------------------


int main ()
{
int liczba, proba =0 ;

while (proba<3)
    {

    printf("podaj liczbe z zakresu od 1-10:");
    scanf("%d",&liczba);

    if (liczba == 5)

               {
                   printf("wygrales! Gratulacje!");
                   proba =4;
               }
    else
            {
                    if (liczba>5)
                        printf("Podales za duza liczbe!");
                    else
                        printf("Podales za mala liczbe!");
            }

    //getch();
    }
        return 0;
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1