Calcolatrice semplice di numeri interi

di il
18 risposte

Calcolatrice semplice di numeri interi

Salve a tutti, premetto che ho delle basi tecniche d'informatica invecchiate avendo fatto tutt'altro nella vita e volevo riprendere coscienza della programmazione in C++. Volevo capire se ero ancora in grado di compilare e avendo tempo libero "disoccupato", ho rispolverato il PC e ricaricato Dev C++ e compilato una semplice calcolatrice con numeri interi....ma sono un disastro , non riesco a fargli completare la compilazione...potete darmi qualche dritta ?? Grazie
Dimenticavo il prg...

#include <iostream>
#include <stdlib.h>
using namespace std;
char opera
//int main ()
cout<<" Quale operazione devo fare ?"<<" tra queste :\t";
cout<<" Somma - digita S\n";
cout<<" Sottrazione - digita M\n";
cout<<" Moltiplicazione - digita P\n";
cout<<" Divisione - digita D\n";
cin>>opera;
cout<<" Dammi il primo numero ?"<<a<<endl;
cout<<" Dammi il secondo numero ?"<<b<<endl;
// valutazione dell'input
if (opera = 'S'){
// funzione somma
int somma = (int a, int b)){
somma = a+b;
cout<<" La somma è :"<<somma<<endl;
return 0;}
else if (opera = 'M'){
// funzione sottrazione
int sottrazione = (int a, int b))}
sottrazione = a-b;
cout<<" La sottrazione è :"<<sottrazione<<endl;
return 0;}
else (opera = 'P'){
// funzione moltiplicazione
int moltiplicazione = (int a, int b)){
moltiplicazione = a*b;
cout<<" La moltiplicazione è :"<<moltiplicazione<<endl;
return 0;}
else(opera ='D'){
// funzione divisione
int divisione = (int a, int b)){
divisione = a*b;
cout<<" La divisione è :"<<divisione<<endl;
return 0;}
system ("pause");

