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

    [C] campi delle strutture...ricercare num. tel. in una rubrica

    Ciao, come posso fare se voglio cercare il numero di telefono di una persona in una rubrica, costruita mediante le strutture?

    Cioè; si ha:
    typedef struct {
    char cognomeNome[20];
    char telefono[15];
    } Riga;

    typedef struct {
    int primaRigaLibera;
    Riga righe[100];
    } Pagina;

    typedef Pagina Rubrica[26];


    Come posso accedere correttamente ai campi per ricercare il numero di telefono nella struttura?

    Nella funziona da progettare si avrà logicamente in ingresso passato:
    - rubrica in cui cercare
    - cognome e nome della persona


    GRAZIE

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Ma sei sicuro che quel typedef funzioni??

    Ad ogni modo per effettuare una ricerca credo sia necessario utilizzare una delle classi template della STL oppure creare una tua struttura dati che permette di passare da una riga all'altra per ricercare. Ad esempio.

    codice:
    typedef struct _Riga _{
    char cognomeNome[20];
    char telefono[15];
    } Riga;
    Per prima cosa è necessario ricordare che il typedef non serve a niente se non metti un nome dopo alla keyword struct (infatti il compilatore dovrebbe darti un bel warning.

    Giustamente prima del main farai un bell'array di righe ove compilerai la tua roba
    codice:
    Riga Righe[100];
    Riga[1].cognomeNome = "Ciao a tutti";
    Riga[1].telefono = "800900800";
    E farai cosi per tutte e 100 righe.
    Ora per poter fare una ricerca, dovrai fare una cosa del genere

    codice:
    char *SceltaTelefono;
    scanf("%c",SceltaTelefono);
    
    for (int i = 0, i < 100, i++)
    [
     if (Riga[i] == Scelt aTelefono)
            printf("Ho trovato il numero e posso fare quello che voglio");
    ]
    Cosi in quella Riga[i] hai accesso a tutte le informazioni del numero telefonico e puoi modificare, fare quello che vuoi.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Originariamente inviato da XWolverineX
    Ma sei sicuro che quel typedef funzioni??

    Per prima cosa è necessario ricordare che il typedef non serve a niente se non metti un nome dopo alla keyword struct (infatti il compilatore dovrebbe darti un bel warning.

    Il typedef che uso è corretto.
    Usato in quel modo permette di rinominare la struttura in modo che, quando la si usa, non si deve sempre anteporre al suo nome la keyowrd struct.
    Ma la si chiama solo con il nome dato alla fine, dopo la chiusura della graffa.

  4. #4
    Io devo cercare il numero di telefono di una determinata persona in una rubrica telefonica definita come segue:

    codice:
    typedef struct {
    char cognomeNome[20];
    char telefono[15];
    } Riga;
    
    typedef struct {
    int primaRigaLibera;
    Riga righe[100];
    } Pagina;
    
    typedef Pagina Rubrica[26];
    Voglio progettare la funzione, con i suoi parametri passati..

  5. #5
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Il typedef che uso è corretto.
    Usato in quel modo permette di rinominare la struttura in modo che, quando la si usa, non si deve sempre anteporre al suo nome la keyowrd struct.
    Ma la si chiama solo con il nome dato alla fine, dopo la chiusura della graffa.
    Questo lo so. Eppure il Visual C++ mi segnala, con questo

    codice:
    typedef struct
    {
    	int a;
    	float b;
    	char c;
    } Struttura;
    Warning: Typedef ignorato per parametro mancante
    Ad ogni modo era una cosa di pignoleria
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  6. #6
    Io devo cercare il numero di telefono di una determinata persona in una rubrica telefonica definita come segue:

    codice:
    typedef struct {
        char cognomeNome[20];
        char telefono[15];
        } Riga;
    
        typedef struct {
        int primaRigaLibera;
        Riga righe[100];
        } Pagina;
    
        typedef Pagina Rubrica[26];


    Voglio progettare la funzione, con i suoi parametri passati..

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Innanzitutto la dichiarazione

    typedef Pagina Rubrica[26];

    non ha molto senso ...

    Dovresti chiarirne il senso ...

    In secondo luogo, se il puntatore ai dati e' "globale" allora la funzione potrebbe essere del tipo

    char *FindTelefono(char *CognomeNome)

    P.S. La struct puo' essere tranquillamente senza nome ... ovvero "anonima" ...

  8. #8
    La funzione pensavo di progettarla, non facendo ritornare un puntatore a carattere, ma semplicemente passare i valori per indirizzo.

    Quindi la funzione sarà del tipo:

    codice:
    void trova (const Rubrica *p, char cognomeNome) {

    Che ne dici?

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.