Jak w temacie. Problem sprawia funkcja scanf. Oto fragment kodu:
Program się ładnie kompiluje (pod MS Visual C++ (niestety tylko taki kompilator mamy na laborkach)), ale z wykonaniem gorzej.
Efekt uruchomienia programu (czcionką pogrubioną napisałem to, co ja wprowadzam z klawiatury, kursywą to, co wyświetla komputer):
Poczatek programu
Podaj x 10
Podaj y
Podaj z 20
x=10y=0z=20
Problem polega na tym, że wczytywanie zmiennej y jest w ogóle pomijane, to znaczy program nie zatrzymuje się w tym punkcie, żeby mi pozwolić wprowadzić coś z klawiatury. Jeżeli wykonam program w ten sposób:
Poczatek programu
Podaj x 10 15
Podaj y
Podaj z 20
x=10y=15z=20
To nie ma problemu, ale nie o to chodzi... Czemu ten drugi scanf nie dziala jak trzeba??
Najchętniej napisałbym to od nowa, stosując wygodniejsze, łatwiejsze i - przede wszystkim - działające cin i cout, ale to ma być w 'klasycznym' C a nie w C++...
Zamykam. - arnoldziq
int x=0,y=0,z=0;
printf ("Poczatek programu");
printf ("\nPodaj x "); scanf ("%d",&x);
printf ("\nPodaj y "); scanf ("%d",&y);
printf ("\nPodaj z "); scanf ("%d",&z);
printf ("x=%d\ny=%d\nz=%d",x,y,z);
Program się ładnie kompiluje (pod MS Visual C++ (niestety tylko taki kompilator mamy na laborkach)), ale z wykonaniem gorzej.
Efekt uruchomienia programu (czcionką pogrubioną napisałem to, co ja wprowadzam z klawiatury, kursywą to, co wyświetla komputer):
Poczatek programu
Podaj x 10
Podaj y
Podaj z 20
x=10y=0z=20
Problem polega na tym, że wczytywanie zmiennej y jest w ogóle pomijane, to znaczy program nie zatrzymuje się w tym punkcie, żeby mi pozwolić wprowadzić coś z klawiatury. Jeżeli wykonam program w ten sposób:
Poczatek programu
Podaj x 10 15
Podaj y
Podaj z 20
x=10y=15z=20
To nie ma problemu, ale nie o to chodzi... Czemu ten drugi scanf nie dziala jak trzeba??
Najchętniej napisałbym to od nowa, stosując wygodniejsze, łatwiejsze i - przede wszystkim - działające cin i cout, ale to ma być w 'klasycznym' C a nie w C++...
Zamykam. - arnoldziq