Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - ciao a tutti problema inserimento
Forum - C/C++ - ciao a tutti problema inserimento

Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 15:24
Sabato, 23/05/2009
ciao a tutti ho un problema nellas funzione dell'inserimento nn funziona ma al contrario continua a richiamarmi cornice() mi sapete spiegare perchè?? grazie mille
Codice sorgente - presumibilmente C++

  1. // rub.cpp : definisce il punto di ingresso dell'applicazione console.
  2. //
  3. #include "stdafx.h"
  4. #include <iostream>
  5. #include <conio.h>
  6. #include <stdlib.h>
  7. #include <stdio.h>
  8. #include <string.h>
  9. #include "windows.h"
  10. using namespace std;
  11. typedef char stringa[40];
  12. struct membro{
  13.      stringa nome;
  14.      stringa cognome;
  15.      stringa citta;
  16.      stringa numero_casa;
  17.      stringa cellulare;
  18.      stringa email;
  19.      membro * succ;
  20. };
  21. membro * lista=NULL;
  22. membro * first=NULL;
  23. membro * prev;
  24. membro * next;
  25.  
  26. void cornice(void);
  27. void aggiungi(void);
  28. void modifica(void);
  29. void cancella(void);
  30. void ricerca(void);
  31. void visualizza(void);
  32. int scelta, termina=0, nomu=0;
  33.  
  34. int main(){
  35.      cornice();
  36.         do{
  37.          cin>>scelta;
  38.          switch(scelta){
  39.              case 1:
  40.                  aggiungi();
  41.                  break;
  42.              case 2:
  43.                  modifica();
  44.                  break;
  45.              case 3:
  46.                  cancella();
  47.                  break;
  48.              case 4:
  49.                  ricerca();
  50.                  break;
  51.              case 5:
  52.                  visualizza();
  53.                  break;
  54.              case 6:
  55.                  termina=1;
  56.                  break;
  57.              default:
  58.                  
  59.                  cout<<"!!! ATTENZIONE !!! Devi inserire uno dei valori indicati";
  60.                
  61.                  
  62.                  cout<<"                                                        ";
  63.                
  64.                  cout<<"     ";
  65.          }
  66.      }while(termina==0);
  67.       return 0;
  68. }
  69.  
  70. void aggiungi(void){
  71.     int i=1, num_membri=0, ins=0;
  72.      stringa cognomex;
  73.      nomu=1;
  74.          while(i<=num_membri){
  75.          if(first==NULL)
  76.          {
  77.      nomu=1;
  78.          lista=new(membro);
  79.      cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  80.      cout<<"Inserisci il NOME : ";
  81.      cin>>lista->nome;
  82.      cout<<"Inserisci il COGNOME : ";
  83.      cin>> lista->cognome;
  84.      cout<<"Inserisci la CITTA' : ";
  85.      cin>> lista->citta;
  86.      cout<<"Inserisci il NUMERO DI CELLULARE : ";
  87.      cin>>lista->cellulare;
  88.      cout<<"Inserisci il NUMERO DI CASA : ";
  89.      cin>>lista->numero_casa;
  90.      cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  91.      cin>>lista->email;
  92.      num_membri++;
  93.          lista->succ=NULL;
  94.          first=lista;
  95.          }
  96.          else{
  97.               lista=first;
  98.               ins=0;
  99.               while(ins==0){
  100.                    if(lista->succ!=NULL){
  101.                          if(strcmp(cognomex,lista->cognome)>0){
  102.                                     prev=lista;
  103.                                     lista=lista->succ;
  104.                                     next=lista;
  105.                          }
  106.                          else{
  107.                                     if(lista!=first){
  108.                                              prev->succ=new(membro);
  109.                                              cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  110.                          cout<<"Inserisci il NOME : ";
  111.                          cin>>lista->nome;
  112.                          cout<<"Inserisci il COGNOME : ";
  113.                          cin>> lista->cognome;
  114.                          cout<<"Inserisci la CITTA' : ";
  115.                          cin>> lista->citta;
  116.                          cout<<"Inserisci il NUMERO DI CELLULARE : ";
  117.                          cin>>lista->cellulare;
  118.                          cout<<"Inserisci il NUMERO DI CASA : ";
  119.                          cin>>lista->numero_casa;
  120.                          cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  121.                          cin>>lista->email;
  122.                                              lista->succ=next;
  123.                                              ins=1;
  124.                                     }
  125.                                     else{
  126.                                              next=first;
  127.                                              lista=new(membro);
  128.                                              cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  129.                          cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  130.                          cout<<"Inserisci il NOME : ";
  131.                          cin>>lista->nome;
  132.                          cout<<"Inserisci il COGNOME : ";
  133.                          cin>> lista->cognome;
  134.                          cout<<"Inserisci la CITTA' : ";
  135.                          cin>> lista->citta;
  136.                          cout<<"Inserisci il NUMERO DI CELLULARE : ";
  137.                          cin>>lista->cellulare;
  138.                          cout<<"Inserisci il NUMERO DI CASA : ";
  139.                          cin>>lista->numero_casa;
  140.                          cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  141.                          cin>>lista->email;
  142.                                              first=lista;
  143.                                              ins=1;
  144.                                     }
  145.                          }
  146.                    }
  147.                    else{
  148.                          if(strcmp(cognomex,lista->cognome)>0){
  149.                                     lista->succ=new(membro);
  150.                                     lista=lista->succ;
  151.                                          cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  152.                            cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  153.                            cout<<"Inserisci il NOME : ";
  154.                             cin>>lista->nome;
  155.                           cout<<"Inserisci il COGNOME : ";
  156.                          cin>> lista->cognome;
  157.                        cout<<"Inserisci la CITTA' : ";
  158.                      cin>> lista->citta;
  159.                     cout<<"Inserisci il NUMERO DI CELLULARE : ";
  160.                       cin>>lista->cellulare;
  161.                       cout<<"Inserisci il NUMERO DI CASA : ";
  162.                     cin>>lista->numero_casa;
  163.                     cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  164.                    cin>>lista->email;
  165.                                     lista->succ=NULL;
  166.                                     ins=1;
  167.                          }
  168.                          else{
  169.                                     if(prev!=NULL){
  170.                                              prev->succ=new(membro);
  171.                                                cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  172.                            cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  173.                            cout<<"Inserisci il NOME : ";
  174.                             cin>>lista->nome;
  175.                           cout<<"Inserisci il COGNOME : ";
  176.                          cin>> lista->cognome;
  177.                        cout<<"Inserisci la CITTA' : ";
  178.                      cin>> lista->citta;
  179.                                          cout<<"Inserisci il NUMERO DI CELLULARE : ";
  180.                       cin>>lista->cellulare;
  181.                       cout<<"Inserisci il NUMERO DI CASA : ";
  182.                     cin>>lista->numero_casa;
  183.                     cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  184.                    cin>>lista->email;
  185.                                              ins=1;
  186.                                     }
  187.                                     else{
  188.                                              next=first;
  189.                                              lista=new(membro);
  190.                                             cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  191.                            cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
  192.                            cout<<"Inserisci il NOME : ";
  193.                             cin>>lista->nome;
  194.                           cout<<"Inserisci il COGNOME : ";
  195.                          cin>> lista->cognome;
  196.                        cout<<"Inserisci la CITTA' : ";
  197.                      cin>> lista->citta;
  198.                     cout<<"Inserisci il NUMERO DI CELLULARE : ";
  199.                       cin>>lista->cellulare;
  200.                       cout<<"Inserisci il NUMERO DI CASA : ";
  201.                     cin>>lista->numero_casa;
  202.                     cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
  203.                    cin>>lista->email;
  204.                                              lista->succ=next;
  205.                                              first=lista;
  206.                                              ins=1;
  207.                                     }
  208.                          }
  209.                    }
  210.               }
  211.          }
  212.          i++;
  213.      }
  214.      nomu=0;
  215.      cornice();
  216. }
  217.  
  218. void modifica(void){
  219. }
  220.  
  221. void cancella(void){
  222. }
  223.  
  224. void visualizza(void){
  225. }
  226.  
  227. void ricerca(void){
  228.      int trovato=0;
  229.      stringa nomet;
  230.      nomu=1;
  231.      cornice();
  232.      lista=first;
  233.      cout<<"Inserisci il nome del membro da trovare : ";
  234.      cin>>nomet;
  235.      while((trovato==0)&&(lista!=NULL)){
  236.           if(strcmp(lista->nome,nomet)==0){
  237.               trovato=1;
  238.           }
  239.           else
  240.               lista=lista->succ;
  241.      }
  242.      if(trovato==0){
  243.            cout<<"Il membro di nome " <<nomet <<" non e' presente in rubrica.";
  244.      }
  245.      else{
  246.           cout<<"Ecco i dati del membro di nome " <<nomet <<" :";
  247.        
  248.           cout<<"Nome: "<<lista->nome;
  249.          
  250.           cout<<"Cognome: "<<lista->cognome;
  251.          
  252.           cout<<"Citta': "<<lista->citta;
  253.          
  254.           cout<<"Numero del cellulare: "<<lista->cellulare;
  255.          
  256.           cout<<"Numero di casa: "<<lista->numero_casa;
  257.        
  258.           cout<<"Indirizzo email: "<<lista->email;
  259.      }
  260.      nomu=0;
  261.      cornice();
  262. }
  263.  
  264. void cornice(void){
  265.        if(nomu==0){
  266.          
  267.        cout<<"1. Aggiungi numero"<<endl;
  268.      
  269.        cout<<"2. Modifica numero"<<endl;
  270.      
  271.        cout<<"3. Cancella numero"<<endl;
  272.      
  273.        cout<<"4. Ricerca  numero"<<endl;
  274.      
  275.        cout<<"5. Visualizza cognomi della rubrica"<<endl;
  276.      
  277.        cout<<"6. Esci dalla rubrica"<<endl;
  278.        
  279.        cout<<"FAI LA TUA SCELTA >>> Inserisci un valore : "<<endl;
  280.      }
  281. }



matteog
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:33
Sabato, 23/05/2009
Non capisco perche' utilizzi tante volte lo stesso codice (input del cognome, nome, ecc.) invece di usare una funzione ... cosi' e' confuso, quasi illeggibile ...


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 15:36
Sabato, 23/05/2009
il fatto è che nn ci capisco molto nelle liste e nn sò come fare per renderlo più semplice sapresti consigliarmi come fare per creare una funzione d'inserimento semplice e veloce??


matteog
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:39
Sabato, 23/05/2009


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote