Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C++ - jos jedno pocetnicko pitanje...

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++ - jos jedno pocetnicko pitanje...

[ Pregleda: 4869 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

npetrov
Nenad Petrovic
Istra

Član broj: 47237
Poruke: 6
*.cmu.carnet.hr.



Profil

icon C++ - jos jedno pocetnicko pitanje...07.02.2005. u 14:08 - pre 232 meseci
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
 
Odgovor na temu

Ramirez

Član broj: 13160
Poruke: 318
*.ptt.yu.



Profil

icon Re: C++ - jos jedno pocetnicko pitanje...07.02.2005. u 15:03 - pre 232 meseci
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!";
}
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.ppp-bg.sezampro.yu.



+13 Profil

icon Re: C++ - jos jedno pocetnicko pitanje...07.02.2005. u 15:08 - pre 232 meseci
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...
 
Odgovor na temu

Marko Stankovic

Član broj: 11
Poruke: 306
212.200.23.*



Profil

icon Re: C++ - jos jedno pocetnicko pitanje...07.02.2005. u 15:30 - pre 232 meseci
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
I drink to make other people interesting.
 
Odgovor na temu

npetrov
Nenad Petrovic
Istra

Član broj: 47237
Poruke: 6
*.cmu.carnet.hr.



Profil

icon Re: C++ - jos jedno pocetnicko pitanje...07.02.2005. u 16:38 - pre 232 meseci
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:))))))))))
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++ - jos jedno pocetnicko pitanje...

[ Pregleda: 4869 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.