18 Risposte

  • Re: Calcolatrice semplice di numeri interi

    Per favore metti il codice nel tag code.
    La riga "int main()" è un commento, quindi non può compilare. Poi mancano le graffe.
  • Re: Calcolatrice semplice di numeri interi

    Intanto devi usare i tag code per postare il codice, vedi regolamento.

    E poi devi dire qual è il problema perché hai chiesto un aiuto troppo generico.

    Comunque hai scritto cose che la sintassi C non prevede, sicuro di averlo mai studiato?

    int somma = (int a, int b)){

    che sarebbe? E poi in mezzo al resto del codice ?
  • Re: Calcolatrice semplice di numeri interi

    Buongiorno... x Alexv, mi dai info su come si mette il tag code?
    per caso è...
    C++
    X oregon, chiedevo se la sintassi per richiedere e fare delle operazioni è corretta.
    Per quanto riguarda la tua supposizione, forse hai ragione, non mi ricordo nulla ma se sono qui a chiedere è perché me ne rendo conto e volevo delle indicazioni.

    Comunque Grazie per le celeri risposte
    Totonne3
  • Re: Calcolatrice semplice di numeri interi

    Ho ricompilato il tutto, non considerate la prima compilazione e se potete valutate questa che segue...
    
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    char opera
    
    // richiesta informazioni
    int main ()
    int a=0; b=0;
    int somma =0; 
    char opera = " ";
    {
    cout<<" Quale operazione devo fare ?"<<" tra queste :\t";
    cout<<" Somma - digita S\n";
    cout<<" Sottrazione - digita M\n";
    cout<<" Moltiplicazione - digita P\n";
    cout<<" Divisione - digita D\n";
    cin>>opera;
    // richiesta numeri 
    cout<<" Dammi il primo numero ?"<<a<<endl;
    cout<<" Dammi il secondo numero ?"<<b<<endl;
    }
    // calcolo somma
    if (opera = 'S')
    {
        int somma = 0;
    	somma = a+b;
    	cout<<" La somma è :"<<somma<<endl;
    	return 0;
    }
    else if (opera = 'M')
    {
    // calcola sottrazione 
        int sottrazione = 0; 
        sottrazione = a-b;
    	cout<<" La sottrazione è :"<<sottrazione<<endl;
    	return 0;
    }
    else (opera = 'P')
    {
    // funzione moltiplicazione 
        int moltiplicazione = 0; 
        moltiplicazione = a*b;
    	cout<<" La moltiplicazione è :"<<moltiplicazione<<endl;
    	return 0;
    }
    else (opera ='D')
    {
    // funzione divisione
    int divisione = 0;
        divisione = a*b;
    	cout<<" La divisione è :"<<divisione<<endl;
    	return 0;
    }
    system ("pause")
  • Re: Calcolatrice semplice di numeri interi

    Attendo vostre considerazioni
  • Re: Calcolatrice semplice di numeri interi

    @Tolomeo, siamo onesti, quello che hai scritto non c'azzecca minimamente con il C o il C++.

    Non e' un problema di QUALCHE errore, e' un problema di

    TUTTO SBAGLIATO TUTTO DA RIFARE



    1) lo hai scritto come se fosse "Python"
    2) 'char opera' manca il ';'
    3) 'int main ()' mancano gli argomenti (ma anche no), manca la graffa aperta
    4) 'int a=0; b=0;' sbagliato
    5) 'char opera = " ";' sbagliato: hai assegnato una STRINGA ad un CARATTERE.
    6) 'cout<<" Dammi il primo numero ?"<<a<<endl;' sbagliato
    7) 'if (opera = 'S')' sbagliato! hai fatto un'assegnamento e NON un confronto

    ecc.

    Praticamente starei prima a dirti quali sono le righe di codice corrette (e sono stato buono )


    Insomma, devi RI-STUDIARE la sintassi del C partendo dalla pagina 1 del capitolo 1 del libro.

    Scrivere un programma NON E' come scrivere un tema: se anche usi il tuo dialetto, ""magari"" uno capisce lo stesso.

    1) Se il codice non segue PEDISSEQUAMENTE le REGOLE grammaticali del linguaggio di programmazione, il compilatore NON COMPILA.

    2) Per non parlare poi, di quando COMPILA, ma NON FUNZIONA (ed e' ancora ""grasso che cola"" )
    3) Per non parlare poi, di quando COMPILE, FUNZIONA per un po' e poi NON FUNZIONA PIU' (qualche santo in Paradiso se ne accorge )
    4) Per non parlare poi, di quando COMPILA e FUNZIONA PER SBAGLIO (;-) ma c'e' di peggio )
    5) Per non parlare poi, di quando COMPILA, SEMBRA FUNZIONARE, poi SALTUARIAMENTE NON FUNZIONA, e poi RI-CONTINUA a FUNZIONARE (e' il caso peggiore perche' te ne potresti non accorgere )

    https://sci4dem.it/un-errore-di-conversione-costoso-il-caso-della-sonda-mars-climate-orbiter/
  • Re: Calcolatrice semplice di numeri interi

    Ok, puoi darmi un'indicazione di qualche programmatore di C++ che magari trovo su youtube che spiega per filo e per segno come deve essere la sintassi...
    Nel frattempo stavo guardando qualcosa (su youtube), premetto che cercavo informazioni sulla compilazione in c++ ma ognuno ci mette del suo (tipo alcuni per far stampare a schermo scrivono printf() altri cout<<)
    Insomma una possibile linea guida univoca .
    Grazie in anticipo "migliorabile" o chiunque altro mi risponderà
  • Re: Calcolatrice semplice di numeri interi

    La printf() è la funzione di libreria del C, mentre cout è l'oggetto di classe ostream usato dal C++

    La sintassi la trovi sui libri. Lascia stare youtube.
  • Re: Calcolatrice semplice di numeri interi

    Youtube e' l'equivalente della discarica
    Il 99.99999% di quello che trovi e' ""spazzatura"".
    Questo non vuol dire che con ""tantissima pazienza" e ""sapendo dove e cosa cercare"" non si possano trovare anche dei ""diamanti grezzi""
    Il problema e' che per ""digerire"" questi ""diamanti"" serve un bel po' di competenza ""pregressa"".

    Per un ""principiante"":

    1) si studia dai LIBRI


    Ma per fare un ULTRA-RIASSUNTO:

    1) se vogliamo C e C++ sono DUE linguaggi di programmazione DIFFERENTI ma che CONVIVONO.

    2.1) dal punto di vista della ""sintassi"" puoi pensare al C++ come un'estensione del C
    2.2) dal punto di vista delle ""librerie"" ogn'uno ha le SUE librerie, MA il C++ puo' usare quelle del C, NON il viceversa.

    Quindi, quando stampi qualcosa su console, puoi usare le librerie del C ("printf") o quelle del C++ ("cout << ....) SE stai scrivendo un programma in C++ (usando il sottoinsieme della sintassi in comune con il C).
    Se stai scrivendo in C, puoi usare SOLO le librerie del C.

    E come fai a sapere se stai usando il C o il C++?

    SEMBRA banale MA NON LO E': TUTTO dipende dall'estensione del file!

    SE e' ".c" stai usando il C
    SE e' ".cpp", ".cxx", ".c++" stai usando il C++

    Mettiamola in un'altro modo:
    al giorno d'oggi, studiare programmazione partendo dal C o dal C++ e' un ""suicidio annunciato"":
    sono linguaggi ""ostici"" ANCHE per gli esperti.

    Se lo DEVI fare, allora ok.
    In alternativa ci sono diversi linguaggio DECISAMENTE piu' semplici ma non per questo meno divertenti.
    Al minimo: Python e Julia.
  • Re: Calcolatrice semplice di numeri interi

    YouTube raramente è un buon supporto per chi è a digiuno o quasi, a meno che non si bene cosa stai cercando.
    Puoi dare un'occhiata qui (dal capitolo 1 si parte con hello world), fermo restando che per uno studio serio non si può fare a meno di un libro sul linguaggio, uno sugli algoritmi e uno sull'architettura del software.
  • Re: Calcolatrice semplice di numeri interi

    Buongiorno, siete stati chiarissimi e quando riuscirò ad avere qualche soldino mi compro qualche libro come da voi descritto, anche se speravo di trovare qualcosa sulla rete.
    Io sono disoccupato dal 2018 ed ho molto tempo a disposizione, tra un lavoretto e l'altro ed una famiglia sulle spalle, speravo di riprendere qualche competenza informativa visto che per il lavoro l'unica frase che si ripete da qualche anno è " le faremo sapere..." .
    Grazie per il tempo dedicatomi.
  • Re: Calcolatrice semplice di numeri interi

    Purtroppo le "competenze informatiche" a livello di programmazione non si acquisiscono in poco tempo, tanto meno utilizzando la rete come unica fonte per lo studio.

    Ci vuole tempo, molto studio ad un certo livello (direi universitario) e tanta dedizione.

    Ma solo il primo non basta.
  • Re: Calcolatrice semplice di numeri interi

    Forse conviene fare una ricerca per vedere cosa è più richiesto nella propria zona, iniziare a studiare e creare un progetto da te per fare pratica, tenendo ben presenti gli esempi di codice e le "best practices". Il C++ richiede oggettivamente più tempo, una buona infarinatura del C e delle librerie esterne per fare anche cose di base e che possono portarti via altro tempo per impararle.
  • Re: Calcolatrice semplice di numeri interi

    Buongiorno Alexv, era proprio quello che volevo fare seguendo qualche guida on line, visto che per quanto riguarda lavorare non si trova nulla di serio e sfrutterei questo tempo per riprendere coscienza di un programma che mi piaceva...
    Grazie
Devi accedere o registrarti per scrivere nel forum
18 risposte