Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32

    HELPPPPPPPPPPPPP per programma in c++

    Ragazzi ho bisogno di una mano con questo programma da svolgere:

    Siano assegnati da tastiera il riempimento riemp e gli elementi di un vettore VS di strutture. Ciascuna struttura ha due campi, che rappresentano rispettivamente l’età ed il sesso di una persona (si supponga di codificare il sesso con un campo di tipo carattere che può assumere come valore ‘M’ oppure ‘F’).

    Si progetti un programma composto da tre funzioni:
    ・ una funzione LEGGI che deve leggere il riempimento e gli elementi del vettore di strutture VS
    ・ una funzione SEPARA che riceve in ingresso VS e riemp e restituisce come parametri di uscita due vettori di interi, VM e VF: il primo vettore dovrà contenere le età delle persone di sesso maschile ed il secondo le età delle persone di sesso femminile.
    ・ una funzione STAMPA che serve a stampare i vettori VM e VF. Quest'ultima funzione dovrà anche stampare un opportuno messaggio nel caso in cui uno dei due vettori sia vuoto.

    Il programma dovrà essere suddiviso in moduli, uno contenente prototipi e dichiarazioni, uno contenente le funzioni LEGGI, SEPARA e STAMPA ed un terzo contenente il main.

    Il codice da me steso è il seguente

    LIB.H
    <const int max=50;


    struct persona
    {
    int eta;
    char sesso;
    };

    typedef persona vettore_strut[max];
    typedef int vettore[max];
    //prototitpi

    void leggi (vettore_strut,int &);
    void separa (vettore_strut,int,vettore,vettore);
    void stampa(vettore,vettore,int,int);
    >

    MAIN.CPP
    <#include <iostream>
    #include "lib.h"

    using namespace std;

    int main()
    {
    vettore vm,vf;
    int riemp,riemp_vm,riemp_vf;
    vettore_strut vs;

    leggi(vs,riemp);
    separa(vs,riemp,vm,vf);
    stampa(vm,vf,riemp_vm,riemp_vf);

    system("PAUSE");
    return 0;

    }>

    LIB.CPP
    <#include <iostream>
    #include "lib.h"

    using namespace std;

    void leggi(vettore_strut vs, int &riemp)
    {
    int i;
    cout<<"inserire riempimento del vettore"<<endl;
    cin>>riemp;
    for(i=0;i<riemp;i++)
    {
    cout<<"inserire età della persona"<<endl;
    cin>>vs[i].eta;
    cout<<"inserire sesso della persona"<<endl;
    cin>>vs[i].sesso;
    }
    }

    void separa (vettore_strut vs,int riemp,int &riemp_vm,int &riemp_vf,vettore vm,vettore vf)
    {
    int i;
    riemp_vm=0;
    riemp_vf=0;

    for(i=0;i<riemp;i++)
    {
    if(vs[i].sesso=='m' || vs[i].sesso=='M')
    {

    vm[riemp_vm]=vs[i].eta;

    riemp_vm++;
    }
    else
    {
    vf[riemp_vf]=vs[i].eta;
    riemp_vf++;
    }
    }


    }


    void stampa(vettore vm, vettore vf, int riemp_vm, int riemp_vf)
    {
    int i,j;
    if(riemp_vm==0 && riemp_vf==0)
    cout<<"non ci sono elementi"<<endl;

    cout<<"gli elementi del vettore_vm sono :"<<endl;
    for(i=0;i<riemp_vm;i++)
    cout<<vm[riemp_vm];

    cout<<"gli elementi del vettore_vf sono :"<<endl;
    for(j=0;j<riemp_vf;j++)
    cout<<vf[riemp_vf];
    } >

    L'errore è il seguente :< [Linker error] undefined reference to `separa(persona*, int, int*, int*)' >

    PS: sono alle prime armi quindi mi scuso per eventuali errori stupidi
    Le parentesi angolari le ho inseritè affinchè si evidenzi il blocco di codice per ogni modulo. Se serve metterò in allegato la cartella dove c'è il codice sorgente

  2. #2
    Controlla il numero di argomenti che prende in input la funzione separa(guarda in "lib.h").. Poi usa i tag code in modo tale che il codice risulta più leggibile

  3. #3
    e poi scrivi dei titoli per le discussioni civili

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32

    grazie

    grazie ignazio che errore stupido che ho fatto...però ho svolto questo esercizio dopo ore di studio magari avevo la mente annebbiata xD...comunque la prossima volta userò il tag code mi scuso con tutti non sono tanto pratico di forum

  5. #5
    Tranquillo non ti preoccupare..lo studio a volte fa brutti scherzi ..L'importante è risolvere i problemi Ciao

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

    Moderazione

    Invito alla lettura del Regolamento per conoscere tutte le norme da rispettare nella partecipazione a quest'area del forum.

    Il titolo di questa discussione l'ho corretto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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.