Visualizzazione dei risultati da 1 a 4 su 4

Discussione: primi passi con C

  1. #1

    primi passi con C

    Ciao A tutti sono nuovo sia del forum che del linguaggio di programmazione .
    questo è il mio piccolo e credo per la maggior parte di voi abbastanza ridicolo , ma ho cominciato da un mese a studiare da solo forte solo delle mie conoscenze matematiche .
    di seguito vi invio il codice che ho scritto :

    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #define            STORE_FILE        "store.dat"
    typedef struct{
        char libro[30];
        char autore[50];
    }libro;
     main(){
    
    
    char ty;{
            printf("\n\t\t-Menu'di scelta- ");
            printf("\n----------------------");
            printf("\n1-Inserisci libro ");
            printf("\n2-leggi dati ");
        
            }
            printf("\n--------------------");
            printf("\n\t-Scelta : -",ty);
        ty=getchar();
        getchar();            //riga che annulla l'invio dopo la scelta (riga inutile).
        switch (ty)    {    
        case '1':    
            FILE *fp;
            libro l;
            int i;
                
        if(!(fp=fopen(STORE_FILE,"a+b"))){
            printf("\nErrore scrittura file%s",STORE_FILE);
            exit(1);
        }
         printf("\n\t\t==>Iserisci<== ");
         
        printf("\n-Autore:");            
            gets(l.autore);
        printf("\n-Titolo:");
            gets(l.libro);
    
    
    
    
        
        if(fwrite(&l,sizeof(l),1,fp)>0){
        
        printf("\nDati scritti OK");
        printf("\n----------------");}
        else 
        printf("\nerrore ");
        fclose(fp);
        break;
        
        case'2':
        
        if(!(fp=fopen(STORE_FILE,"r"))){
            printf("\n errore di lettra dei dati%s ",STORE_FILE);
            exit(1);
            }
            while(fread(&l,sizeof(l),1,fp)>0){
            
        printf("\nautore:%s",l.autore);
        printf("\nTitolo:%s",l.libro);
            printf("\n------------");
        i++;
    
    
        
    
    
        }
    
    
        int c=i-55;
        printf("\n=================");
        printf("\n-Titoli letti :%d\n",c);
        printf("\n=================");
        fclose(fp);
        
        
    
    
    }
    
    
    }

    Ora il mio problema è questo :
    dopo aver inserito un record vorrei inserine un altro senza dover chiudere il programma , quindi come faccio a di re al programma vuoi inserire un altro record o vuoi tornare al menù principale .
    grazie in an ticipo
    Ultima modifica di LeleFT; 02-11-2015 a 13:18 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Aggiungi un altro ciclo. Quando devi ripetere qualcosa di norma in un linguaggio come C aggiungi un ciclo.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    non mi sono spigato vorrei che dopo il :

    codice:
    printf("\n\t\t==>Iserisci<== ");
    
    printf("\n-Autore:");    
    gets(l.autore);
    printf("\n-Titolo:");
    gets(l.libro);
    



    inserire un comando che mi dia le due possibilità , o tornare al menù di scelta o inserire un altro record
    Ultima modifica di LeleFT; 02-11-2015 a 13:18 Motivo: Aggiunti i tag CODE

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Come hai fatto il menù? Non puoi fare esattamente la stessa cosa lì?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.