Aiuto programma esercitazione strutture e funzioni

di il
59 risposte

Aiuto programma esercitazione strutture e funzioni

Ciao a tutti, qualcuno potrebbe aiutarmi a capire bene come strutturare questo programma ?
non so come posso iniziare.
magari se potete mettere qualche commento, e se è possibile farlo nel modo più semplice possibile.
Sono alle prime armi, sto cercando di imparare C il più possibile.



Grazie mille in anticipo.

59 Risposte

  • Re: Aiuto programma esercitazione strutture e funzioni

    
    #include <stdio.h>
    #include <time.h>
    int main()
    {
        unsigned int m[5]={0x78656276,0x6d657274,0x8080865,0xa0a0a20,CLOCKS_PER_SEC>>5},i,j,k;
        char* p=(char*)m; clock_t t;
    	#define _(n) putchar(*(p+n))
    	for(i^=i;i++-40;_(15));for(i^=i;i++-78;_(12));
        for(k=30,j^=j;j-9;++j,++k)
    	{
    		for (;k-i;--i,_(j),_(12),printf("%.*s",3,p+9)) 
    			for(t=clock();clock()-t<m[4];fflush(stdout));
    		_(j);
    		for(;77-(k-30)-i;++i,_(12));
    	}
    	for (i^=i;i++-20;_(15))
    		for(t=clock();clock()-t<m[4];);
    	return 0;
    }
    
  • Re: Aiuto programma esercitazione strutture e funzioni

    vbextreme ha scritto:


    
    #include <stdio.h>
    #include <time.h>
    int main()
    {
        unsigned int m[5]={0x78656276,0x6d657274,0x8080865,0xa0a0a20,CLOCKS_PER_SEC>>5},i,j,k;
        char* p=(char*)m; clock_t t;
    	#define _(n) putchar(*(p+n))
    	for(i^=i;i++-40;_(15));for(i^=i;i++-78;_(12));
        for(k=30,j^=j;j-9;++j,++k)
    	{
    		for (;k-i;--i,_(j),_(12),printf("%.*s",3,p+9)) 
    			for(t=clock();clock()-t<m[4];fflush(stdout));
    		_(j);
    		for(;77-(k-30)-i;++i,_(12));
    	}
    	for (i^=i;i++-20;_(15))
    		for(t=clock();clock()-t<m[4];);
    	return 0;
    }
    
    Cos' è questa cosa ?
  • Re: Aiuto programma esercitazione strutture e funzioni

    Probabilmente è un modo "pittoresco" di vbextreme di dirti che stai chiedendo troppo ...

    L'esercizio è piuttosto "articolato" e "abbastanza lunghetto" e il fatto che tu non sappia da dove iniziare non spinge nessun utente in questo forum a risponderti (a parte minomic che lo farà sicuramente scrivendoti tutto il codice ... )
  • Re: Aiuto programma esercitazione strutture e funzioni

    oregon ha scritto:


    (a parte minomic che lo farà sicuramente scrivendoti tutto il codice ... )
    Non credo proprio...
  • Re: Aiuto programma esercitazione strutture e funzioni

    oregon ha scritto:


    Probabilmente è un modo "pittoresco" di vbextreme di dirti che stai chiedendo troppo ...

    L'esercizio è piuttosto "articolato" e "abbastanza lunghetto" e il fatto che tu non sappia da dove iniziare non spinge nessun utente in questo forum a risponderti (a parte minomic che lo farà sicuramente scrivendoti tutto il codice ... )
    Capisco, scusatemi se sono stato abbastanza invadente. Mi servirebbe per avere uno spunto di avvio, sto studiando queste cose all' università, però ho capito ben poco del C. So come muovermi solamente facendo le cose basilari. Già vedendo i puntatori si inizia a complicare un bel pò la vita.
    Magari se ci fosse qualcuno che potrebbe spiegarmeli in modo più semplificato ne sarei felice.

    Grazie comunque.
  • Re: Aiuto programma esercitazione strutture e funzioni

    Beh, quell'esercizio è pieno di puntatori ... strutture, allocazione dinamica, probabilmente liste (se le avete fatte) ...

    Capisco i problemi che hai, ma un forum non è una scuola. I puntatori li studi sui libri e alle lezioni ...
  • Re: Aiuto programma esercitazione strutture e funzioni

    [OFFTOPIC]

    oregon ha scritto:


    un forum non è una scuola.
    Ricordati come ha reagito l'ultimo a cui lo hai detto...

    [/OFFTOPIC]
  • Re: Aiuto programma esercitazione strutture e funzioni

    Va benissimo...vedrò di vedermele da solo.
    Scusate ancora.
  • Re: Aiuto programma esercitazione strutture e funzioni

    Perché da solo ?

    Il forum ti può aiutare con risposte precise a domande precise.

    Comincia ad impostare il programma, parti dalle strutture dei dati, importantissime e quando hai problemi - specifici - ce ne parli.

    Passo dopo passo ...
  • Re: Aiuto programma esercitazione strutture e funzioni

    Io ho iniziato il programma con:
    
    typedef struct {
    
    } libri;
    
    ovviamente ce ne sono più di una.

    il problema che ho riscontrato, ad esempio nella traccia, non ho capito come impostare la struttura

    ad esempio:
    non so se creare una struttura con libri oppure ISBN va all' interno. è più un' incomprensione della traccia il problema che ho riscontrato.
  • Re: Aiuto programma esercitazione strutture e funzioni

    Intanto il tipo è meglio chiamarlo libro e non libri (infatti, nella traccia ... quello che "caratterizza un libro" ...).

    Dalla traccia ... quello che caratterizza un libro è

    ISBN
    Titolo
    Lista_Autori

    Le prime due informazioni sono immediatamente inseribili nella struttura ... per la terza dovrai prima pensare ad una struttura "Autore" anch'essa descritta nella traccia ... basta leggere.
  • Re: Aiuto programma esercitazione strutture e funzioni

    oregon ha scritto:


    Intanto il tipo è meglio chiamarlo libro e non libri (infatti, nella traccia ... quello che "caratterizza un libro" ...).

    Dalla traccia ... quello che caratterizza un libro è

    ISBN
    Titolo
    Lista_Autori

    Le prime due informazioni sono immediatamente inseribili nella struttura ... per la terza dovrai prima pensare ad una struttura "Autore" anch'essa descritta nella traccia ... basta leggere.
    ovviamente questi sono tutti array di carattere, giusto ?
  • Re: Aiuto programma esercitazione strutture e funzioni

    ISBN è specificato come alfanumerico (sempre nella traccia) e - ovviamente - un titolo di un libro di che tipo vuoi che sia?
  • Re: Aiuto programma esercitazione strutture e funzioni

    oregon ha scritto:


    ISBN è specificato come alfanumerico (sempre nella traccia) e - ovviamente - un titolo di un libro di che tipo vuoi che sia?
    perfetto. Per ora ho scritto questo:
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define ID 50
    #define DIM 500
    #define LUNG_NOME 20
    #define LUNG_COGNOME 30
    #define LUNG_MAX_ARCHIVIO 300
    
    typedef struct {
     char ISBN[DIM];
     char Titolo[DIM];
     char Lista_Autori[DIM];
    } libro;
    
    typedef struct {
    char nome[LUNG_NOME];
    char cognome[LUNG_COGNOME];
    char nazionalita[DIM];
    } autore;
    
    typedef struct {
        char nome[LUNG_NOME];
        char cognome[LUNG_COGNOME];
        int codice_cliente[ID];
    } cliente;
    
    typedef struct {
        cliente clienti[LUNG_MAX_ARCHIVIO];
    } archivio_clienti;
    
    int compila_cliente(cliente *_cliente);
    int inserisci_cliente(cliente _nuovo_cliente, archivio_clienti *_arc_clienti);
    int check_cliente(char _codice_cliente[], archivio_clienti _arc_clienti);
    int compila_preventivo(cliente *nuovo_tesseramento);
    int inserisci_tesseramento(cliente _nuovo_tesseramento, archivio_clienti *_arc_clienti);
    int mostra_tesseramento_cliente(char _codice_cliente[], archivio_clienti _arc_clienti);
    int mostra_clienti(archivio_clienti arc_clienti);
    
    /*
     * 
     */
    
    int main(int argc, char** argv) {
        int scelta;
        int i;
        archivio_clienti arc_CLIENTI;
        cliente nuovo_cliente;
        
                   
        do {
            system("clear");
            printf("****BIBLIOTECA****\n\n");
            printf("1. Inserisci nuovo libro\n");
            printf("2. Tessera cliente\n");
            printf("3. Prestito di un libro\n");
            printf("4. Visualizza prestiti di un cliente\n");
            printf("5. Visualizza libri\n");
            printf("0. Esci\n\n");
            
            printf("\tScelta: ");
            scanf("%d", &scelta);
            
            switch (scelta) {
                case 1:
                 system("clear");
                 printf("ISBN: ");
                    scanf("%s", &nuovo_cliente.codice_cliente);
                    break;
                 
            case 0:
                printf("Arrivederci, alla prossima ;)\n");
                break;
                
                default:
                   printf("Carattere errato: Inserire carattere valido.\n");
    
                   }
        } while (scelta != 0);
        
        return (EXIT_SUCCESS);
    }
    
    per oggi ho fatto fin quì, domani continuo, penso potrebbe andare.
Devi accedere o registrarti per scrivere nel forum
59 risposte