Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Protocollo in C

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12

    Protocollo in C

    Ciao ragazzi,
    spero almeno questa volta di non aver sbagliato posto su cui postare il mio problema.
    Devo fare un programma in C che registra protocolli e li salva su un file.
    Successivamente deve leggere dal file quello che ho scritto in precedenza.
    Quindi il programma deve leggere le cose che ho scritto anche ieri!
    Ho un po' di problemi per farlo.
    Comunque sia ci ho provato e lo ho implementato secondo le mie capacità.
    Spero mi possiate aiutare.
    Questo è il codice:


    //questo è un lavoro di lorenzo pisanò
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>


    int main()
    {
    int voci=1000,anno[4],scelta=0,n=0,presente=0,i,vero=0,volevi,j;
    char cliente[10],entrata[10],tipo[20],riga[400],protocollo[1000][3],scrivi,leggi,numero[1000];
    FILE *scrivere;
    FILE *leggere;
    FILE *puntascrivere;
    FILE *puntaleggere;

    puntascrivere=fopen("leggere.txt", "w");
    if(puntascrivere)
    {
    do
    {
    printf("/nInserisci:");
    printf("1) Aggiungi un nuovo protocollo\n") ;
    printf("2) Ricerca esatta \n") ;
    printf("3) Stampa completa \n") ;
    printf("0) Esci dal programma\n") ;

    printf("Che comando desideri usare?: ") ;
    gets(riga);
    scelta=atoi(riga);


    switch (scelta)
    {
    case 0:

    fclose(puntascrivere);
    fclose(puntaleggere);
    printf("Ciao!");
    return 0;

    break;
    case 1:

    puntaleggere=fopen("scrivi.txt", "w");

    printf("Inserisci il numero di protocollo: \n") ;
    gets(tipo);
    fputs(tipo,puntascrivere);
    printf("Inserisci se è un Entrata o un Uscita: \n") ;
    gets(entrata);
    fputs(entrata,puntascrivere);
    printf("Inserisci se è un Cliente o un Fornitore: \n") ;
    gets(cliente);
    fputs(cliente,puntascrivere);
    printf("Inserisci l'anno: \n") ;
    scanf("%d",&anno);
    fputc((int)'\t',puntascrivere);
    for(i=0;i<n;i++)
    {
    printf("Il numero di protocollo e': %d\n",numero[i]);
    }


    if(n==voci)
    {
    puts("Il file non può più contenere nessun dato!");
    }

    for (i=0;i<n;i++)
    for(j=0;j<3;j++)
    {
    if (strcmp(tipo,protocollo[i]) == 0 )
    presente = 1 ;
    if ( presente == 1 )
    {
    puts("Il numero di protocollo da lei inserito e' gia' stato registrato");
    break ;
    }


    n++ ;
    break ;
    }
    break;
    case 2:



    printf("1)cerca in base al tipo di protocollo: \n");
    printf("2)cerca in base a Entrata o Uscita: \n");
    printf("3)cerca in base al Cliente o Fornitore: \n");
    printf("4)cerca in base all'anno: \n");

    printf("Che comando desideri usare?: ") ;
    scanf("%d",&volevi);

    if(volevi==1)
    {
    printf("Tipo del protocollo: ");
    gets(tipo);
    for (i=0;i<n&&vero==0;i++)
    {
    if ( strcmp(tipo,protocollo[i])==0)
    {
    vero=1;
    scelta=i;
    }
    }
    if (vero==1)
    {
    printf(" %s\n %s\n %s\n %d\n",tipo[i],entrata[i],cliente[i],anno[i]);
    }
    }
    else
    {
    printf("Impossibile trovare il protocollo cercato") ;
    }
    if(volevi==2)
    {
    printf("Entrata o uscita: %c");
    gets(entrata);
    }
    if(volevi==3)
    {
    printf("Cliente o Fornitore: %c");
    gets(cliente);
    }
    if(volevi==4)
    {
    printf("Anno: %d");
    scanf("%d",&anno);
    }
    break;
    case 3:

    if(n==0)
    {
    printf("non ci sono protocolli all'interno del file!");
    }
    for(i=0;i<n;i++)
    {
    printf("\n");
    printf("\ntipo di protocollo: %d",tipo[i]);
    printf("\nentrata: %d",entrata[i]);
    printf("\ncliente: %d",cliente[i]);
    printf("\nanno: %d",anno[i]);
    printf("\nnumero di protocollo: %d",numero[i]);
    printf("\n");
    }
    break;
    }
    break;
    } while (scelta!=0);
    }
    else
    {
    return 0;
    }
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Quote Originariamente inviata da Pisno123 Visualizza il messaggio
    Spero mi possiate aiutare.
    Ma la richiesta specifica qual è?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12
    Non mi si aprono i file, cioè non mi scrive ne legge sui file. Volevo sapere se siete in grado di dirmi cosa ho sbagliato dato che a me sembra tutto giusto. Insomma il file "scrivere" deve contenere cioè che l'utente scrive nel programma. Poi deve leggere e stampare a video tutto ciò che contiene il file. Quindi deve anche registrare

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Quote Originariamente inviata da Pisno123 Visualizza il messaggio
    Non mi si aprono i file, cioè non mi scrive ne legge sui file. Volevo sapere se siete in grado di dirmi cosa ho sbagliato dato che a me sembra tutto giusto. Insomma il file "scrivere" deve contenere cioè che l'utente scrive nel programma. Poi deve leggere e stampare a video tutto ciò che contiene il file. Quindi deve anche registrare
    Ma perché utilizzi due file diversi? E con quei nomi?

    Utilizza un solo file e chiamalo "dati.txt" in cui scriverai e da cui leggerai.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12
    ok va bene mi puoi far vedere sul mio programma perchè non mi si apre e non mi funziona? Facciamo finta che uso solo un file chiamato dati.txt come dici tu. Please aiutami sono tiltato ahahah, sono all'incirca 3 ore su questo programma

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.