16.1.2012 dvije godine postojanja naših stranica

Naredba continue

Ponekad je potrebno preskočiti dio bloka naredbi do kraja programske petlje pa nakon toga petlju nastaviti. U tu se svrhu rabi naredba continue.
Preporuča se umjesto naredbe continue rabiti naredbe grananja jer nepažljiva uporaba naredbe continue može izazvati beskonačnu petlju.
 

 

 
Zadatak:

Treba unijeti 10 prirodnih brojeva, pa ih zbrojiti. U slučaju unosa broja 5, ispisuje se poruka o unosu broja 5, preskače se dio bloka do kraja programske petlje pa se nakon toga petlja nastavlja. Na kraju se ispisuje broj ispravno unesenih brojeva te njihov zbroj.

Ispis neka bude oblika:

 

Upisi broj:

Upisi broj:

...

Uneseno je ... ispravnih brojeva. Njihov je zbroj....

Ako se unese broj 5, ispisat će se poruka:

Unesen je broj 5. On se ne pribraja i ne prebrojava.

 

 

  • Sve dok uvjet naredbe if nije ispunjen, if(A==5), blok naredbi petlje for se ponavlja. Kada se uvjet ispuni, preskače se dio bloka do kraja programske petlje pa se nakon toga petlja nastavlja.

Rješenje:

 

#include <iostream>

using namespace std;

int main ()

{

      int n,A,zbroj,broj;

      zbroj=0;

      broj=0;

      for (n=1; n<=10; n++)

      {

            cout <<"Upisi broj:";

            cin>>A;

            if (A==5)

            {

                  cout<<"Unesen je broj 5. On se ne pribraja i ne prebrojava."<<endl;

                  continue;

            }

            broj=broj+1;

            zbroj=zbroj+A;

       }

        cout<<endl<<"Uneseno je "<<broj<<" ispravnih brojeva. Njihov je zbroj "<<zbroj<<endl;

        return 0;

}

 

Rezultat:

 

Upisi broj:4

Upisi broj:8

Upisi broj:2

Upisi broj:5

Unesen je broj 5. On se ne pribraja i ne prebrojava.

Upisi broj:1

Upisi broj:3

Upisi broj:5

Unesen je broj 5. On se ne pribraja i ne prebrojava.

Upisi broj:3

Upisi broj:5

Unesen je broj 5. On se ne pribraja i ne prebrojava.

Upisi broj:7

Uneseno je 7 ispravnih brojeva. Njihov je zbroj 28.