Programma Database in C

di il
95 risposte

Programma Database in C

Ciao a tutti ragazzi, complimenti per il Forum.
Avrei bisogno del vostro prezioso aiuto riguardo a un programma che devo sviluppare per un esame universitario.
La traccia è questa: "Gestione di un centro sportivo.
Archivi da creare:
· Corsi
· soci
· Iscrizioni e relativi pagamenti
· Ingressi al centro (orario di entrata ed uscita del socio)
Al momento dell’ingresso al centro, occorre verificare se il socio è in regola coi pagamenti."

Di questo programma devo creare una libreria statica, un progetto di testing in CUnit, e un file eseguibile. Il CDT da usare è indifferente, anche se io prediligo Eclipse CDT.

Mi potete aiutare perfavore? Io non sono proprio capace a fare i database in C

Vi ringrazio

95 Risposte

  • Re: Programma Database in C

    Ma che intendi con database nel contesto del tuo programma? File di testo? Un vero DBMS?
  • Re: Programma Database in C

    Non me lo ha spiegato neanche il professore, non lo so cosa intenda di preciso
  • Re: Programma Database in C

    Beh.... Così è difficile darti una risposta ma penso che intenda dei file .... Sapete trattare file di testo, file binari, strutture?
  • Re: Programma Database in C

    Si li abbiamo trattati ma io non sono molto bravo......comunque ho chiesto ai miei colleghi e loro presumono che la traccia creda di creare questa specie di database usando le struct!
  • Re: Programma Database in C

    Ti direi di usare SQLite ma se é un compito sarebbe meglio chiarire con il professore
  • Re: Programma Database in C

    Non posso usare SQLite perchè SQL non l'abbiamo ancora trattato, questo programma è per un esame di Programmazione C
  • Re: Programma Database in C

    Ho appena parlato con il professore, e mi ha detto che quel programma va svolto usando soltanto le STRUCT del C!
  • Re: Programma Database in C

    Ok ... quindi struct e file binari. Non hai nessuna idea? Come si può dare una mano se non partiamo da un tuo codice?
  • Re: Programma Database in C

    Questo è un file di esempio di database creato con struct, che il professore consiglia di seguire per poter sviluppare il progetto, in quanto sostiene "che è praticamente uguale, cambiano solo le variabili".
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /*---------- STRUCT LIBRI ------------*/
    
    struct Libri{
    	int id;
    	char nome_libro[100];
    	char autore[100];
    	char genere[100];
    };
    /*---------VARIABILI GLOBALI---------*/
    int n = 0;
    
    /*--------FUNZIONI PER GESTIRE LA LIBRERIA ------------*/
    
    void add_book(struct Libri *l);
    
    void read_book(struct Libri *l);
    
    void update_book(struct Libri *l);
    
    void delete_book(struct Libri *l);
    
    /*--------FUNZIONI ------------*/
    
    int menu();
    
    /*----------MAIN---------*/
    
    int main() {
    
    	int choise;	
    	int check;
    	
    	struct Libri *book;	
    	
    	book = (struct Libri*) malloc(sizeof(struct Libri));
    	
    	do{
    		choise = menu();
    		switch(choise){
    			case 1:
    				do{
    					add_book(&book[n]);				
    					realloc(book, sizeof(struct Libri));
    					printf("\nPremi 1 per continuare, 0 per uscire!");
    					scanf("%d", &check);				
    				}while(check !=0);
    				break;
    				
    			case 2:
    				read_book(book);
    				break;
    				
    			case 3:
    				update_book(book);
    				break;
    				
    			case 4:
    				delete_book(book);
    				break;
    				
    			default:
    				break;
    		}	
    	}while(choise==1||choise==2||choise==3||choise==4);
    	
    	
    	return 0;
    }
    
    /*----FUNZIONI PER LA GESTIONE DELLA LIBRERIA-------*/
    
    void add_book(struct Libri *l){
    	
    	l->id = n;	
    	printf("Inserisci nome libro:\n");
    	scanf("%s", l->nome_libro);
    	printf("Inserisci autore:\n");
    	scanf("%s", l->autore);
    	printf("Inserisci genere:\n");
    	scanf("%s", l->genere);	
    	n++;		
    }
    
    void read_book(struct Libri *l){
    	
    	int i;
    	
    	for(i=0;i<n;i++)   { 
    		printf("\nLibro %d:\nID: %d\nNOME LIBRO: %s\nAUTORE: %s\nGENERE: %s\n",i,l[i].id, l[i].nome_libro, l[i].autore, l[i].genere); 
    	}
    }
    
    
    void update_book(struct Libri *l){
    	
    	int i;
    	int id;
    	int check = 0;
    	
    	printf("\nInserisci l'id del libro da modificare:\n");
    	scanf("%d", &id);
    	
    	for(i=0; i<n;i++){
    		if(l[i].id == id){
    			printf("Inserisci nome libro:\n");
    			scanf("%s", l[i].nome_libro);
    			printf("Inserisci autore:\n");
    			scanf("%s", l[i].autore);
    			printf("Inserisci genere:\n");
    			scanf("%s", l[i].genere);
    			check = 1;
    		}		
    	}
    	if(check==0)
    		printf("L'id inserito non e' presente!\n");	
    }
    
    void delete_book(struct Libri *l){
    	
    	int i, j;
    	int id;
    	int check = 0;
    	
    	printf("\nInserisci l'id del libro da eliminare:\n");
    	scanf("%d", &id);
    	
    	for(i=0; i<n;i++){
    		if(l[i].id == id){
    			n--;
    			for(j=l[i].id; j<n;j++){
    				l[j] = l[j+1];
    				l[j].id--;
    			}
    			
    			
    			check = 1;
    		}		
    	}
    	if(check==0)
    		printf("L'id inserito non e' presente!\n");	
    		
    	realloc(l, sizeof(struct Libri));	
    }
    
    /*------ALTRE FUNZIONI-------*/
    
    
    
    int menu(){
    	
    	int choise;
    	
    	printf("\nMENU:\n1. Aggiungi Libri\n2. Visualizza Libri\n3. Modifica Libro\n4. Elimina Libro\n0. Esci\n");
    	scanf("%d", &choise);
    	
    	return choise;
    }
    
  • Re: Programma Database in C

    Sì ma non ho capito se pensi che qui qualcuno ti possa fare il programma pronto per l'uso. Il regolamento vieta la pappa pronta, quindi comincia a scrivere queste modifiche di cui parli e solo se hai problemi o errori, dicceli e se ne parla. Chiaro?
  • Re: Programma Database in C

    Si lo so, la cosa che volevo capire è che, siccome nella traccia mi chiede di verificare se il cliente entrante è in regola con i pagamenti, volevo capire questo come si struttura, perchè non ho proprio idea di come si fa!
  • Re: Programma Database in C

    Prova a buttare giù le strutture necessarie ...
  • Re: Programma Database in C

    Ok.......ci proverò!
  • Re: Programma Database in C

    Ragazzi ho provato a svolgere il progetto ma sto avendo difficoltà a sviluppare la funzione "che verifica se il socio entrante è in regola con i pagamenti". Potete aiutarmi? Io ho intuito che è una funzione booleana ma non so svilupparla
Devi accedere o registrarti per scrivere nel forum
95 risposte