Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Tornare al menu'
Forum - C/C++ - Tornare al menu'

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
ForoDj (Normal User)
Newbie


Messaggi: 10
Iscritto: 20/04/2009

Segnala al moderatore
Postato alle 13:59
Lunedì, 20/04/2009
Ciao ragazzi, io sto facendo un programino con tutte delle regole matematiche e dei calcoli, il programma e cosi.
INTRODUZIONE.
SCELTA NUMERO DAL MENU.
CLACOLO.
Il problema e che una volta terminato il calcolo o aver visualizzato regole,ripete sempre la stessa cosa... come fare per rimandarlo al menu??


PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 14:32
Lunedì, 20/04/2009
Basta fare così:
(mettiamo che il programma esce quando si digita "e")

fai{
leggi la variabile "scelta"
se "scelta" vale 1, allora fai la somma(un esempio)
se "scelta" vale 2, allora fai la sottrazione...
........................
.....................
}finchè la variabile "scelta" è diversa da "e"

Ho fatto una specie di codice in italiano, spero che to lo capisca


The old lie: Dulce et decorum est pro patria mori
PM Quote
Avatar
ForoDj (Normal User)
Newbie


Messaggi: 10
Iscritto: 20/04/2009

Segnala al moderatore
Postato alle 15:58
Lunedì, 20/04/2009
scusa ma forse non mi sono spiegato bene... ora lo ho un po modificato...
allora ti appare una schermata che se premi 0 vai al "gioco" e se premi 1 vai alle "info".
Solo che se io alla fine delle info scrivo:

Codice sorgente - presumibilmente C/C++

  1. if (N==5)
  2. cout<<"PROVA anche se ci va il collegamento";



e nel programma scrivo 5 il puntatore resta li e non cambia e ne appare niente..
OPPURE SE FACCIO COSI:

Codice sorgente - presumibilmente Plain Text

  1. cout<<"Premi 'INVIO' per continuare!.";
  2.             system("PAUSE");
  3.             system("CLS");


dopo system("CLS") quale codice dovrei mettere per farlo tornare al punto
index()??

Ultima modifica effettuata da ForoDj il 20/04/2009 alle 16:09
PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 17:39
Lunedì, 20/04/2009
mio dio peggio di prima, non capisco niente, riporta il sorgente per favore!


The old lie: Dulce et decorum est pro patria mori
PM Quote
Avatar
ForoDj (Normal User)
Newbie


Messaggi: 10
Iscritto: 20/04/2009

Segnala al moderatore
Postato alle 19:29
Lunedì, 20/04/2009
Il problema e risolto nessuna preoccupazione... alla fine delle info ho scritto

system("PAUSE")
index();

Torna alla prima pagina dell'avvio del programma ma questa volta se digito un numero e premo invio si blocca... come posso fare per far riprendere il ciclo??
Posto il codice di tutto il programmino??

PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 20:09
Lunedì, 20/04/2009
metti al posto di system("pause") cin>>variabilequalsiasiinutile
perchp il system pause aspetta un qualsiasi tasto e quindi per tutto il programma appena premi un tasto si chiude.
dovrebbe funzionare


The old lie: Dulce et decorum est pro patria mori
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:28
Lunedì, 20/04/2009
Penso che dovresti postare il programma, ma mi sa che quello che ti manca e' impostare il corretto ciclo

while


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
ForoDj (Normal User)
Newbie


Messaggi: 10
Iscritto: 20/04/2009

