Visualizzazione dei risultati da 1 a 3 su 3

Discussione: stringa in c

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    35

    stringa in c

    io ho le seguenti stringhe in un file chiamato agenda.txt
    pippo rossi 123456789
    andrea bianchi 33336999
    franco zappa 456789
    Vorrei visualizzarli sul mio schermo in ordine alfabetico mi dite come faccio? con la funzione strcmp lo so ma non riesco ad adattarla al mio problema se potete farmi un piccolo esempio pratico..io leggo il file agenda.txt in questo modo :


    if ( (fp = fopen("agenda.txt" , "r" )) == NULL)
    {
    printf("\nErrore apertura file");
    exit(1);
    }


    while ( !feof(fp) )
    {
    fgets(rubrica, sizeof(rubrica), fp);
    printf("%s" , informazioniutenti);
    }
    fclose(fp);

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    nel file agenda ci saranno SEMPRE e SOLO 3 linee o sono variabili?

  3. #3

    allora..

    Se il file contiene sempre 3 parole per riga potresti leggere le parole con fp >> nome e poi salta il cognome e il numero oppure fai un ciclo che legge col get e che si ferma alla fine del nome. questo sempre se ti basta solo il nome per ordinarlo. se ti serve anche il cognome ti suggerisco di inserire gli elementi nel file in maniera diversa tipo uno per riga:

    - Nome1
    - Cognome1
    - Numero1
    - Nome2
    - Cognome2
    .......
    Questo per aggevolare la lettura che a questo punto potresti fare col getline in qusto modo eviti anche il problema dei cognomi tipo De nardi Del piero
    Scegli tu l'opzione che preferisci secondo me l'ultima e la migliore

    Invece per ordinare protresti usare una struct per salvare temporaneamente gli elementi della rubrica e per ordinarlo dovresti annidare due cicli il primo che legge gli elementi dal file e il secondo che li inserisce all'interno della struct facendo dei confronti(con lo strcmp o con una funzione equivalente magari fatta da te) e shiftando gli elementi all'interno della struct o se non vuoi shiftarli usa un campo in piu che userai come indice alla fine visualizzi la struct

    spero di averti aiutato

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