[ npetrov @ 07.02.2005. 14:08 ] @
Ljudi, prvo da se zahvalim svima jos jednom za brze odgovore na prijasnje pitanje...
Ali da predem na sadasnji problem: dakle imam kod koji izgleda otprilike ovako:

Code:

#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;

void sest();
void sedam();
void izbor();                                             

int main()
{
  char izbor='0';
  while(izbor!='4'){
  system("cls");
  cout<<"--------------------------------------------------------------------\n";
  cout<<"            Program za slucajno izvlacenje loto brojeva \n";
  cout<<"--------------------------------------------------------------------\n";
  cout<<"\n\n\n\t Izbornik:\n\n";
  cout<<"\t1-6/45\n";
  cout<<"\t2-7/39\n";
  cout<<"\t3-Kombinacija\n";
  cout<<"\t4-Izlaz\n";
  cout<<"Oaberi opciju:";
  cin>>izbor;
  if (izbor=='1')
        cout<<"Odabrali ste brojeve 6/45";
  else if (izbor=='2')
        cout<<"Odabrali ste brojeve 7/39";
  else if (izbor=='3')
        cout<<"Odabrali ste opciju 3";
  else if (izbor=='4')
        cout<<"Izasli ste iz programa, CYA";
  else
        cout<<"Krivi unos";



Dakle, imam pocetno sucelje te sada ne znam kako da postavim petlju da kada korisnik izabere neku odredenu opciju npr. 1 ili 2 da skoci na neku odredenu petlju, jer imam 3 razlicite petlje za izbor 1 2 i 3. Ako mi ikako neko moze pomoci....
I please nemojte se ljutit zbog ovakvih pitanja, svi mi moramo naucit.... TNX
[ Ramirez @ 07.02.2005. 15:03 ] @
koristi:

Code:

switch(izbor)
{
case 1: 
    cout<<"izabrali ste blabla";
    //petlja koja generise broj ili koji kod vec imas
case 2:
    //sledeci slucaj
default:
    cout<<"pogresan unos!";
}
[ japan @ 07.02.2005. 15:08 ] @
ili, ako hoces bas ovako kako si napisao, onda:
Code:

  cin>>izbor;
  if (izbor=='1') {
        cout<<"Odabrali ste brojeve 6/45";
        sest();
  }
  else if (izbor=='2') {
        cout<<"Odabrali ste brojeve 7/39";
        sedam();
  }
  else if (izbor=='3') {
        cout<<"Odabrali ste opciju 3";
        izbor();
  }


mada je je bolje da koristis switch, kako rece covek...
[ Marko Stankovic @ 07.02.2005. 15:30 ] @
u takvim situacijama se koristi naredba switch. Znaci u tvom slucaju bi to bilo nesto ovako:
Code:

...
switch(izbor){
    case '1': 
           cout<<"Odabrali ste brojeve 6/45";
           break;
    case '2':
           cout<<"Odabrali ste brojeve 7/39";
           break;
    case '3':
           cout<<"Odabrali ste opciju 3";
           break;
    case '4':
           cout<<"Izasli ste iz programa, CYA";
           break;
    default:
           cout<<"Krivi unos";
}
...


Znaci sintaksa naredbe je prilicno prosta. U zagradi stavljas promenljivu koju ispitujes i onda izmedju {} stavljas slucajeve koji se mogu desiti, u tvom primeru su to case '1' itd. Obrati paznju da odredjeni slucaj moras da zavrsis sa break zato sto kada se krene od jednog slucaja izvrsava se i sve posle toga, zato posle naredbi koje su nam bitne za odredjeni slucaj mi stavimo break naredbu koja skace na kraj switch-a. Takodje slucaj default se izvrsava kad god izbor nije jednak nekoj od navedenih vrednosti.

E sada posto ti zelis da izvrsavas odredjenu petlju za odredjeni slucaj, imas dva nacina da odradis to. Prvi je nacin da stavis te for petlje u switch naredbu u okviru odredjenog slucaja, a drugi je da napravis funkcije od svake for petlje i da onda u okviru switcha samo pozoves odgovarajucu funkciju. Recimo dacu ti neki primer:

Code:

...

switch(izbor){
    case '1': 
           cout<<"Odabrali ste brojeve 6/45";
           for(int i=0;i<6;i++) cout<< rand()%45+1;
           break;
    case '2':
           cout<<"Odabrali ste brojeve 7/39";
           for(int i=0;i<7;i++) cout<< rand()%39+1;
           break;
    case '3':
           cout<<"Odabrali ste opciju 3";
           break;
    case '4':
           cout<<"Izasli ste iz programa, CYA";
           break;
    default:
           cout<<"Krivi unos";
           
}

....



Naravno ti formatiraj izlaz kako tebi odgovara i takodje mozes da koristis neki drugi algoritam za nalazenje slucajnih brojeva. Ako imas jos puno stvari koje radis sem ove for petlje onda je mozda zgodnije da to sve spucas u jednu funkciju i onda pozivas samo nju sa odgovarajucim argumentima, da ne bi morao da radis dve funkcije jer je algoritam potpuno isti samo se razlikuje broj puta koliko ide for petlja i po kom modulu delis.

Naravno obrati paznju i kada nije unesen dobar izbor onda ces verovatno pozeleti da izadjes iz programa ili da ponovis unos.

pozdrav

update:
uh ne mogu da verujem da sam pola sata kucao ovo :) pretekli me svi zivi
[ npetrov @ 07.02.2005. 16:38 ] @
Puno hvala na trudu oko tog kucanja... :))))
Sad cu se malo pozabaviti sa time i onda bi program trebao biti gotov, pa ako nekoga bude zanimalo kako izgleda neka se javi....

Ljudi hvala, super ste, nisam jos naletio na ovako dobar sajt, vidi se da smo svi sa balkana:))))))))))