Segnala al moderatore
Postato alle 13:53
Martedì, 21/04/2009
Mi sa.. perche il modo come ho fatto io va bene... solo che tornato all'index non ritorna i ciclo...
Ecco i codici del mio programmino che devo presentare a scuola:


Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <windows.h>
  3. #include <iomanip>
  4. #include<ctime>
  5. #include<conio.h>
  6. #include<math.h>
  7. #include<stdlib.h>
  8.   //libreria per SETPRECISION
  9. using namespace std;
  10. bool gotoxy(const WORD x, const WORD y);
  11. void index (void);
  12. void SetColor(unsigned short color);
  13. int i,N,quot,val,k,sq,bonus;
  14. float tot;
  15. char c;
  16.  
  17. int main()
  18. {
  19.   HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);  
  20.   index();
  21.   if (N==0)
  22.  
  23. {
  24.     system("CLS");
  25.     signed char pr[] = "\nInserisci il primo numero: ";
  26.     signed char sc[] = "\nInserisci il secondo numero: ";
  27.     signed char rs[] = "\nRisultato: ";
  28.     signed char ln[] = "\n\n\n\n*****************************************************\n";
  29.     int a,x;
  30.     float b,c,d;
  31.     gotoxy(12,3);
  32.     SetColor(10);
  33.     cout <<"*****************************************************\n";
  34.     gotoxy(12,4);
  35.     cout <<"****************";
  36.     SetColor(12);
  37.     cout <<"DADDOSTYLE CALCULATOR";
  38.     SetColor(10);
  39.     cout <<"****************\n";
  40.     gotoxy(12,5);
  41.     cout <<"***********";
  42.     SetColor(12);
  43.     cout <<"FAI TUTTI I CALCOLI CHE VUOI!";
  44.     SetColor(10);
  45.     cout <<"*************\n";
  46.     gotoxy(12,6);
  47.     cout <<"*****";
  48.     SetColor (12);
  49.     cout <<"FORMULE-AREE-CALCOLI-RADICI QUADRATE-VOLUMI";
  50.     SetColor(10);
  51.     cout <<"*****\n";
  52.     gotoxy(0,8);
  53.     system("TITLE DaddoStyleCalculator");
  54.     system("PAUSE");
  55.     SetColor (8);
  56.     cout << "\n\nScegli un opzione:\n\n";
  57.     cout << "1)Addizione           5)Elevamento a Potenza\n";
  58.     cout << "2)Sottrazione         6)Radice Quadrata\n";    
  59.     cout << "3)Moltiplicazione     7)Area Triangolo\n";
  60.     cout << "4)Divisione           8)Genera Numeri Casuali\n";    
  61.     cout << "9)Area Rombo         10)Volume Cubo\n";
  62.     SetColor(12);
  63.     cout << "11)Superficie Laterale e Totale Cubo\n";
  64.     SetColor(10);
  65.     cout << "12)FORMULE VARIE\n\n";
  66.    
  67.     SetColor(9);
  68.     cout << "SELEZIONE NUMERO: ";
  69.     cin >> a;
  70.     SetColor(3);
  71.     cin.clear();
  72.    
  73.  
  74.  
  75. switch(a)
  76. {
  77.           case 1: {
  78.                while(true)
  79.                {
  80.                
  81.                cout << ln;
  82.                   cout << pr;
  83.                   cin >> b;
  84.                   cout << sc;
  85.                   cin >> c;
  86.                d = b + c;
  87.                cout << rs << d;
  88.                
  89.                getch();
  90.                }
  91.                }
  92.                
  93.                break;
  94.           case 2: {
  95.                while(true)
  96.                {
  97.                 cout << ln;
  98.                   cout << pr;
  99.                  cin >> b;
  100.                  cout << sc;
  101.                  cin >> c;
  102.                d = b - c;
  103.                cout << rs << d;
  104.                
  105.              getch();
  106.              
  107.              }     }
  108.                break;
  109.         case 3: {
  110.              while(true)
  111.              {
  112.               cout << ln;
  113.                 cout << pr;
  114.                 cin >> b;
  115.                 cout << sc;
  116.               cin >> c;
  117.              d = b * c;
  118.             cout << rs << d;
  119.              
  120.             getch();
  121.             }
  122.            }
  123.              break;
  124.              case 4: {
  125.                   while(true)
  126.                   {
  127.                    cout << ln;
  128.                      cout << pr;
  129.                      cin >> b;
  130.                      cout << sc;
  131.                      cin >> c;
  132.                   d = b / c;
  133.                   cout << rs<< d;
  134.                  
  135.                   getch();
  136.                   }
  137.        }
  138.                   break;
  139.                   case 5:
  140.                        {
  141.                                while(true)
  142.                                {
  143.                                 cout << ln;
  144.                             cout << "\nInserisci numero da elevare: ";
  145.                             cin >> b;
  146.                             cout << "\nInserisci l'esponente: ";
  147.                             cin >> c;
  148.                             d = pow(b,c);
  149.                             cout << "\nRisultato: " << d;
  150.                             getch();
  151.                              }
  152.                             }
  153.                             break;
  154.                             case 6:
  155.                                  {
  156.                                                   while(true)
  157.                                                   {
  158.                                  cout << ln;
  159.                                  cout << "\nInserisci il numero: ";
  160.                                  cin >> b;
  161.                                  d = sqrt(b);
  162.                                  cout << rs << d;
  163.                                  getch();
  164.                                   }
  165.                                  }
  166.                                                   break;
  167.                                  case 7:
  168.                             { while(true)
  169.                             {
  170.                        cout << ln;
  171.                        cout << "\nInserisci la base: ";
  172.                        cin >> b;
  173.                        cout << "\nInserisci l'altezza: ";
  174.                        cin >> c;
  175.                        d = b * c / 2;
  176.                        cout << "\nArea: " << d;
  177.                        getch();
  178.                         }
  179.                        }
  180.                        break;
  181.                        case 8:
  182.                             {
  183.                             cout << ln;
  184.  
  185.                      srand((unsigned)time(NULL));
  186.      
  187.             while (true)
  188.             {
  189.           a = rand () % 20;
  190.           cout << a;
  191.           getchar();
  192.      
  193.      }
  194.                    }          break;
  195.                    case 9:
  196.                             { while(true)
  197.                             {
  198.                        cout << ln;
  199.                        cout << "\nInserisci la diagonale Maggiore: ";
  200.                        cin >> b;
  201.                        cout << "\nInserisci la diagonale Minore: ";
  202.                        cin >> c;
  203.                        d = b * c / 2;
  204.                        cout << "\nArea: " << d;
  205.                        getch();
  206.                         }
  207.                        }
  208.                        break;
  209.                        case 10:
  210.                             { while(true)
  211.                             {
  212.                        cout << ln;
  213.                        cout << "\nInserisci lo spigolo: ";
  214.                        cin >> b;  
  215.                        c = b * b * b;
  216.                        cout << "\nVolume: " << c;
  217.                        getch();
  218.                         }
  219.                        }
  220.                        break;
  221.                        case 11:
  222.                             { while(true)
  223.                             {
  224.                        cout << ln;
  225.                        cout << "\nInserisci lo spigolo: ";
  226.                        cin >> b;  
  227.                        c = b * b * 4;
  228.                        d = b * b * 6;
  229.                        cout << "\nArea Laterale: " << c;
  230.                        cout << "\nArea Totale: " << d;
  231.                        getch();
  232.                         }
  233.                        }
  234.                        break;
  235.                         case 12:
  236.                              { while(true)
  237.                             {  
  238.                         cout << "\nINTRODUZIONE\n\n";
  239.                         cout << "\nA=area  P=perimetro a=Apotema h=Altezza\n\n";
  240.                         cout << "\nb=Base [3+5]/2=Tutta l'operazione contenuta nelle [ ] divisa per il numero dopo il simbolo/\n\n";
  241.                         cout <<"\nl=Lato s=Spigolo V=Volume V'=Radice Quadrata\n";
  242.                         cout <<"\nD=diagonale magg. d=Diagonale min.\n\n";
  243.                         cout << "\n\n FINE INTRODUZIONE\n\n";
  244.                         system("PAUSE");
  245.                         cout <<"\n\nFORMULE POLIGONI\n\n";
  246.                         cout << "\nTRIANGOLO\n\n";
  247.                         cout << "\nP=l+l+l         A=[bxh]/2\n";
  248.                         cout << "\n b= [Ax2]/h     h=[Ax2]/b\n\n\n";
  249.                         cout << "\n\nFINE TRIANGOLO\n\n";
  250.                         system("PAUSE");
  251.                         cout <<"\n\nQUADRATO\n\n";
  252.                         cout <<"\nP=lx4    A=bxh o lxl\n";
  253.                         cout <<"\nl=P:4    l=V'A\n";
  254.                         cout <<"\n\n FINE QUADRATO\n\n";
  255.                         system("PAUSE");
  256.                         cout <<"\n\nRETTANGOLO\n\n";
  257.                         cout <<"\nP=bx2 + hx2     A=bxh\n";
  258.                         cout <<"\nb= A:h          h= A:b\n";
  259.                         cout <<"\n\nFINE RETTANGOLO\n\n";
  260.                         system("PAUSE");
  261.                         cout <<"\n\nROMBO\n\n";
  262.                         cout <<"\nA=[Dxd]/2   P=lx4\n";
  263.                         cout <<"\n\nFINE ROMBO\n\n";
  264.                         system("PAUSE");
  265.                         cout <<"\n\nPENTAGONO\n\n";
  266.                         cout <<"\nP=lx5   A=[Pxa]/2\n";
  267.                         cout <<"\nl=A:a   a=A:l\n";
  268.                         cout <<"\n\nFINE PENTAGONO\n\n";
  269.                         system("PAUSE");
  270.                         cout <<"\n\nESAGONO\n\n";
  271.                         cout <<"\nP=lx6   A=[Pxa]/2\n";
  272.                         cout <<"\nl=A:a   a=A:l\n";
  273.                         cout <<"\n\nFINE ESAGONO\n\n";
  274.                         system("PAUSE");
  275.                        
  276.                         }
  277.                        }
  278.                        break;    
  279.                              default:
  280.                                  {
  281.                                       cout << ln;
  282.                                          cout << "\n\nScegli un opzione valida";
  283.                                          getch();
  284.                                          
  285.                                          }
  286.                                          break;
  287.              }
  288.              return 1;
  289. }
  290.   if (N==1)
  291.            {
  292.             system("CLS");
  293.             SetColor(14);                    
  294.             cout<<"Programma che calcola aree,perimetri di Poligoni e Solidi"<<endl;
  295.             SetColor(12);
  296.             cout<<"ATTENZIONE:Inserisci Solo i dati corretti quando richiesto!!"<<endl;
  297.             c=183;
  298.             SetColor(10);
  299.             cout<<"NOVIT"<<c<<": Formulario completo!!"<<endl;
  300.             gotoxy(0,5);
  301.             SetColor(15);
  302.             cout<<"PER ESEMPIO:";
  303.             gotoxy(0,7);
  304.             SetColor(7);
  305.             cout<<"              Procedimento"<<endl;
  306.             cout<<"Area Quadrato:  lxl"<<endl;
  307.             gotoxy(0,10);
  308.             cout<<"Nell'introduzione vengono spiegati i significati dei simboli";
  309.             gotoxy(0,12);
  310.             SetColor(8);
  311.             cout<<"Ovviamente ad ogni inserimento dovete premere 'INVIO'.";
  312.             gotoxy(0,14);
  313.             SetColor(6);
  314.             cout<<"          Realizzato da Frainetti Davide"<<endl;
  315.             gotoxy(0,16);
  316.             cout<<"      Il programma e' ancora in fase di aggiornamento";
  317.             gotoxy(0,18);
  318.             SetColor(12);
  319.             cout<<"Premi 'INVIO' per Tornare al menu'!.\n";
  320.             SetColor (0);
  321.             system("PAUSE");
  322.             system("CLS");
  323.              
  324.   index(); //Ecco cosa ho inserito per farlo tornare all'index...solo che non ricomincia il ciclo...
  325.  
  326.            
  327.            
  328.             getchar();
  329.             getchar();                      
  330.            }
  331.   getchar();
  332.   getchar();
  333.  
  334. }
  335.  
  336. bool gotoxy(const WORD x, const WORD y)  
  337. {  
  338.         COORD posizione;  
  339.         posizione.X = x;  
  340.         posizione.Y = y;  
  341.         return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), posizione);  
  342. }  
  343.  
  344. void index (void)
  345. {
  346.   do
  347.   {
  348.   if (N>=2)
  349.   cout<<"\a";        
  350.   system("CLS");
  351.   SetColor(11);            
  352.   c=187;
  353.   gotoxy(79,0);
  354.   cout<<c;
  355.   c=201;
  356.   gotoxy(0,0);
  357.   cout<<c;
  358.   c=200;
  359.   gotoxy(0,24);
  360.   cout<<c;
  361.   c=188;
  362.   gotoxy(79,24);
  363.   cout<<c;
  364.   c=205;
  365.   gotoxy(1,0);
  366.   for (i=0;i<78;i++)
  367.                    {
  368.                     cout<<c;    
  369.                    }
  370.   gotoxy(1,24);                
  371.   for (i=0;i<78;i++)
  372.                    {
  373.                     cout<<c;    
  374.                    }                  
  375.    c=186;
  376.    for (i=0;i<23;i++)
  377.                    {
  378.                     gotoxy(0,1+i);
  379.                     cout<<c;            
  380.                    }
  381.    for (i=0;i<23;i++)
  382.                    {
  383.                     gotoxy(79,1+i);
  384.                     cout<<c;            
  385.                    }
  386.     SetColor(10);                
  387.     gotoxy(13,2);
  388.     cout<<"//////     //////   //            //   ///   //////     /////////";
  389.     gotoxy(12,3);
  390.     cout<<"//    //   //   //    //        //    ///   //     //   //     ";
  391.     gotoxy(11,4);
  392.     cout<<"//    ///  ///////     //     //     ///   //      ///  ////     ";
  393.     gotoxy(10,5);
  394.     cout<<"//    //   //   //      //  //      ///   //      //   //      ";
  395.     gotoxy(9,6);
  396.     cout<<"///////    //   //       //        ///   ////////      //////////      ";
  397.     gotoxy(9,8);
  398.     SetColor(2);
  399.     cout<<" Fai i tuoi Calcoli Veloci con un semplice click!!";
  400.     gotoxy(26,13);
  401.     SetColor(3);
  402.     cout<<"Inserisci '0' per continuare";
  403.     gotoxy(26,14);
  404.     cout<<"Inserisci '1' per Info\a\n";    
  405.     c=205;
  406.     SetColor(8);
  407.     for (i=0;i<6;i++)
  408.                     {
  409.                     gotoxy(27+i,16);
  410.                     cout<<c;    
  411.                     }
  412.     c=187;
  413.     gotoxy(32,16);
  414.     cout<<c;
  415.     c=186;
  416.     gotoxy(32,17);
  417.     cout<<c;
  418.     gotoxy(26,17);
  419.     cout<<c;
  420.     c=201;
  421.     gotoxy(26,16);
  422.     cout<<c;
  423.     c=200;
  424.     gotoxy(26,18);
  425.     cout<<c;
  426.     c=188;
  427.     gotoxy(32,18);
  428.     cout<<c;
  429.     c=205;
  430.     for (i=0;i<5;i++)
  431.                     {
  432.                     gotoxy(27+i,18);
  433.                     cout<<c;          
  434.                     }
  435.     gotoxy(54,23);
  436.     c=184;
  437.     SetColor(15);
  438.     cout<<c<<" Copyright Daddo\n\n";                
  439.     gotoxy(29,17);
  440.     SetColor(3);
  441.     cin>>N;
  442.   }
  443.   while(N>=2);                            
  444. }
  445.  
  446.  void SetColor(unsigned short color)
  447.  {
  448.  HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
  449.  SetConsoleTextAttribute(hCon,color);
  450.  }



Se qualcuno mi puo postare il codice modificato... ho segnato io il punto che non va bene...

PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 15:00
Martedì, 21/04/2009
mio dio come è impostato male...
non si capisce niente con tutti sti colori...
è tutto disordinato, comunque il metodo per tornare all'inizio è quello del while


The old lie: Dulce et decorum est pro patria mori
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo