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

    [C] Lavorare con i file per modificare ed eliminare i contenuti

    salve raga , mi e' stato assegnato un esercizio e non ho ben chiaro come svolgerlo e vorrei delle delucidazioni da voi su come muovermi.
    in pratica :
    1) devo caricare da file un elenco degli artisti: esempio: 1,bobsinclair,1980,house ecc
    2) aggiungere,modificare, e eliminare questi artisti
    3)caricare da file un elenco di utenti
    4)caricamento e salvataggio delle preferenze degli utenti , da file .. esempio: utente 1, pitbull, like
    5) aggiungere,modificare,eliminare preferenze.

    voi avreste un idea su come impostare questo programma? mi serve per un progetto e vorrei avere dei consigli da voi piu' esperti ( per esempio, devo creare una struct? come modificare un singolo punto dell utente o come cancellarlo?) . Ringrazio anticipatamente tutti e spero possa avere una buona permanenza nel forum
    Ultima modifica di giacomo199817; 17-04-2018 a 17:48

  2. #2
    ************AGGIORNAMENTO POST *******************
    salve raga , mi e' stato assegnato un esercizio e non ho ben chiaro come svolgerlo e vorrei delle delucidazioni da voi su come muovermi.
    in pratica :
    1) devo caricare da file un elenco degli artisti: esempio: 1,bobsinclair,1980,house ecc
    2) aggiungere,modificare, e eliminare questi artisti
    3)caricare da file un elenco di utenti
    4)aggiunta , modifica ed eliminazione utenti
    5)caricamento e salvataggio delle preferenze degli utenti , da file .. esempio: utente 1, pitbull, like
    6) aggiungere,modificare,eliminare preferenze
    7)ricerca artisti ( per genere o nazionalita' ecc...)
    8)ordinamento artisti (per top 10 piu ascoltati ..)
    9)dato un utente, mostrare il suo profilo con gli artisti ascoltati e l' elenco degli artisti graditi

    voi avreste un idea su come impostare questo programma? mi serve per un progetto e vorrei avere dei consigli da voi piu' esperti . Ringrazio anticipatamente tutti e spero possa avere una buona permanenza nel forum

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ovviamente devi usare delle strutture e, a seconda di cosa avete usato e studiato, array o liste.Dovrai conoscere come trattare i file binari per leggere e scrivere le strutture.Non vedo particolari difficoltà, se ci metti attenzione e strutturi bene in funzioni, dovresti farcela.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ovviamente devi usare delle strutture e, a seconda di cosa avete usato e studiato, array o liste.Dovrai conoscere come trattare i file binari per leggere e scrivere le strutture.Non vedo particolari difficoltà, se ci metti attenzione e strutturi bene in funzioni, dovresti farcela.
    L unica cosa che non ho capito è proprio come "rintracciare" una porzione del codice per modificarla o eliminarla

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quote Originariamente inviata da giacomo199817 Visualizza il messaggio
    L unica cosa che non ho capito è proprio come "rintracciare" una porzione del codice per modificarla o eliminarla
    Una "porzione di codice"? Che intendi?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Una "porzione di codice"? Che intendi?
    intendo nel file , se voglio modificare una parte ( per esempio della struct) come faccio?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Carica tutto in memoria, fai le modifiche in memoria e a richiesta o alla fine salvi su disco.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Carica tutto in memoria, fai le modifiche in memoria e a richiesta o alla fine salvi su disco.
    Ho messo giu' un codice di prova , in pratica se provo a premere "1" per la scrittura sul file avviene correttamente, quando premo 2 invece non mi visualizza l output, questo posso vederlo solo dopo aver chiuso il programma e premendo 2 , se lo visualizzo prima non appare nulla, potresti aiutarmi? ecco il codice:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    
    
    
    
    
    
    //struttura
    struct person
    {
        int id;
        char fname[20];
        char lname[20];
    };
    
    
    int main ()
    
    
    {
     //******************************************************************************
        unsigned int scelta; //scelta per il menu
        char torna; //ritorno al menu o uscita
        do {
        system("COLOR E"); //modifica il colore delle scritte
        printf("*************************\n");                                    //*
        printf("BENVENUTO IN SPOTIFY\n");                                         //*
        printf("*************************\n");                                    //*
                                                                                  //*
        //menu riguardante solo artisti                                           //*
        printf("1) Scrivi su file gli artisti\n\n");                              //*
        printf("2) Visualizza gli artisti scritti su file\n\n");                  //*
        printf("3) Aggiungi/Modifica/Elimina--Artisti\n\n");                      //*
                                                                                  //*
        //menu riguardante solo utenti                                            //*
        printf("4) Scrivi su file gli utenti\n\n");                               //*
        printf("5) Visualizza gli utenti scritti su file\n\n");                   //*
        printf("6) Aggiungi/Modifica/Elimina--Utenti\n\n");                       //*
                                                                                  //*
        //preferenze utenti                                                       //*
        printf("7) Scrivi su file le preferenze degli utenti\n\n");               //*
        printf("8) Aggiungi/Modifica/Elimina--Preferenze\n\n");                   //*
                                                                                  //*
        //ricerca e ordinamento artisti                                           //*
        printf("9) Ricerca degli artisti\n\n");                                   //*
        printf("10) Ordina gli artisti\n\n");                                     //*
                                                                                  //*
        //visualizza utente                                                       //*
        printf("11) Mostra il profilo completo di un singolo utente\n\n");        //*
                                                                                  //*
        //scelta                                                                  //*
        menu:                                                                     //*
        printf("Inserisci numero scelto: ");                                      //*
                                                        //*
    scanf("%u",&scelta);
    
    
        switch(scelta){
        case 1:
    				{system("cls");
    				 FILE *outfile;
    
    
        // open file for writing
        outfile = fopen ("person.dat", "w");
        if (outfile == NULL)
        {
            fprintf(stderr, "\nError opend file\n");
            exit (1);
        }
    
    
        struct person input1 = {1, "rohan", "sharma"};
        struct person input2 = {2, "mahendra", "dhoni"};
    
    
        // write struct to file
        fwrite (&input1, sizeof(struct person), 1, outfile);
        fwrite (&input2, sizeof(struct person), 1, outfile);
    
    
        if(fwrite != 0)
            printf("contents to file written successfully !\n");
        else
            printf("error writing file !\n");
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 2:
    				{system("cls");
    				FILE *infile;
        struct person input;
    
    
        // Open person.dat for reading
        infile = fopen ("person.dat", "r");
        if (infile == NULL)
        {
            fprintf(stderr, "\nError opening file\n");
            exit (1);
        }
    
    
        // read file contents till end of file
        while(fread(&input, sizeof(struct person), 1, infile))
            printf ("id = %d name = %s %s\n", input.id,
            input.fname, input.lname);
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 3:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 4:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 5:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 6:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 7:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 8:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 9:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 10:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
        case 11:
    				{system("cls");
    				//funzione1();
    				system("pause");
    				system("cls");}
    				break;
    
    
    
    
    				default:
                    system("cls");
    				printf("Scelta non valida\n");
    
    
    				}
    
    
    		printf("Si desidera tornare al Menu' Principale?\n\n");
    		printf("[y] Si, desidero tornare al Menu' Principale\n\n");
    		printf("[n] No, desidero uscire\n\n");
    		printf("Effettua la tua scelta: ");
    		scanf("%s",&torna);
    		system("cls");
    	}
    	while (torna!='n');
    	return 0;
    	}
    Ultima modifica di alka; 30-04-2018 a 12:11 Motivo: Aggiunto il tag CODE

Tag per questa discussione

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.