Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Tez-tez rast gəlinən səhvlər




1. Münasibət ifadəsindən sonra nöqtə vergül (;) qoymaq ol­maz:­

if (num% 2 ==0); // buradanöqtə vergül yazmaq olmaz!

cout<<” reqem cutdur”<<endl;

2. Bir neçə şərt operatoru üçün sistem mötərizələri vacibdir:

if (num %2==0)

cout<<” reqem cutdur”<<endl;

cout<<” Reqem cut deyil”<<endl;

Əgər istifadəçi tək ədəd, məsələn, 13 daxil edərsə, onda

cout<<” reqem cutdur”

instruksiyası işləməyəcək, ona görə ki, münasibət ifadəsinin qiy­məti yalana bərabərdir. Lakin növbəti

”Reqem cut deyi­l”­­­ ­

simvol sətri təsvir olunacaq. Ona görə ki,

cout <<”Reqem cut deyil”

instruksiyasışərt ope­ra­toruna aid deyil.

Misal 4.3.

#include <cstdlib>

#include <iostream>

#include<conio.h>

using namespace std;

int main(int argc, char *argv[])

{int num;

cin>>num;

if(num%2==0)

cout<<"reqem cutdur"<<endl;

cout<<"Reqem cut deyil"<<endl;

getch();

return 0;

}

 

Əgər şərt operatorunda bir instruksiyadan ço­xu­nun yerinə ye­ti­rilməsini istəyiriksə, onda bu instruk­si­ya­ları hökmən sistem mö­tərizələri daxilinə almalıyıq:

if (num % 2 ==0)

{

cout<<” reqem cutdur”<<endl;

cout<<” Reqem tek deyil”<<endl;

}

Burada yalnız məntiqi ifadə doğruya bərabər ol­duq­­da iki ifadə yerinə yetiriləcək.

 

 

3. Bərabərlik operatoru əvəzinə mənimsətmə opera­to­ru­­nu istifadə etmək olmaz.

if (num% 2 =0) // düzgün olmayan operator!

cout<<” Reqem cut deyil”<<endl;

Nəticədə məntiqi ifadə müqayisənin nəticəsi kimi emal olun­ma­yacaq. Bunun əvəzinə o, son mənimsətmə nəticəsi olaraq mö­tərizədəki ifadəni alacaq, burada sıfır olmayan qiymət doğru, sı­­fır qiymət isə yalan hesab olunur.

4. if –siz else yoxdur!

Qeyd edək ki, else hissəsi olmayan if ola bilər, lakin bunun ək­­si ola bilməz. else hissəsi şərt operatorunun hissəsi ol­ma­lı­dır. Ona görə də if xidməti sözlü məntiqi ifadədən sonra qoyu­lan nöqtəli vergül (;) kompilyator tərəfindən səhv kimi qeyd olu­nacaq. Belə ki, sistem mötərizələri istifadə olunmurlar, if şərt operatoru isə qeyri-düzgün qoyulmuş nöqtə vergüldən ya­ra­­­nan boş operatordan sonra sona çatır. Onda cout<<”Reqem tek deyil”- instruksiyası if şərt operatorunun hissəsi deyil. Ona görə də else hissəsi də if operatorunun hissəsi olmayacaq və if -siz else kimi qiymətləndiriləcək.

if(num %2 ==0);// burada nöqtə-vergül qoymayın!

cout<<” reqem cutdur”<<endl;

else(num % 2== 1 )

cout<<” Reqem cut deyil”<<endl;

5. else xidməti sözündən sonra məntiqi ifadə (münasibət ifa­də­si) yazmayın! Qeyd edək ki, bu proqramın kompil­ya­si­ya­sı və işləmə­sin­də səhv­lərə gətirmir, səhv nəticənin alın­ma­sına sə­bəb olur:

if (num%2==0)

cout<<” reqem cutdur”<<endl;

else (num%2==1)

cout<<” Reqem cut deyil”<<endl;

Bu proqram kompilyasiya olunmayacaq və else sözündən son­ra­kı cout instruksiyası aşağıdakı səhvlə işıqlandırılacaq:

“missing ‘;’ before identifier ‘cout’ ”.

Burada cout instruksiyası ilə hər şey qaydasındadır, lakin sa­də­cə olaraq else xidməti sözündən sonra münasibət ifadəsi gələ bilməz.

6. else- dən sonra nöqtə vergül (;) qoymayın!

Bu halda da proqramın kompilyasiyası və ya işləməsi zama­nı səhv haqqında məlumat çıxarılmayacaq, lakin səhv nəticə alınacaq. Məsələn, aşa­ğı­da­kı kodda cout<<”Reqem cut deyil”; instruksiyası hət­ta daxil edilən ədəd cüt olduqda belə işləyəcək.

if (num %2 ==0)

cout<<” reqem cutdur”<<endl;

else; // burada nöqtə vergül qoymayın!

cout<<” Reqem cut deyil”<<endl;

Burada cout<<” Reqem cut deyil” instruksiyasımüna­si­bət ifa­də­sinin doğru və ya yalan qiymət almasından asılı olma­ya­raq iş­­ləyəcək, ona görə ki, cout instruksiyası indi if şərt ope­ra­to­ru­nun hissəsi deyil.

Proqramın if hissəsi üçün deyilən səhv­lər, el­se­­ if hissəsinə də aiddir.

Bundan başqa if- siz else if hissəsi ola bilməz, lakin else hissəsi olmayan bir və ya bir neçə else if hissəsi və if hissəsi ola bilər.

 





Поделиться с друзьями:


Дата добавления: 2017-01-21; Мы поможем в написании ваших работ!; просмотров: 593 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2439 - | 2195 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.