Dövrün vaxtından tez dayandırılması
Bəzən dövrün sonunu gözləmədən onu vaxtından tez dayandırmaq lazım gəlir. Bunun üçün xüsusi break operatorundan istifadə edirlər. Bəzən də dövrdən çıxmayaraq cari dövrü dayandırıb, növbəti addıma keçmək lazım gəlir. Bunun üçün continue operatorundan istifadə edirlər.
Misal. Klaviaturadan 2 tam ədəd daxil etməklə və bu iki ədədin bir-birinə bölməklə qalıq və qisməti hesablayıb ekrana çıxartmaq tələb olunur. Proqram dövrdə işləməlidir, yəni 2 ədədi daxil edib, hesabatı aparıb, nəticəni ekrana çıxardıb, yenə də ədədləri daxil etməlidir vəs.Əgərhərikiədədsıfırabərabərdirsə,ondaproqramıdayandırmaqlazımdır.Əgər
yalnız 2-ci ədəd sıfıra bərabərdirsə, onda proqram səhv haqqında məlumat verməlidir.
Bu məsələnin incəliyi ondan ibarətdir ki, dövrə daxil olarkən bilmək olmur cari sikl axira kimi yerinə yetiriləcəkdir, ya yox. Lazımı informasiya klaviaturadan verilənləri daxil edərkən əldə olunur. Ona görə də bu məsələdə sonsuz dövrdən istifadə olunur: while (1){
…}(bildiyinizkimi,Cdilində1doğruşərtsayılır).Bucürədövrdənçıxmaqüçünxüsusi
break operatorundan istifadə edilir
Eyni zamanda, əgər ikinci ədəd sıfır olarsa, onda dövrün qalan hissəsini yerinə yetirmək lazım deyil. Bundan ötrü continue operatoru nəzərdə tutulub.
#include #include main ()
{
int A, B;
while (1 ) // sonsuzdövr
{
printf ( “\nIki ededi daxil edin :” );
scanf ( “%d%d”, &A, &B );
if ( A == 0 && B == 0 ) break; // dövrdən çıxış if ( B == 0 )
{ printf ( “Sifira bolme! “ );
continue; // vaxtından tez dövrün növbəti addımınakeçid
}
printf ( “Qismet %d qaliq %d”, A/B, A%B );
}
getch ();
}
Əgər dövr fasiləsiz işləməlidir və müəyyən şərt əsasında öz işini dayandırmalıdır, onda daxilində break operatoru olan sonsuz dövrdən istifadə etməklazımdır.
while ( 1 ) {
…
if ( cixis_uchun_shert) break;
....
}
|