Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Funzioni, richiesta spiegazioni sul funzionamento

    #include <iostream.h> //includo le librerie per cout e cin
    #include <conio.h> //includo le librerie per getch che non so che fà ^_^

    int mult(int x, int y); //Quì dichiaro la funzione
    void main() //Inizio la funzione principale del programma
    { //vabbè....
    int x, y; //dichiaro le variabili x e y intere
    cout<<"Inserire un numero, ed il numero per il quale moltiplicarlo"; //mostro a video la frase
    cin>>x>>y; //Input delle due variabili
    cout<<endl<<mult(x, y); //cout output, endl mando una linea a capo, mult(x, y) richiamo la funzione sotto dichiarata
    getch(); // che fà questa?
    } //si sà.....
    int mult(int x, int y) //dichiaro la mia funzione mult che è composta da due variabili intere
    { //....
    return x*y; //e questa che fà? Spiego alla funzione mult che cosa deve fare delle sue 2 variabili?
    } //

  2. #2
    Mi uppo da solo...

  3. #3
    codice:
    /* Include libreria dello Standard (Input-Output) del C++ */
    
    #include <iostream.h> 
    
    /* Include libreria CONIO.H (comprende la funzione GETCH()) del C++ */
    
    #include <conio.h>    
    
    /* Dichiarazione del PROTOTIPO della funzione func_AREA_RETT */
    
    int func_AREA_RETT(int base1, int altezza1);   
    
    /* Funzione principale ed UNICA INDISPENSABILE main() */
    
    void main(){ 
    
        /* 
    	Dichiaro 2 variabili d tipo int (da passare poi alla funzione func_AREA_RETT)
    	N.B. non devono chiamarsi necessariamente come le 2 variabili dichiarate
    	sopra nel PROTOTIPO della funzione func_AREA_RETT) ma devono essere di tipo int
        */
    	
    	int base2, altezza2; 
        
    	/* Output a video */
    
    	cout<<"Inserire la BASE : ";  
        
    	/* Input a video */
    
    	cin>>base2;  
        
    	/* Stessa cosa di sopra */
    
    	cout<<"Inserire l' ALTEZZA : ";  
        cin>>altezza2;  
        
        /* 
    	Output a video + (RICHIAMO la funzione func_AREA_RETT e gli passo
    	i valori inseriti nelle 2 variabili di tipo int che serviranno
    	alla funzione func_AREA_RETT (in pratica vengono passati
    	alle 2 variabili di tipo int della funzione func_AREA_RETT)
    	N.B. Ogni funzione ECCETTO quelle di tipo VOID()...
    	restituiscono sempre un risultato e quindi:
    	RETURN (BASE1 * ALTEZZA1) è il risultato che restituisce
    	la funzione func_AREA_RETT.
    	Infine il risultato della funzione func_AREA_RETT
    	viene restituito allo standard OUTPUT che appunto chiama la funzione
    	in MAIN().
    	*/
    
    	cout<<"AREA RETTANGOLO = "<<func_AREA_RETT(base2, altezza2)<<"\n\n"; 
        
        /* 
    	GETCH() è una funzione della libreria CONIO.H del C++
        che accetta un CARATTERE della tastiera prima di far proseguire
    	il flusso del programma, in questo caso ti serve
    	per attendere che tu visualizzi il risultato prima 
    	di uscire automaticamente dal programma.
        */
    
    	getch();
    	  
    } 
    
    int func_AREA_RETT(int base1, int altezza1){ 
        return (base1*altezza1);
    	
    }
    Ciao

  4. #4
    Uff, non mi funziona....

    #include <iostream.h>
    int func_PASSWORD(int username, int password);
    int main()
    {
    int counteraccessi, username, password;
    counteraccessi=0;
    counteraccessi=counteraccessi+1;
    cout<<"Inserisci Username = ";
    cin>>username;
    cout<<"Inserisci Password = ";
    cin>>password;
    if(username==123&&password==123)
    {
    cout<<"Benvenuto al Nuke76 Connecting Software "<<username;
    cout<<"\nquesto programma e' stato utilizzato N "<<counteraccessi<<" volte\n";
    cout<<func_PASSWORD(int username, int password); //quì dovrei richiamere la mia funzione password
    }
    else
    {
    cout<<"Password Errata "<<username<<"\n";
    }
    return 0;
    }

    int func_PASSWORD(int username, int password)
    {
    return (username*password);
    }

    Purpua?
    E poi volevo chiederti come faccio a richiamare una funzione e le sue relative operazioni?
    Mi spiego, dopo aver accettato la user e la pass vorrei richiamare la funzione VERFICA che contiene tutto l'if di verifica di password, come si fà?

    Grazie, ciao.

  5. #5
    Allora questo secondo me dovrebbe girare, dico dovrebbe perchè non gira, mi da errori....

    #include <iostream.h>
    #include <conio.h>
    int func_PASSWORD(int username1, int password1);
    int main()
    {
    int counteraccessi, username, password;
    counteraccessi=0;
    counteraccessi=counteraccessi+1;
    cout<<"Inserisci Username = ";
    cin>>username;
    cout<<"Inserisci Password = ";
    cin>>password;
    if(username==123&&password==123)
    {
    cout<<"Benvenuto al Nuke76 Connecting Software "<<username;
    cout<<"\nquesto programma e' stato utilizzato N "<<counteraccessi<<" volte\n";
    cout<<"moltiplicazione"<<func_PASSWORD(int username, int password);
    }
    else
    {
    cout<<"Password Errata "<<username<<"\n";
    }
    int func_PASSWORD(int username1, int password1)
    {
    return (username1*password1);
    }
    }

  6. #6
    Non ti funzia perchè
    fai un CASINO di errori...

    Ti consiglio di acquistare un manuale di C o C++
    ...In questo modo non imparerai mai a programmare in C/C++

    [code]
    STRUTTURA DI UN PROGRAMMA C/C++

    INCLUDO I FILE HEADER (*.h) CHE UTILIZZERO' NEL PROGRAMMA
    #include <iostream.h>
    DICHIARO PROTOTIPO DI FUNZIONE SE NECESSARIO
    int mia_func(int x, int y, int z);
    FUNZIONE PRINCIPALE ED INDISPENSABILE
    int main(){
    .........
    .........
    SE DEVO RICHIAMARE UNA FUNZIONE LO FACCIO
    E SE LA FUNZIONE NON E' DI TIPO "void"
    GLI PASSERO' DEI VALORI in questo caso x, y, z
    mia_func(x, y, z);
    SE UNA FUNZIONE NON è DI TIPO VOID es: void main()
    RESTITUISCE SEMPRE UN RISULTATO, in genere 0 se andata
    a buon fine ed 1 se ha causato un errore.
    PERCIO' IN QUESTO CASO (visto che ho dichiarato: int main()
    CI VUOLE :
    return 0;
    POI CHIUDO IL BLOCCO DELLA FUNZIONE main()
    }

    ORA SE DEVO INIZIALIZZARE UNA FUNZIONE LO FACCIO,
    MA RICORDATI "SEMPRE FUORI DA main() O DA ALTRE FUNZIONI.
    int mia_func(int x, int y, int z){
    ...........
    ...........
    VISTO CHE ANCHE QUESTA FUNZIONE E' DI TIPO int
    MI DEVE PER FORZA RESTITUIRE QUALCOSA
    return QUALCOSA;
    ORA CHIUDO IL BLOCCO DELLA FUNZIONE mia_func()
    }


    ECCO IL TUO PROGRAMMA CORRETTO

    confrontalo con quello che hai editato tu
    e cerca di capire dove hai sbagliato
    codice:
    #include <iostream.h> 
    
    int func_PASSWORD(int username1, int password1, int counter_accessi1); 
    
    void main(){ 
        int username, password, counter_accessi; 
        counter_accessi=0; 
        counter_accessi++; 
        cout<<"Inserisci Username = "; 
        cin>>username; 
        cout<<"Inserisci Password = "; 
        cin>>password; 
        func_PASSWORD(username, password, counter_accessi); 
    }
    
    int func_PASSWORD(int username1, int password1, int counter_accessi1){ 
        if(username1==123&&password1==123){ 
            cout<<"\nBenvenuto al Nuke76 Connecting Software :"<<username1; 
            cout<<"\nquesto programma e' stato utilizzato N° "<<counter_accessi1<<" volte\n\n"; 
        } 
        else{ 
            cout<<"\nUtente : "<<username1<<" Password Errata\n\n"; 
    	} 
        return 0; 
    }
    ciao

  7. #7
    No spe colpa mia, che non mi spiego, mi hai stravolto il programma.

    Allora questo e quello che volevo fare, richiedo la user e la pass, poi tramite l'IF verifico se è vera, se è vera, allora entro nel programma, che mi fà vedere "Benvenuto nel bla bla bla..." ed è all'interno di questo IF, se la user e la pass sono vere che richiamo la funzione func_PASSWORD che non fà altro che moltiplicare la user con la pass e mostrami a video il risultato.

    Giustamente dirai a che mi serve, a nulla solo ad imparare come si richiama la funzione.

    Mea culpa....

  8. #8
    Come non detto, ho capito. Sbonk. :quote:

  9. #9
    ALLORA!!!

    ti ho postato 2 ESEMPI differenti di come si RICHIAMANO
    le funzioni in C/C++

    GUARDA meglio i vari post e capirai...

    Il primo esempio passa 2 valori (BASE e ALTEZZA)
    ad una funzione che calcola l'area del rettangolo
    (molto elementare ed accadamico)

    Il secondo esempio passa 3 valori e richiama una funzione che
    convalida un LOGIN e ti restituisce il responso.

    Se vuoi saperne di più ti consiglio di acquistare
    un buon manuale sul linguaggio C/C++

    e di iniziare dalle BASI e non dalle funzioni.

    Ciao

  10. #10
    Usavo delle piccole guide che praticamente non spiegavano un cachio, dopo 2 pagine stavo già alle funzioni.

    Mi servirebbe sapere

    1) Un ottimo manuale che spieghi tutto dalla A alla Z, pensa che quello che aveva non spiega neanche la differenza fra void e main.

    2) Un compilatore decente, perchè mi sono accorto che non supporta alcuni comandi countaccessi++ ne è un esempio.

    Infini ti ringrazio per la pazienza. Ciao.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.