Domanda Comincio a studioare roba seria, e mi servirebbe un aiutino/consiglio....(c++ )

Stato
Discussione chiusa ad ulteriori risposte.

puzzateDiCacca

Utente Gold
4 Gennaio 2010
545
57
22
219
Ciao, ora è passato un bel po' di tempo da quanto mi sono messo sotto col: visual basic, python e un po' il java, ora ho deciso di iniziare ad imparare il c++. Ieri trovai una guida che era stata fatta su linux e quindi ho avuto problemi anche se spiegava bene, dopo tutte le spiegazione ( fatte benissimo ) ho compilato il "programma" ed è uscito un codice cosi:

PHP:
#include <iostream.h>

int main()
{
  cout <<"Il messaggio" <<endl;
  return 0;
}
E cosi ieri vedendo questo codice dissi: NON VA BENE XD, e infatti non va bene, quindi ragionandoci un po' e facendo varie prove mi è uscito questo ( inserito anche variabili, lo sto studiando da 5 minuti il c++ xd ):

PHP:
#include <iostream>
using namespace std;

int main()
{
  int a, b;
  int risultato;

  a = 5;
  b = 15;
  risultato = a + b;
  
  cout << risultato <<endl;
  system("pause");
  return 0;
}
Cosi facendo il programma mi stampa sullo schermo la somma di a + b, però io vorrei che uscisse una cosa del genere:

Il risultato tra a + b è: 20

Però non capisco come far concatenare la frase con il risultato tra a + b, e poi sto cercando di far tipo una calcolatrice solo con l'operatore +, ma la vedo un po' difficile per me che lo sto studiando da 5 minuti <.<.

Poi un'ultima cosa XDXD ( non mi tartta male T_T ), vorrei se è possibile, un libro, una guida online che mi spieghi bene, io ho il libro: pernsare al c++ vol. 1, però sinceramente, a me degli esempi che fa non mi fa capire nulla -.-, e poi subito parte dalla programmazione orientata agli oggetti T_T.

Edit: erro nel titolo auahuahau XD ho scritto:
studioare al posto di studiare XD
 
Codice:
#include <iostream>
using namespace std;

int main()
{
  int a, b;
  int risultato;

  a = 5;
  b = 15;
      while(1==1){
  risultato = a + b;

  cout <<"il risultato  e:" <<risultato <<endl;
  system("pause");
  system("PAUSE");
  system("cls");
}
}
 
Ok, va <.<, ma un piccola spiegazione di quello che hai fatto ? anche se ho intuito qualcosa, ma è sempre bello capire a cosa servono dei determinati codici o perchè li si mettono.

Per esempio: while(1==1), perchè sta scritto cosi ? il while lo so cos'è, ma quel: (1==1) a che serve ? e sto coso cos'è: system("cls"); ? XD grazie se me lo spiegate almeno posso apprendere meglio.

Io cerco anche spiegazioni, perchè non sono lamer XD cerco di imparare, quindi odio il copia e incolla senza sapere quello che sto facendo,
 
il codice di prob è fuorviante oltre che spreciso, quindi evita di prenderne spunto...
Codice:
#include<iostream>
using std::cin;   using std::cout;
using std::endl;

int main() {
    int a, b, risultato;
    cout << "Inserisci il primo numero: ";
    cin >> a;
    cout <<  "Inserisci il secondo numero";
    cin >> b;
    risultato = a + b;
    cout << "La somma e' " << risultato << endl;

    cin.ignore();
    cin.get();
}
così dovrebbe essere chiaro... alcune cose potrebbero essere state scritte meglio, ti annoto alcune cose


  • al posto di tutti quei
    Codice:
    using std::cout;  using std::cout;
    using std::endl;
    per ogni cosa che importi da librerie, puoi usare un unico
    Codice:
    using namespace std;
    anche se personalmente preferisco evitarlo per motivi che forse ora potrebbero non esserti chiari
  • la variabile risultato potrebbe essere benissimo evitata, stampando direttamente il a+b
    Codice:
    cout << a+b;
  • le ultime due istruzioni servono rispettivamente per "svuotare" il cin, e per ottenere un'altro carattere, in modo che aspetti la pressione del tasto invio prima di chiudersi... avresti potuto usare
    Codice:
    system("pause");
    ma non è multipiattaforma ed è inefficente
 
  • Mi piace
Reazioni: puzzateDiCacca
a me al posto di usare cin e cout mi hanno sempre consigliato di usare printf e scanf perchè sono meno "forzati"... è giusto?
 
vorrei proprio sapere chi te l'ha detto :)
una funzione non può essere "forzata", semplicemente fa il suo dovere... cin e cout appartengono alla standard library del c++, e sono preferibili rispetto alle "vecchie" funzioni c-style... il fatto che sono oggetti semplifica enormemente le cose, hai una maggiore facilità nel reperire tutte le funzioni necessarie alla manipolazione dei suddetti stream
 
Ultima modifica:
D4n13le, grazie mille della spiegazione, sinceramente aspettavo te per illuminarmi XD, grazie ancora, ora ricreo questo "programma" fin chè non mi entra tutto in testa come si deve XD, logicamente senza copiare nulla cosi ragiono pure con la mia testa, perchè credo che un programmatore se va in palla XD se ne deve almeno deve cercare di uscirne con i propri mezzi. ( Io sono ancora lontano dal programmatore <.< )
 
Tranquillo, ci riuscirai... All'inizio è normale fare le cose mnemonicamente, prima o poi ti verrà tutto naturale.
 
Vorrei vedere se ho capito bene una cosa:

allora, ho notato che tu hai fatto cosi:

