Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    121

    C++ problema using e altro

    ciao, sto seguendo un libro per imparare c++ e adesso vorrei provare a fare qualcosina con i primi capitoli che ho letto...
    ho scritto questo codice che dovrebbe chiedere un tipo di cacolo (+,-,/...) e due numeri per fare ad esempio 2 + 1 = 3, il codice per fare questo usa una classe... il problema é che mi da errore nella compilazione quando uso using:cout e gli altri...

    codice:
    #include <iostrem>
    using std::cout;
    using std::cin;
    using std::endl;
    
    #include <string>
    using std::string;
    using std::getline;
    
    class calcolo
    {
    public:
           void usa(string tipo_segno, int numero1, int numero2)
           {
               int risultato;
               if (tipo_segno == "+") {
                      risultato = numero1 + numero2; 
               }
               cout << numero1 << tipo_segno << numero2 << " = " << risultato << endl;
           }
    }
    
    int main()
    {
        string tipo;
        int numero1;
        int numero2;
    
        calcolo mioCalcolo;
        
        cout << "Inserisci tipo di calcolo: " << endl;
        getline(cin, tipo);
        cout << "Inserisci il primo numero: " << endl1;
        cin >> numero1;
        cout << "Inserisci il secondo numero: " << endl;
        cin >> numero2;
        
        mioCalcolo.usa(tipo);
        
        system("PAUSE");
        return 0;
    }

    penso che ci siano molte cose sbagliate ed oltre a questo é un allungamento inutile, cmq dovrebbe uscire qualcosa di simile:

    Inserisci tipo di calcolo: +
    Inserisci il primo numero: 2
    Inserisci il secondo numero: 1
    2 + 1 = 3

    il problema é che nn funziona... sono agli inizi percio nn insultatemi troppo ciao e grazie...

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Dire che non funziona non serve a niente, se non posti anche gli errori del compilatore.
    Comunque due cose saltano all'occhio:
    la prima è che devi includere iostream, non iostrem (errore di battitura spero)

    la seconda è che la funzione usa prende tre parametri e tu ne passi uno solo.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    E poi manca il ; alla fine della dichiarazione della classe e hai scritto endl1 invece di endl

    D'accordo che sei all'inizio, ma sono tutti errori di "distrazione" e la distrazione non va affatto d'accordo con la programmazione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    121
    Ok, sistemato, grazie mille:

    codice:
    #include <iostream>
    using std::cout;
    using std::cin;
    using std::endl;
    
    #include <string>
    using std::string;
    using std::getline;
    
    class calcolo
    {
    public:
           void usa(string tipo_segno, int numero1, int numero2)
           {
               int risultato;
               if (tipo_segno == "+") {
                      risultato = numero1 + numero2; 
               } 
               if (tipo_segno == "-") {
                      risultato = numero1 - numero2;
               }
               if (tipo_segno == "/") {
                      risultato = numero1 / numero2;               
               }
               if (tipo_segno == "*") {
                      risultato = numero1 * numero2;
               }
               cout << numero1 << tipo_segno << numero2 << " = " << risultato << endl;
           }
    };
    
    int main()
    {
        string tipo;
        int numero1;
        int numero2;
    
        calcolo mioCalcolo;
        
        cout << "Inserisci tipo di calcolo (+, -, /, *): " << endl;
        getline(cin, tipo);
        cout << "Inserisci il primo numero: " << endl;
        cin >> numero1;
        cout << "Inserisci il secondo numero: " << endl;
        cin >> numero2;
        
        mioCalcolo.usa(tipo, numero1, numero2);
        
        system("PAUSE");
        return 0;
    }
    Un'altra cosa, per rcevere i riusltati con il numero dopo la virgola, cosa uso al posto di INT? poi, come potrei riuscire a verificare che getline(cin, tipo); é uguale a +,-,/ o * e se nn é uguale a uno di questi annullare e farne sceglierne uno? Spero mi abbiate capito, ciao e ancora grazie...

  5. #5
    Originariamente inviato da Jacki93
    Un'altra cosa, per rcevere i riusltati con il numero dopo la virgola, cosa uso al posto di INT?
    float o double.
    poi, come potrei riuscire a verificare che getline(cin, tipo); é uguale a +,-,/ o * e se nn é uguale a uno di questi annullare e farne sceglierne uno? Spero mi abbiate capito, ciao e ancora grazie...
    codice:
               if (tipo_segno == "+") {
                      risultato = numero1 + numero2; 
               } 
               else if (tipo_segno == "-") {
                      risultato = numero1 - numero2;
               }
               else if (tipo_segno == "/") {
                      risultato = numero1 / numero2;               
               }
               else if (tipo_segno == "*") {
                      risultato = numero1 * numero2;
               }
               else {
                      cout<<"Tipo di calcolo non valido"<<endl;
                      return;
               }
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.