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

    [C]progetto rubrica telefonica

    Salve ragazzi, sto svolgendo per un esame questo proggetto;
    codice:
    Gestione archivio telefonico Si vuole simulare l’archivio telefonico di un cellulare. Ogni 
    nominativo è identificato dal Cognome, Nome, numero telefonico. Provvedere
     all’implementazione dell’algoritmo per la simulazione dell’archivio telefonico (massimo 30 nominativi).
     Permettere, inoltre, all’utente di · Inserire o cancellare un nominativo · Dato il Cognome e il
     Nome di un utente visualizzare il numero telefonico corrispondente (effettuare una ricerca binaria ricorsiva) · Dato un numero telefonico vedere il numero totale di chiamate da e verso quel numero L’archivio può anche essere inizializzato con informazioni casuali. Effettuare almeno due test per ognuna delle opzioni dell’utente.
    per ora sono riuscito a buttare giù solo questi codici
    codice:
    #include <stdio.h>
     #include <string.h> 
    void main ()
     { 	
    /* Lista prime voci*/ 	
    typedef struct 
     { 		
    char nome[20]; 		
    char numero[10]; 	
    }voce; 	
    
    voce v1,v2,v3,v4,v5; 	
    strcpy (v1.nome, "Alberto Savarese"); 	
    strcpy (v1.numero, "0813746288"); 	
    strcpy (v2.nome, "Claudia Bianco"); 	
    strcpy (v2.numero, "08173638097");     
    strcpy (v3.nome, "Alessandro Carnale"); 	
    strcpy (v3.numero, "08173634597"); 	
    strcpy (v4.nome, "Vincenzo Colella"); 	
    strcpy (v4.numero, "08133638575"); 	
    strcpy (v5.nome, "Gianfranco Tessitore"); 	
    strcpy (v5.numero, "08147352908");  	
    /* QUESTO E' IL MENU' PRINCIPALE*/ 	
    int i; 	
    printf("===========================================\n");
     printf("BENEVENUTO NELLA TUA RUBRICA TELEFONICA\n"); printf("===========================================\n\n"); 
     printf("Cosa vuoi fare?\n"); printf("1=Visualizzare tutte le voci in rubrica\n2=\n"); scanf("%d",&i); 
    if (i=1) 
    { 
    printf("Nome=%s      Numero=%s",v1.nome, v1.numero); 
    } 
    else 
    { 	
    printf("errore inserimento");
     } 
     }
    solo che sono bloccato, vorrei creare la function per visualizzare l'intera lista di nomi senza dover scrivere ogni volta nella printf tutte le variabili (anche perchè nella traccia devo dare la possibilità all'utente di poter aggiungere o eliminare voci).
    Mi date qualche dritta?

  2. #2
    perché stai usando 5 variabili diverse quando puoi creare direttamente un vettore di tipo "voce"?

    (per la cronaca, se fai una roba del genere ad un esame qualsiasi di informatica ti becchi la bocciatura sul colpo xD e te lo dico perché le ho viste con i miei occhi queste cose fatte da alcuni miei ex compagni di corso, ai suoi tempi)

  3. #3
    ok...in che senso con un vettore?

  4. #4
    codice:
    voce elencoTelefonico[30];

  5. #5
    ah intendevi un array...cmq si ora ho corretto ed ho fatto la prima parte del menù..cioè quella che permette di visualizzare i contatti ma non capisco perchè non escono i contatti...posto il codice:
    codice:
    #include <stdio.h>
    void main ()
    {
    	/* Lista prime voci*/
    	struct contatto {
    		char nome[20];
    		char cognome[20];
    		int numero;
    	};
    typedef struct contatto Contatto;
    	Contatto contatti[10]={{"Antonio","Rossi",339000413},
                                {"Alessia","Scoglio",329000172},
                                {"Luca","Abbate",324000156},
                                {"Francesco","Esposito",334000151},
                                {"Federica","Riccio",338000365}}; 
    	int ver_contatti[10]={1,1,1,1,1,0,0,0,0,0};
    
    	/* QUESTO E' IL MENU' PRINCIPALE*/
    	int i,oper;
    	printf("===========================================\n");
    printf("BENEVENUTO NELLA TUA RUBRICA TELEFONICA\n");
    printf("===========================================\n\n");
    
    printf("Cosa vuoi fare?\n");
    printf("1=Visualizzare tutti i contatti in rubrica\n");
    scanf("%d",&oper);
    do{
    	scanf("%d",&oper);
    }while (oper==1);
    if (oper==1)
        {
    			for(i=0;i<10;i++)
    			if(ver_contatti[i]==1)
    			{
    				printf("Contatto %d\n",i);
    				printf("%s     %s      %d",contatti[i].nome,contatti[i].cognome,contatti[i].numero);
    			}
    
    }
    }
    Praticamente digito 1 e me lo fà digitare all'infinito finchè non digito un'altro numero

  6. #6
    Originariamente inviato da devil_prince
    ah intendevi un array...cmq si ora ho corretto ed ho fatto la prima parte del menù..cioè quella che permette di visualizzare i contatti ma non capisco perchè non escono i contatti...posto il codice:
    codice:
    #include <stdio.h>
    void main ()
    {
    	/* Lista prime voci*/
    	struct contatto {
    		char nome[20];
    		char cognome[20];
    		int numero;
    	};
    typedef struct contatto Contatto;
    	Contatto contatti[10]={{"Antonio","Rossi",339000413},
                                {"Alessia","Scoglio",329000172},
                                {"Luca","Abbate",324000156},
                                {"Francesco","Esposito",334000151},
                                {"Federica","Riccio",338000365}}; 
    	int ver_contatti[10]={1,1,1,1,1,0,0,0,0,0};
    
    	/* QUESTO E' IL MENU' PRINCIPALE*/
    	int i,oper;
    	printf("===========================================\n");
    printf("BENEVENUTO NELLA TUA RUBRICA TELEFONICA\n");
    printf("===========================================\n\n");
    
    printf("Cosa vuoi fare?\n");
    printf("1=Visualizzare tutti i contatti in rubrica\n");
    scanf("%d",&oper);
    do{
    	scanf("%d",&oper);
    }while (oper==1);
    if (oper==1)
        {
    			for(i=0;i<10;i++)
    			if(ver_contatti[i]==1)
    			{
    				printf("Contatto %d\n",i);
    				printf("%s     %s      %d",contatti[i].nome,contatti[i].cognome,contatti[i].numero);
    			}
    
    }
    }
    Praticamente digito 1 e me lo fà digitare all'infinito finchè non digito un'altro numero
    per forza
    a cosa ti serve questo?
    codice:
    do{
    	scanf("%d",&oper);
    }while (oper==1);
    gli stai dicendo: leggi un intero da tastiera, se è == 1, rileggi un intero da tastiera.

  7. #7
    si praticamente ho fatto solo la prima voce del menù...quando sarà completo metterò gli altri numeri per selezionare le altre funzionalità, come cancella numero e via dicendo
    cmq ho risolto...avevo messo la scanf sia fuori che dentro il ciclo del do

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 © 2024 vBulletin Solutions, Inc. All rights reserved.