Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema in c++

    salve a tutti..allora ho un problema con un programma..
    il testo è il seguente:
    Dato un elenco di persone con l'indicazione del cognome, del nome e dell'età, calcolare l'età media e visualizzare in output i dato delle persone con età superiore alla media calcolata.

    Io sono riuscito a svolgerlo..è funzionante..ora vorrei provare a modificarlo, in modo da definire due funzioni separate..una per l'acquisizione dei dati e l'altra per la visualizzazione degli output..qualche consiglio su come posso fare?

    # include <iomanip.h>
    # include <math.h>
    int num;
    main()
    { cout<<"inserire quante persone si desiderano inserire"<<endl;
    cin>>num;
    struct persona
    {
    char cognome[15];
    char nome[15];
    int anni;
    };
    struct persona dati[num];
    int somma,i;
    float media;

    somma=0;
    for(i=0;i<num;i++)
    {
    cout<<"Utente numero: "<<i+1<<endl;
    cout<<"inserisci cognome"<<endl;
    cin>>dati[i].cognome;
    cout<<"inserisci nome "<<endl;
    cin>>dati[i].nome;
    cout<<"inserisci eta'"<<endl;
    cin>>dati[i].anni;
    somma=somma+dati[i].anni;
    }
    media=somma/num;
    cout<<"La media d'eta' e' :"<<media<<endl;
    for(i=0;i<num;i++)
    {
    if(dati[i].anni>media)
    {cout<<"persona con eta' superiore alla media numero : "<<i+1<<endl;
    cout<<"cognome: "<<dati[i].cognome<<endl;
    cout<<"Nome: "<<dati[i].nome<<endl;
    cout<<"Eta': "<<dati[i].anni<<endl;
    }}
    system("pause");
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Usa titoli più significativi, che diano un'idea del contenuto della discussione.
    Qui l'ho corretto io per dare l'esempio.

    Ti era già stato fatto notare qui la necessità di prendere visione e applicare il Regolamento di quest'area.

    Infine, il codice va inserito nel tag [CODE] per essere formattato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Comincia a dichiarare i nomi delle funzioni e ragiona sui parametri di input (e di output) che la funzione, secondo te, dovrebbe usare.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    un consiglio per un codice più pulito quando è possibile non fare mai input e output all'interno di funzioni... l'output della funzione lo metti in una variabile che poi farai tornare come risulato della funzione...

  5. #5
    post uguale al precedente...

  6. #6
    ho provato a farlo ma non parte facendolo in questo modo...forse non avrò capito le funzioni non so, all'inizio le ho dichiarate, all'interno del main le ho chiamate e alla fine ho fatto la definizione delle funzioni (2, una per l'acquisizione e l'altra per gli output)non riesco a capire, anche perchè essendo degli insiemi di informazioni che devono stare all'interno delle funzioni (cin e cout) non posso neanche quindi definire il tipo della funzione o che tipo di parametri ha questa in entrata, cioè non la posso ad esempio scrivere in questa forma...int funzione (int)...questo è quello che ho provato a fare comunque...

    codice:
    #include <iomanip.h> 
    #include <math.h> 
    acquisizioneDati(); 
    visualizzazioneOutput();  
    main() 
    {      
    int numeropers,somma,i;            
    cout<<"inserire quante persone si desiderano inserire"<<endl;        cin>>numeropers;       
     struct persona       
     {       
     char cognome[15];       
     char nome[15];       
     int anni;       
     };       
    struct persona dati[numeropers];       
    float media;        
    somma=0;         
     for(i=0;i<numeropers;i++)       
     {           
     acquisizioneDati();       
     somma=somma+dati[i].anni;        
     }       
    media=somma/numeropers;       
    cout<<"La media d'eta' e' :"<<media<<endl;       
    for(i=0;i<numeropers;i++)       
    {        if(dati[i].anni>media)        
      {         
    visualizzazioneOutput();        
      }       
    }            
    system("pause");       
    }                 
    acquisizioneDati()         
    {       
    cout<<"Utente numero: "<<i+1<<endl;       
    cout<<"inserisci cognome"<<endl;       
    cin>>dati[i].cognome;       
    cout<<"inserisci nome "<<endl;      
    cin>>dati[i].nome;      
     cout<<"inserisci eta'"<<endl;       
    cin>>dati[i].anni;       
    }                    
    visualizzazioneOutput()      
    {      
    cout<<"persona con eta' superiore alla media numero : "<<i+1<<endl;      cout<<"cognome: "<<dati[i].cognome<<endl;      
    cout<<"Nome: "<<dati[i].nome<<endl;      
    cout<<"Eta': "<<dati[i].anni<<endl;      
    }

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.