Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447

    [C++] Funzione

    Da pochi giorni ho iniziato a studiare il linguaggio c++ attraverso un manuale. Nello studio di una dichiarazione di funzione mi sono imbattuto in un errore. Riportando il codice scritto sul libro nell'editor Dev-C++ e compilandolo non mi riportava nessun errore tuttavia una volta che lo facevo eseguire non ottenevo il risultato prefisso.

    codice:
    #include <iostream.h>
    #include <stdlib.h>
    #include <iostream.h>
    
    
    void max()
    {
        int n1, n2; // variabili imput
    
        /* Imput */
    
        cout << "Inserisci il primo numero: ";
        cin >> n1;
        cout << "Inserisci il secondo numero: ";
        cin >> n2;
    
        /* Elaborazione e Output */
    
        if (n1 >= n2)
         {
          cout << "Il numero maggiore digitato è: "
               << n1
               << " .\n";
         }
        else
         {
          cout << "Il numero maggiore digitato è: "
               << n2
               << " .\n";
         }
    }
    
    void main()
    {
      void max();
      system("pause");
      return 0;
    }
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    posta l'errore..

    cmq il se il main è dichiarato come "void" non serve ritornare 0 (che è un int) sennò devi usare int main()

    in più devi inserire

    codice:
    using namespace std;
    altrimenti cout e cin non può usarli

  3. #3
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Scusa ma essendo alle prime armi mi sono espresso male, cerco di spiegarmi meglio. Al momento che eseguo il programma mi viene visualizzata una finestra con scritto: "Premere un tasto per continuare...", quindi premendo poi un tasto mi esce e quindi non esegue effettivamente il programma, spero di essermi spiegato.

    Per quanto rigurda il pezzo di codice:

    codice:
    system("pause");
    return 0;
    Sinceramente non mi è stato ancora spiegato il significato, se mi potessi dare delle delucidazioni anche in merito te ne sarei grato.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    codice:
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    Nel main non devi scrivere

    void max();

    ma solamente

    max();

    codice:
    int main()
    {
      max();
      system("pause");
      return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    1) La funzione main deve restituire int e non void

    2) Input si scrive con la N di Nabucodonosor

    3) Qualsiasi compilatore/libro (d|r)ecente ti segnala con un warning che non bisogna usare gli header standard con il .h

    4) Non gestisci bene il caso di numeri uguali

    5) Nel main togli il void davanti a max()

    6) La funzione max dovrebbe soltanto effettuare una verifica, non gestire l'I/O quindi è preferibile dichiararla come

    int max(int a, int b)

    e richiamarla con

    esito = max(n1, n2)

    (o in un blocco switch)
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  6. #6
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Vi ringrazio, scusate l'ignoranza ma è due giorni che studio il C++.

    P.S. Pallinopinco potresti spiegarmi il punto 6 eventualmente con un esempio.

    GRAZIE MILLE

  7. #7
    Te lo scrivo al volo, dovrebbe compilare:

    Codice PHP:
    #include <iostream>
    #include <cstdlib>

    using namespace std;

    int max(int aint b)
    {
     if (
    b) return 1// Primo maggiore del secondo
         
    else if (b) return 2// Secondo maggiore del primo
              
    else return 0// I 2 numeri sono uguali
    }

    int main(void)
    {
       
    int n1n2;

        
    cout << "Inserisci il primo numero: ";
        
    cin >> n1;
        
    cout << "Inserisci il secondo numero: ";
        
    cin >> n2;

      
    // Analizza i casi
      
    switch(max(n1n2))
      {
       case 
    0cout << "UGUALI!" << endl; break;
       case 
    1cout << n1 << " > " << n2 << endl; break;
       case 
    2cout << n2 << " > " << n1 << endl;
      }
      
      
    system("pause");
      return 
    0;

    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

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.