int a, b, risultato;
cout << "Inserisci il primo numero" <<endl;
cin >> a;
cout << "Inserisci il secondo numero" <<endl;
cin >> b;
risultato = a + b;
cout << "Il risultato e: " <<risultato <<endl;
system("pause");

se non ho capito male, il primo cout chiede il primo numero e il secondo cout il secondo numero, poi quando la persona inserisce il primo e secondo numero, la funzione cin butta il primo e il secondo numero digitato dalla persona nelle variabili a e b, cosi al cout dove dice il risultato, mi uscirà il risultato di a + b, i quali hanno i valori digitati dalla persona ( esempio 5 + 5 [ a +b ] ), giusto ?

Sicuramente mi sono spiegato male XD, però spero che mi hai capito XD.
 
esatto... se ti può aiutare (poi è anche il funzionamento reale), pensa a cin come tutto ciò che viene scritto da te nel terminale, cout come ciò che viene scritto dal programma...

  • quando fai
    Codice:
    cin >> stringa;
    stai prendendo una parola racchiusa tra spazi da cin e mettendola dentro la variabile "stringa"

  • quando fai
    Codice:
    cout << stringa;
    stai prendendo una parola/stringa (se usi un numero viene automaticamente convertito) e mettendolo dentro cout (che se ricordi rappresenta ciò che viene scritto dal programma)
 
Ultima modifica:
Ecco, lo fatta! lo creata! XD la mia prima calcolatrice, fan po' schifo ma è stata più una prova, prima ho provato con i case, ma visto che non ci sono riuscito perchè quasi sicuramente sbagliavo qualcosa, ho fatto con gli if (se), e cosi c'è lo fatta! lol

ecco il sorgente ditemi se potevo farlo meglio ( nel senso di sintassi ):

PHP:
#include <iostream>
using namespace std;

int main()
{
    
    int a, b, c, d;
    
   
    cout <<"Calcolatrice creata in C++ da:" <<endl;
    cout <<"                              " <<endl;
    cout <<"##############################" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##       By SoulEater       ##" <<endl;
    cout <<"##          2010            ##" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##############################" <<endl;
    cout <<"                              " <<endl;
  
    
    
    cout <<"Inserisci il primo numero:" <<endl;
    cout <<"                          " <<endl;
    cin >> a;
    cout <<"Inserisci il secondo numero:" <<endl;
    cout <<"                            " <<endl;
    cin >> b;
   
    
    
    cout <<"Segli l'operatore..." <<endl;
    cout <<"                    " <<endl;
    cout <<"1) Addizione      2) Moltiplicazione" <<endl;
    cout <<"                                  " <<endl;
    cout <<"                                  " <<endl;
    cout <<"2) Sottrazione      4) Divisione" <<endl;
    cout <<"                                  " <<endl;
    cout <<"                                  " <<endl;
    cin >> c;
    cout <<"                                  " <<endl;
   
    
  
    if (c == 1) {
          cout <<"La somma dei due numeri e': " << a+b <<endl;
          system("pause");
             }
    if (c == 2) {
          cout <<"La moltiplicazione dei due numeri e': " << a*b <<endl;
          system("pause");
          }
    if (c == 3) {
          cout <<"La sottrazione dei due numeri e': " << a-b <<endl;
          system("pause");
          }
    if (c == 4) {
          cout <<"La divisione dei due numeri e': " << a/b <<endl;
          system("pause");
          }
}
Edit: Lo rifatta cosi sembra un po' più carina XD.

D4n13le +1.

--- Aggiornamento Post ---

E alla fine ci sono arrivato ahaha XD, praticamente per far si che una volta finito un operazione il programma non si chiuda ho messo la funzione dopo: system("pause") > main(), che mi riporta all'int main() ( se non ho capito male ) quindi all'inizo del programma :rulzz:, e all'inzio del programma ci ho messo pure la funzione: system("cls") cosi facendo mi pulisce tutto quello che avevo fatto prima :rulzz: come mi piace il c++ °-°.

Ecco la sorgente:

PHP:
#include <iostream>
using namespace std;

int main() 
{
    
    int a, b, c, d;
    

    

    system("cls");
    
    cout <<"Calcolatrice creata in C++ da:" <<endl;
    cout <<"                              " <<endl;
    cout <<"##############################" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##       By SoulEater       ##" <<endl;
    cout <<"##          2010            ##" <<endl;
    cout <<"##                          ##" <<endl;
    cout <<"##############################" <<endl;
    cout <<"                              " <<endl;
    
    
    
    cout <<"Inserisci il primo numero:" <<endl;
    cout <<"                          " <<endl;
    cin >> a;
    cout <<"Inserisci il secondo numero:" <<endl;
    cout <<"                            " <<endl;
    cin >> b;
    
    
    
    cout <<"Segli l'operatore..." <<endl;
    cout <<"                    " <<endl;
    cout <<"1) Addizione      2) Moltiplicazione" <<endl;
    cout <<"                                  " <<endl;
    cout <<"                                  " <<endl;
    cout <<"2) Sottrazione      4) Divisione" <<endl;
    cout <<"                                  " <<endl;
    cout <<"                                  " <<endl;
    cin >> c;
    cout <<"                                  " <<endl;
    
    
    
    if (c == 1) {
          cout <<"La somma dei due numeri e': " << a+b <<endl;
          system("pause"); 
          main ();                 
          }
    if (c == 2) {
          cout <<"La moltiplicazione dei due numeri e': " << a*b <<endl;
          system("pause");
          main();
          }
    if (c == 3) {
          cout <<"La sottrazione dei due numeri e': " << a-b <<endl;
          system("pause");
          main();
          }
    if (c == 4) {
          cout <<"La divisione dei due numeri e': " << a/b <<endl;
          system("pause");
          main();
          }
          }
 
Stato
Discussione chiusa ad ulteriori risposte.