Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // Liste multiple
- //
- // Created by Federico Giuntoli 4H on 16/05/12.
- // Copyright (c) 2012 __I.T.S. "Tullio Buzzi" AS. 2012/13__. All rights reserved.
- //
- #include <iostream>
- using namespace std;
- struct lib {
- char titolo[10];
- lib *Prox;
- };
- struct aut {
- char nome[10];
- lib *libro;
- aut *Prox;
- };
- struct edit {
- char nome[10];
- aut *autore;
- edit *Prox;
- };
- edit *creaE (edit *E);
- aut *creaA (aut *A);
- lib *creaL (lib *L);
- void visualizzaA(aut *A);
- void visualizzaE(edit *E);
- void visualizzaL(lib *L);
- int main(){
- edit *E=NULL;
- bool a;
- do {
- E=creaE(E);
- cout << "vuoi inserire un altro editore? ";
- cin >> a;
- } while (a==true);
- visualizzaE(E);
- return 0;
- }
- lib *creaL (lib *L){
- lib *app = new lib();
- cout << "\nInserisci titolo libro: ";
- cin >> app->titolo;
- app -> Prox=NULL;
- if (L == NULL){
- L=app;
- }
- else{
- lib *app1=L;
- while (app1 -> Prox!=NULL){
- app1=app1->Prox;
- }
- app1->Prox=app;
- }
- return L;
- }
- aut *creaA (aut *A){
- aut *app = new aut();
- cout << "\nInserisci nome autore: ";
- cin >> app->nome;
- app -> Prox=NULL;
- bool a;
- lib *L = NULL;
- do {
- L = creaL(L);
- cout << "vuoi inserire un altro libro? ";
- cin >> a;
- } while (a==true);
- app->libro = L;
- if (A == NULL){
- A=app;
- }
- else{
- aut *app1=A;
- while (app1 -> Prox!=NULL){
- app1=app1->Prox;
- }
- app1->Prox=app;
- }
- return A;
- }
- edit *creaE (edit *E){
- edit *app = new edit();
- cout << "\nInserisci nome editore: ";
- cin >> app->nome;
- app -> Prox=NULL;
- bool a;
- aut *A = NULL;
- do {
- A = creaA(A);
- cout << "vuoi inserire un altro autore? ";
- cin >> a;
- } while (a==true);
- app->autore = A;
- if (E == NULL){
- E=app;
- }
- else{
- edit *app1=E;
- while (app1 -> Prox!=NULL){
- app1=app1->Prox;
- }
- app1->Prox=app;
- }
- return E;
- }
- void visualizzaE(edit *E) {
- edit *app=E;
- while(app!=NULL){
- cout <<"\n\t Nome editore: " << app->nome;
- cout << "\n\n";
- visualizzaA(app->autore);
- app=app->Prox;
- }
- }
- void visualizzaA(aut *A) {
- aut *app=A;
- while(app!=NULL){
- cout <<"Nome Autore: " << app->nome;
- cout << "\n\n";
- visualizzaL(app->libro);
- app=app->Prox;
- }
- }
- void visualizzaL(lib *A) {
- lib *app=A;
- while(app!=NULL){
- cout <<"Titolo Libro: " << app->titolo;
- cout << "\n";
- app=app->Prox;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement