C++ problem pri crtanju algoritma

poruka: 2
|
čitano: 5.711
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
offline
C++ problem pri crtanju algoritma

Crtam algoritam za sljedeći program


#include <iostream>
using namespace std;
int main()
{
    int odabir,g;
    float a,b,c;
    cout<<"   Izbornik\n1.  Sabiranje\n2.  Oduzimanje\n3.  Mnozenje\n4.  Deljenje\n5.  Izlaz iz programa\nUnesi redni broj zeljene aritmeticke operacije:";
    cin>>odabir;
    switch (odabir)
    {
     case 1:
          cout<<"Unesi prvi broj:";cin>>a;
          cout<<"Unesi drugi broj:";cin>>b; 
          c=a+b;
          cout<<c<<endl;
          cout<<"Pritisni 1 za povratak na pocetak za izlaz bilo koju drugu tipku: ";cin>>g;
          if (g==1)return main();else exit(0);      
     case 2:
          cout<<"Unesi prvi broj:";cin>>a;
          cout<<"Unesi drugi broj:";cin>>b;
          c=a-b;
          cout<<c<<endl;
          cout<<"Pritisni 1 za povratak na pocetak za izlaz bilo koju drugu tipku: ";cin>>g;
          if (g==1)return main();else exit(0);   
     case 3:
          cout<<"Unesi prvi broj:";cin>>a;
          cout<<"Unesi drugi broj:";cin>>b;
          c=a*b;
          cout<<c<<endl;
          cout<<"Pritisni 1 za povratak na pocetak za izlaz bilo koju drugu tipku: ";cin>>g;
          if (g==1)return main();else exit(0);
     case 4:
          cout<<"Unesi prvi broj:";cin>>a;
          cout<<"Unesi drugi broj:";cin>>b;
          if(b==0)
          {
               cout<<"Nemoze se deliti sa 0"<<endl;
          }
          else
          {
               c=a/b;cout<<c<<endl;
          }
          cout<<"Pritisni 1 za povratak na pocetak za izlaz bilo koju drugu tipku: ";cin>>g;
          if (g==1)return main();else exit(0);
     case 5:exit(0);
     default:cout<<"Nisi ukucao nijedan od navedenih brojeva.\nPritisni 1 za povratak na pocetak za izlaz bilo koju drugu tipku: ";
     cin>>g;
     if (g==1)return main();else exit(0);               
    }
}

 

i sada kad sam nacrtao switch komandu i u nju ubacio sve dosao sam do problema. Imam u svakoj switch grani po jedan if uvjet. Problem je u tome sto sam zatvorio sredinu kao sto se vidi na slici i sada if uvjeti mi nemaju DA granu.. Nije meni problem nacrtati tu granu nego da li se smije prelaziti preko drugih grana i komandi..

Evo slike trenutnog algoritma kao sto vidite  if(g==1) mi nema mogucnosti izlaza DA grane bez prelaženja preko drugih grana.

Da li se smije prelaziti preko drugih grana i ako nesmije da li neko zna neko bolje rešenje crteza ili mozda cak i programa bio bih vam zahvalan...Osmijeh

 

slika:

Algoritam Algoritam
Poruka je uređivana zadnji put ned 16.5.2010 16:53 (slobo14).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ problem pri crtanju algoritma

Sve stavi u do-while petlju i ne treba ti toliko petljanja u switch -case uvjetima .....sve se može jednostavno riješiti ,kad budem imao vremena riješim.

Mislim da imam negdje već to ali sad nemam vremena.

 

edit : evo otprilike što želiš pa kombiniraj  ,pogledaj,nisam ni izvršavao tvoj kod ali kad budem reći ću i mišljenje ako baš tako hočeš da ti kod izgleda tj. algoritam .Radi samo s int tipom ali to možeš sam riješiti.

#include <iostream>
using namespace std;
int main()
{
char ponovo= 'd';

           
            do
            {
           cout<<"\tOvo je jednostavni kalkulator : \n"<<endl;
    system("cls");
               
            int  operacija ;
   cout<<"Upišite prvi broj :"<<endl;
            int a ;
   cin>>a;
            cout<<"Upišite drugi broj :"<<endl;
            int b ;
   cin>>b;
   cout<<"Odaberite operaciju koju želite : 1/+ ,2/- ,3/* ,4/:?"<<endl;
           cin>>operacija;
          

            switch (operacija)
            {
                case 1:
     cout<<"Zbroj:"<<a+b<<endl;
                   break;
                case 2:
                   cout<<"Oduzimanje-rezultat:"<<a-b<<endl;
                   break;
                case 3:
                  cout<<"Umnožak:"<<a*b<<endl;
                   break;
                case 4:
                   cout<<"Dijeljenje:"<<a/b<<endl;
                   break;
                default:
                  cout<<"Niste ništa izabrali!"<<endl;
                   break;
            }
   cout<<"Ako želite ponovo d ili n?\n"<<endl;
               cin>>ponovo;
            }while(ponovo!='n');

           system("pause");
     return 0;

 

 

}

 

 

 

 

 

 

 

 

 

 

Private
Poruka je uređivana zadnji put ned 16.5.2010 18:17 (Private).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice