Codice: Seleziona tutto
1) Aggiungi utente
2) Aggiungi gruppo
3) Iscrivi utente a gruppo
4) Stampa elenco iscritti a gruppo
5) Stampa elenco gruppi per utente
header.h:
Codice: Seleziona tutto
typedef struct{
std::string codice, nome, cognome, eMail;
std::vector<std::string> nome_gruppo;
} Utente;
typedef struct{
std::string data, nomeGruppo;
std::vector<std::string> nomeUtente;
} Gruppo;
class Rete{
public:
Rete();
~Rete();
void insGruppo();
void insUtente();
void UtoG();
void stampa(int );
int menu();
private:
std::vector<Utente> u;
std::vector<Gruppo> g;
};
Codice: Seleziona tutto
#ifndef F
#define F
#include <iostream>
#include <list>
#include <vector>
#include "header.h"
#endif // F
Rete::Rete(){
{
Utente temp;
for(auto i: temp.nome_gruppo){
i=" ";
}
temp.nome={" "};
for (int i=0; i!=5000; ++i){
u.push_back(temp);
}
}
{
Gruppo temp;
for(auto i: temp.nomeUtente){
i=" ";
}
temp.nomeGruppo={" "};
for (int i=0; i!=500; ++i){
g.push_back(temp);
}
}
};
Rete::~Rete(){};
//Metodi
void Rete::insUtente(){
Utente temp;
std::cout<<"Inserisci Codice: "<<std::endl;
std::cin>>temp.codice;
std::cout<<"Inserisci Nome: "<<std::endl;
std::cin>>temp.nome;
std::cout<<"Inserisci Cognome: "<<std::endl;
std::cin>>temp.cognome;
std::cout<<"Inserisci E-Mail: "<<std::endl;
std::cin>>temp.eMail;
u.push_back(temp);
}
void Rete::insGruppo(){
Gruppo temp;
std::cout<<"Inserisci Data Creazione: "<<std::endl;
std::cin>>temp.data;
std::cin.ignore();
std::cin.clear();
std::cout<<"Inserisci Nome Gruppo: "<<std::endl;
std::getline(std::cin, temp.nomeGruppo);
g.push_back(temp);
}
void Rete::UtoG(){
std::string nUt;
std::cout<<"Inserisci il nome dell'utente: ";
std::cin>>nUt;
std::string nGr;
std::cout<<"Inserisci nome gruppo: ";
std::cin>>nGr;
for(auto i: u){
if(i.nome==nUt){
Utente temp=i;
for(auto j: temp.nome_gruppo){
if(j==" "){
j=nGr;
u.push_back(temp);
break;
}
}
}
}
for(auto i: g){
Gruppo temp=i;
if(i.nomeGruppo==nGr){
for(auto j: i.nomeUtente){
if(j==" "){
j=nUt;
g.push_back(temp);
break;
}
}
}
}
}
void Rete::stampa(int i){
switch(i){
case 1:
for(auto j: g){
for(auto iter: j.nomeUtente){
std::cout<<iter<<std::endl;
}
}
break;
case 2:
for(auto j: u){
for(auto iter: j.nome_gruppo){
std::cout<<iter<<std::endl;
}
}
break;
}
}
int Rete::menu(){
int scelta=0;
std::cout<<"1) Aggiungi utente"<<std::endl;
std::cout<<"2) Aggiungi gruppo"<<std::endl;
std::cout<<"3) Iscrivi utente a gruppo"<<std::endl;
std::cout<<"4) Stampa elenco iscritti a gruppo"<<std::endl;
std::cout<<"5) Stampa elenco gruppi per utente"<<std::endl;
std::cin>>scelta;
return scelta;
}
Codice: Seleziona tutto
#ifndef F
#define F
#include <iostream>
#include <vector>
#include "header.h"
#endif // F
int main(){
Rete r;
while(true){
switch(r.menu()){
case 1:
r.insUtente();
break;
case 2:
r.insGruppo();
break;
case 3:
r.UtoG();
break;
case 4:
r.stampa(1);
break;
case 5:
r.stampa(2);
break;
default:
return 0;
}
}
}
aggiungi utente, aggiungi gruppo, iscrivi utente a gruppo, stampa (quindi o 4 o 5 ), non stampa nulla, ho fatto un casino di cose (ho provato con 4 liste, con 2 vector e 2 liste, con 4 vector ecc.), sempre stesso risultato, non stampa!
io sinceramente non so cosa provare più, per favore, potreste darmi una dritta?
Grazie in anticipo.

