Programma Database in C

di il
95 risposte

95 Risposte - Pagina 3

  • Re: Programma Database in C

    E quindi adesso utilizza le funzioni che hai scritto nella libreria (e che non so come si chiamano, lo sai tu ...)
  • Re: Programma Database in C

    Ok proverò
  • Re: Programma Database in C

    Ragazzi ho un problema che non riesco a risolvere in alcun modo
    Posto il codice
    
    #include <centro.h>
    
    /*-------- STRUCT --------*/
    struct Corso {
    	int id;
    	char nome_corso[100];
    	char responsabile_corso[100];
    };
    
    struct Soci {
    	int id[100];
    	char nome_socio[100];
    	char cognome_socio[100];
    };
    
    struct Iscrizioni {
    	int id[100];
    	char data_iscrizione[100];
    	char costo[100];
    };
    
    struct Ingressi {
    	int id[100];
    	char orario_entrata[100];
    	char orario_uscita[100];
    };
    
    /*-------- VARIABILI GLOBALI --------*/
    int n = 0;
    char c;
    char l;
    
    /*-------- FUNZIONI PER GESTIONE CORSI --------*/
    void add_course(char nome_corso,char responsabile_corso){
    	int id[100];
    
    	printf("Inserire l'id:\n");
    	if( scanf("%d", id) != 1 )
    	{
    		fprintf( stderr, "Input ERRATO\n");
    		exit(1);
    	}
    
    	printf("Inserire corso:\n");
    	if( scanf("%s", nome_corso) != 1 )
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    	printf("Inserire responsabile:\n");
    	if( scanf("%s", responsabile_corso) != '1' )
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    	n++;
    }
    
    void read_course(char nome_corso, char responsabile_corso){
    
    	int i;
    
    	for (i=0;i<n;i++) {
    		printf("\nCorso %d:\nID: %d\nNOME CORSO: %s\nRESPONSABILE: %s\n", i, n,  nome_corso, responsabile_corso);
    	}
    }
    
    void update_course(char nome_corso, char responsabile_corso){
    
    	int i;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserire l'id del corso da modificare:\n");
    	if( scanf("%d", id) != 1 )
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id[i])
    			printf("Inserisci nome del corso:\n");
    			if( scanf("%s", nome_corso) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    			printf("Inserisci responsabile:\n");
    			if( scanf("%s", responsabile_corso) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    		}
    	if (check==0){
    		printf("L'id inserito NON è presente");
    	}
    
    void delete_course(char nome_corso, char responsabile_corso){
    
    	int i, j;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserisci l'id del corso da eliminare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id[i]){
    			n--;
    			for(j=*id; j<n; j++){
    				j = j+1;
    				id[i]--;
    			}
    
    			check = 1;
    		}
    	}
    	if(check == 0)
    		printf("\nL'id inserito non è presente!\n");
    
    	realloc(id, sizeof(struct Corso));
    }
    
    /*-------- FUNZIONI PER GESTIONE SOCI --------*/
    void add_member(char nome_socio, char cognome_socio){
    
    	id[100]=n;
    
    	printf("Inserire l'id:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRARO!\n");
    		exit(1);
    	}
    	printf("Inserire nome:\n");
    	if( scanf("%s", nome_socio) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    	printf("Inserire cognome:\n");
    	if( scanf("%s", cognome_socio) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    }
    
    void read_member(char nome_socio, char cognome_socio){
    
    	int i;
    
    	for (i=0;i<n;i++) {
    		printf("\nSoci %d:\nID: %d\nNOME: %s\nCOGNOME: %s\n", i, n,  nome_socio, cognome_socio);
    	}
    }
    
    void update_member(char nome_socio, char cognome_socio){
    
    	int i;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserire l'id del socio da modificare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			printf("Inserisci nome:\n");
    			if( scanf("%s", nome_socio) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    			printf("Inserisci cognome:\n");
    			if( scanf("%s", cognome_socio) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    			check = 1;
    		}
    	}
    	if(check==0){
    		printf("L'id inserito NON è presente");
    	}
    }
    
    void delete_member(char nome_socio, char cognome_socio){
    
    	int i, j;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserisci l'id del socio da eliminare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			n--;
    			for(j=*id; j<n; j++){
    				j = j+1;
    				id[i]--;
    			}
    
    			check = 1;
    		}
    	}
    	if(check == 0)
    		printf("\nL'id inserito NON è presente!\n");
    
    	realloc(id, sizeof(struct Soci));
    }
    
    /*-------- FUNZIONI PER GESTIONE ISCRIZIONI/PAGAMENTI --------*/
    
    void add_enrollment(char data_iscrizione, char costo){
    
    	id[100]=n;
    	printf("Inserire data:\n");
    	if( scanf("%s", data_iscrizione) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    	printf("Inserire costo:\n");
    	if( scanf("%s", costo) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    }
    
    void read_enrollment(char data_iscrizione, char costo){
    
    	int i;
    
    	for (i=0;i<n;i++) {
    		printf("\nCorso %d:\nID: %d\nDATA ISCRIZIONE: %s\nCOSTO: %s\n", i, n,  data_iscrizione, costo);
    	}
    }
    
    void update_enrollment(char data_iscrizione, char costo){
    
    	int i;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserire l'id del corso da modificare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			printf("Inserisci data dell'iscrizione:\n");
    			if( scanf("%s", data_iscrizione) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    			printf("Inserisci costo:\n");
    			if( scanf("%s", costo) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    		}
    	}
    	if(check==0){
    		printf("L'id inserito NON è presente");
    	}
    }
    
    void delete_enrollment(char data_iscrizione, char costo){
    
    	int i, j;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserisci l'id dell'iscrizione da eliminare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			n--;
    			for(j=*id; j<n; j++){
    				j = j+1;
    				id[i]--;
    			}
    
    			check = 1;
    		}
    	}
    	if(check == 0)
    		printf("\nL'id inserito non è presente!\n");
    
    	realloc(c, sizeof(struct Iscrizioni));
    }
    
    /*-------- FUNZIONI PER GESTIONE INGRESSI --------*/
    
    void add_entrance(char orario_entrata, char orario_uscita){
    
    	id[100]=n;
    	printf("Inserire data ingresso:\n");
    	if( scanf("%s", orario_entrata) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    	printf("Inserire responsabile:\n");
    	if( scanf("%s", orario_uscita) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    }
    
    void read_entrance(char orario_entrata, char orario_uscita){
    
    	int i;
    
    	for (i=0;i<n;i++) {
    		printf("\nIngressi %d:\nID: %c\nOrario ingresso: %s\nOrario uscita: %s\n", i, n,  orario_entrata, orario_uscita);
    	}
    }
    
    void update_entrance(char orario_entrata, char orario_uscita){
    
    	int i;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserire l'id dell'ingresso da modificare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			printf("Inserisci orario ingresso:\n");
    			if( scanf("%s", orario_entrata) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    			}
    			printf("Inserisci orario uscita:\n");
    			if( scanf("%s", orario_uscita) != 1)
    			{
    				fprintf( stderr, "Input ERRATO!\n");
    				exit(1);
    			}
    		}
    	}
    	if(check==0){
    		printf("L'id inserito NON è presente");
    	}
    }
    
    void delete_entrance(char orario_entrata, char orario_uscita){
    
    	int i, j;
    	int id[100];
    	int check = 0;
    
    	printf("\nInserisci l'id dell'ingresso da eliminare:\n");
    	if( scanf("%d", id) != 1)
    	{
    		fprintf( stderr, "Input ERRATO!\n");
    		exit(1);
    	}
    
    	for(i = 0; i<n; i++){
    		if(*id == id){
    			n--;
    			for(j=*id; j<n; j++){
    				j = j+1;
    				id[i]--;
    			}
    
    			check = 1;
    		}
    	}
    	if(check == 0)
    		printf("\nL'id inserito non è presente!\n");
    
    	realloc(id, sizeof(struct Ingressi));
    }
    
    /*-------- FUNZIONE MENU --------*/
    void menu_principale()
    {
    		int scelta;
    		char torna;
    		do
    		{
    			system("cls");
    			printf("Menù Principale:\n\n");
    
    			/*Inizio elenco delle funzioni disponibili in output*/
    			printf("[1]Corso\n");
    			printf("[2]Soci\n");
    			printf("[3]Iscrizioni\n");
    			printf("[4]Ingressi\n");
    			/*fine elenco funzioni*/
    
    			printf("\nEffettua la scelta: ");
    			scanf("%d", &scelta);
    
    			/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    			switch(scelta)
    			{
    				   case 1:
    					      system("cls");
    			              menu_corso();
    			              system("pause");
    			              system("cls");
    			              break;
    			       case 2:
    			    	      system("cls");
    			    	      menu_soci();
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 3:
    			    	      system("cls");
    			    	      menu_iscrizioni();
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 4:
    			    	      system("cls");
    			    	      menu_ingressi();
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			      default:
    			    	      printf("Numero non valido\n");
    			    	      break;
    			}
    		}while (torna != 'n');
    
    void menu_corso()
    {
    		int scelta;
    		char torna;
    		do
    		{
    			system("cls");
    			printf("Menù Corso:\n\n");
    
    			/*Inizio elenco delle funzioni disponibili in output*/
    			printf("[1]Aggiungi\n");
    			printf("[2]Visualizza\n");
    			printf("[3]Modifica\n");
    			printf("[4]Elimina\n");
    			/*fine elenco funzioni*/
    
    			printf("\nEffettua la scelta: ");
    			scanf("%d", &scelta);
    
    			/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    			switch(scelta)
    			{
    				   case 1:
    					      system("cls");
    			              add_course (nome_corso, responsabile_corso);
    			              system("pause");
    			              system("cls");
    			              break;
    			       case 2:
    			    	      system("cls");
    			    	      read_course (nome_corso, responsabile_corso);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 3:
    			    	      system("cls");
    			    	      update_course (nome_corso, responsabile_corso);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 4:
    			    	      system("cls");
    			    	      delete_course(nome_corso, responsabile_corso);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			      default:
    			    	      printf("Numero non valido\n");
    			    	      break;
    			}
    			printf("Si desidera tornare al Menù Corso?\n\n");
    			printf("[y] Si, desidero tornare al Menù Corso\n");
    			printf("[n] No, desidero uscire\n\n");
    			printf("Effettua la tua scelta: ");
    			scanf("%s", &torna);
    		}while (torna != 'n');
    	}
    
    	void menu_soci()
    	{
    		int scelta;
    		char torna;
    		do
    		{
    			system("cls");
    			printf("Menù Soci:\n\n");
    
    			/*Inizio elenco delle funzioni disponibili in output*/
    			printf("[1]Aggiungi\n");
    			printf("[2]Visualizza\n");
    			printf("[3]Modifica\n");
    			printf("[4]Elimina\n");
    			/*fine elenco funzioni*/
    
    			printf("\nEffettua la scelta: ");
    			scanf("%d", &scelta);
    
    			/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    			switch(scelta)
    			{
    				   case 1:
    					      system("cls");
    					      add_member(nome_socio, cognome_socio);
    			              system("pause");
    			              system("cls");
    			              break;
    			       case 2:
    			    	      system("cls");
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 3:
    			    	      system("cls");
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 4:
    			    	      system("cls");
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			      default:
    			    	      printf("Numero non valido\n");
    			    	      break;
    			}
    			printf("Si desidera tornare al Menù Principale?\n\n");
    			printf("[y] Si, desidero tornare al Menù Principale\n");
    			printf("[n] No, desidero uscire\n\n");
    			printf("Effettua la tua scelta: ");
    			scanf("%s", &torna);
    		}while (torna != 'n');
    	}
    
    	void menu_iscrizioni()
    	{
    		int scelta;
    		char torna;
    		do
    		{
    			system("cls");
    			printf("Menù Iscrizioni:\n\n");
    
    			/*Inizio elenco delle funzioni disponibili in output*/
    			printf("[1]Aggiungi\n");
    			printf("[2]Visualizza\n");
    			printf("[3]Modifica\n");
    			printf("[4]Elimina\n");
    			/*fine elenco funzioni*/
    
    			printf("\nEffettua la scelta: ");
    			scanf("%d", &scelta);
    
    			/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    			switch(scelta)
    			{
    				   case 1:
    					      system("cls");
    			              add_enrollment(data_iscrizione, costo);
    			              system("pause");
    			              system("cls");
    			              break;
    			       case 2:
    			    	      system("cls");
    			    	      read_enrollment(data_iscrizione, costo);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 3:
    			    	      system("cls");
    			    	      edit_enrollment(data_iscrizione, costo);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 4:
    			    	      system("cls");
    			    	      delete_enrollment(data_iscrizione, costo);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			      default:
    			    	      printf("Numero non valido\n");
    			    	      break;
    			}
    			printf("Si desidera tornare al Menù Principale?\n\n");
    			printf("[y] Si, desidero tornare al Menù Principale\n");
    			printf("[n] No, desidero uscire\n\n");
    			printf("Effettua la tua scelta: ");
    			scanf("%s", &torna);
    		}while (torna != 'n');
    	}
    
    	void menu_ingressi()
    	{
    		int scelta;
    		char torna;
    		do
    		{
    			system("cls");
    			printf("Menù Ingressi:\n\n");
    
    			/*Inizio elenco delle funzioni disponibili in output*/
    			printf("[1]Aggiungi\n");
    			printf("[2]Visualizza\n");
    			printf("[3]Modifica\n");
    			printf("[4]Elimina\n");
    			/*fine elenco funzioni*/
    
    			printf("\nEffettua la scelta: ");
    			scanf("%d", &scelta);
    
    			/* Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    			switch(scelta)
    			{
    				   case 1:
    					      system("cls");
    			              add_entrance(orario_entrata, orario_uscita);
    			              system("pause");
    			              system("cls");
    			              break;
    			       case 2:
    			    	      system("cls");
    			    	      read_entrance(orario_entrata, orario_uscita);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 3:
    			    	      system("cls");
    			    	      edit_entrance(orario_entrata, orario_uscita);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			       case 4:
    			    	      system("cls");
    			    	      delete_entrance(orario_entrata, orario_uscita);
    			    	      system("pause");
    			    	      system("cls");
    			    	      break;
    			      default:
    			    	      printf("Numero non valido\n");
    			    	      break;
    			}
    			printf("Si desidera tornare al Menù Principale?\n\n");
    			printf("[y] Si, desidero tornare al Menù Principale\n");
    			printf("[n] No, desidero uscire\n\n");
    			printf("Effettua la tua scelta: ");
    			scanf("%s", &torna);
    		}while (torna != 'n');
    	}
    	}
    }
    
    Il problema è che il compilatore alla riga add_member(nome_socio,cognome_socio); mi da uno strano errore, ovvero, riconosce la funzione add_member ma dice che le variabili sono UNDECLARED o FIRST DECLARED HERE. Quando invece stanno all'inizio nella corrispondente struct Soci

    Che debbo fare??

    AIUTOOOOOOO
  • Re: Programma Database in C

    Devi studiare come funzionano le strutture ... I nomi degli elementi all'interno della struttura non sono utilizzabili direttamente. Devi prima creare una nuova variabile struttura e passare quella per indirizzo...

    Ma come fai ad affrontare un programma simile senza le basi minime del C?
  • Re: Programma Database in C

    Ragazzi ho creato e messo a punto la libreria di funzioni per il menu.....ma ho un problema nel main. In pratica non mi stampa i sotto menu.....se ad esempio scrivo che scelgo la numero 1 dovrebbe stampare il menu corrispondente alla posizione numero 1......invece non stampa nulla.....Mi sapreste dire perchè?


    Grazie
  • Re: Programma Database in C

    No ... non ti sappiamo dire il perché ... e indovina come mai ...
  • Re: Programma Database in C

    Non potete dare nessun tipo di aiuto giusto?
  • Re: Programma Database in C

    No ... non è questo ... ritenta ...
  • Re: Programma Database in C

    Manca l'immagine che illustra il problema?
  • Re: Programma Database in C

    O il codice?
  • Re: Programma Database in C

    In ogni caso pubblico il codice sorgente e l'header
    Header
    
    #ifndef CENTRO_H_
    #define CENTRO_H_
    
    struct Corso {
    	int id[10];
    	char nome_corso[100];
    	char responsabile_corso[100];
    };
    
    struct Soci {
    	int id[10];
    	char nome_socio[100];
    	char cognome_socio[100];
    };
    
    struct Iscrizioni {
    	int id[10];
    	char data_iscrizione[100];
    	double costo[100];
    };
    
    struct Ingressi {
    	int id[10];
    	char orario_entrata[100];
    	char orario_uscita[100];
    };
    
    /*-------- VARIABILI GLOBALI --------*/
    int n=0;
    char c, l;
    
    /*-------- FUNZIONI GESTIONE CORSI --------*/
    void add_course(struct Corso *c);
    void read_course(struct Corso *c);
    void update_course(struct Corso *c);
    void delete_course(struct Corso *c);
    
    /*-------- FUNZIONI GESTIONE SOCI --------*/
    void add_member(struct Soci *s);
    void read_member(struct Soci *s);
    void update_member(struct Soci *s);
    void delete_member(struct Soci *s);
    
    /*-------- FUNZIONI GESTIONE ISCRIZIONI --------*/
    void add_registration(struct Iscrizioni *r);
    void read_registration(struct Iscrizioni *r);
    void update_registration(struct Iscrizioni *r);
    void delete_registration(struct Iscrizioni *r);
    
    /*-------- FUNZIONI GESTIONE INGRESSI --------*/
    void add_entrance(struct Ingressi *e);
    void read_entrance(struct Ingressi *e);
    void update_entrance(struct Ingressi *e);
    void delete_entrance(struct Ingressi *e);
    
    /*-------- SEZIONE MENU --------*/
    void menu_corso(struct Corso *c);
    void menu_soci(struct Soci *s);
    void menu_iscrizioni(struct Iscrizioni *r);
    void menu_ingressi(struct Ingressi *e);
    
    /*-------- MENU PRINCIPALE --------*/
    void menu_principale();
    
    #endif /* CENTRO_H_ */
  • Re: Programma Database in C

    Questo invece è il file .c
    
    [code]
    /*
     * centro.c
     *
     *  Created on: 05 mag 2016
     *      Author: andrea
     */
    
    #include "centro.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdbool.h>
    #include <time.h>
    #include <ctype.h>
    
    /*-------- FUNZIONI GESTIONE CORSI --------*/
    void add_course(struct Corso *c)
    {
    	int i=0;
    
    	printf("Inserire ID:\n");
    	if( scanf("%d", c[i].id) == 1)
    	{
    		printf("%d", *c[i].id);
    	} else {
    		printf("Input FAILED\n");
    	}
    
    	printf("Inserire Corso:\n");
    	if( scanf("%s", c[i].nome_corso) == 1)
    	{
    		printf("%s", c[i].nome_corso);
    	} else {
    		printf("Input FAILED\n");
    	}
    
    	printf("Inserire Responsabile:\n");
    	if( scanf("%s", c[i].responsabile_corso) == 1)
    	{
    		printf("%s", c[i].responsabile_corso);
    	} else {
    		printf("Input FAILED!\n");
    	}
    }
    
    void read_course(struct Corso *c)
    {
    	int i;
    	int n=0;
    
    	for (i=0; i<n; i++)
    	{
    		printf("\nID: %d\nNOME CORSO: %s\nRESPONSABILE: %s\n", *c[i].id, c[i].nome_corso, c[i].responsabile_corso);
    	}
    }
    
    void update_course(struct Corso *c)
    {
    	int i=0;
    	int id;
    	int check = 0;
    
    	printf("\nInserire l'ID del corso da modificare:\n");
    	if( scanf("%d", c[i].id) == 1)
    	{
    		printf("%d", id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(c[i].id != '\0' )
    		printf("Inserisci nuovo ID:\n");
    		if( scanf("%d", c[i].id) == 1)
    		{
    			printf("%d", id);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserisci nome del corso:\n");
    		if( scanf("%s", c[i].nome_corso) == 1)
    	    {
    			printf("%s", c[i].nome_corso);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserire responsabile:\n");
    		if( scanf("%s", c[i].responsabile_corso) == 1)
    		{
    			printf("%s", c[i].responsabile_corso);
    		} else {
    			printf("Input ERRATO!\n");
    		}
    
    	    if(check == 0){
    		printf("L'id inserito NON è presente!\n");
    	    }
        }
    }
    
    void delete_course(struct Corso *c)
    {
    	int i=0, j;
    	int id;
    	int check = 0;
    
    	printf("\nInserisci l'id del corso da eliminare:\n");
    	if( scanf("%d", c[i].id) == 1)
    	{
    		printf("%d", *c[i].id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(c[i].id == &id){
    			n--;
    			for(j=*c->id; j<n; j++){
    				c[j] = c[j+1];
    				--*c->id;
    			}
    
    			check = 1;
    		}
    	}
    	if(check==0)
    		printf("L'id inserito non è presente!\n");
    
    	c=realloc(c, sizeof(struct Corso));
    }
    
    /*-------- FUNZIONI GESTIONE SOCI --------*/
    void add_member(struct Soci *s)
    {
    	int i=0;
    
    		printf("Inserire ID:\n");
    		if( scanf("%d", s[i].id) == 1)
    		{
    			printf("%d", *s[i].id);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire il nome:\n");
    		if( scanf("%s", s[i].nome_socio) == 1)
    		{
    			printf("%s", s[i].nome_socio);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire il cognome:\n");
    		if( scanf("%s", s[i].cognome_socio) == 1)
    		{
    			printf("%s", s[i].cognome_socio);
    		} else {
    			printf("Input FAILED!\n");
    		}
    }
    
    void read_member(struct Soci *s)
    {
    	int i;
    	int n=0;
    
    	for(i=0;i<n;i++){
    		printf("\nID: %d\nNOME_ %s\nCOGNOME: %s\n", *s[i].id, s[i].nome_socio, s[i].cognome_socio);
    	}
    }
    
    void update_member(struct Soci *s)
    {
    	int i=0;
    	int id;
    	int check = 0;
    
    	printf("\nInserire l'ID del corso da modificare:\n");
    	if( scanf("%d", s[i].id) == 1)
    	{
    		printf("%d", id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(s[i].id != '\0' )
    		printf("Inserisci nuovo ID:\n");
    		if( scanf("%d", s[i].id) == 1)
    		{
    			printf("%d", id);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserisci nuovo nome:\n");
    		if( scanf("%s", s[i].nome_socio) == 1)
    	    {
    			printf("%s", s[i].nome_socio);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserire nuovo cognome:\n");
    		if( scanf("%s", s[i].cognome_socio) == 1)
    		{
    			printf("%s", s[i].cognome_socio);
    		} else {
    			printf("Input ERRATO!\n");
    		}
    
    	    if(check == 0){
    		printf("L'id inserito NON è presente!\n");
    	    }
       }
    }
    
    void delete_member(struct Soci *s)
    {
    	int i=0, j;
    	int id;
    	int check = 0;
    
    	printf("\nInserisci l'id del socio da eliminare:\n");
    	if( scanf("%d", s[i].id) == 1)
    	{
    		printf("%d", *s[i].id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(s[i].id == &id){
    			n--;
    			for(j=*s->id; j<n; j++){
    				s[j] = s[j+1];
    				--*s->id;
    			}
    
    			check = 1;
    		}
    	}
    	if(check==0)
    		printf("L'id inserito non è presente!\n");
    
    	s=realloc(s, sizeof(struct Soci));
    }
    
    /*-------- FUNZIONI GESTIONI ISCRIZIONI --------*/
    void add_registration(struct Iscrizioni *r)
    {
    	int i=0;
    
    		printf("Inserire ID:\n");
    		if( scanf("%d", r[i].id) == 1)
    		{
    			printf("%d", *r[i].id);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire la data dell'iscrizione:\n");
    		if( scanf("%s", r[i].data_iscrizione) == 1)
    		{
    			printf("%s", r[i].data_iscrizione);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire il costo:\n");
    		if( scanf("%lf", r[i].costo) == 1)
    		{
    			printf("%lf", *r->costo);
    		} else {
    			printf("Input FAILED!\n");
    		}
    }
    
    void read_registration(struct Iscrizioni *r)
    {
    	int i;
    	int n=0;
    
    	for(i=0;i<n;i++){
    		printf("\nID: %d\nDATA: %s\nCOSTO: %lf\n", *r[i].id, r[i].data_iscrizione, *r->costo);
    	}
    }
    
    void update_registration(struct Iscrizioni *r)
    {
    	int i=0;
    	int id;
    	int check = 0;
    
    	printf("\nInserire l'ID dell'iscrizione da modificare:\n");
    	if( scanf("%d", r[i].id) == 1)
    	{
    		printf("%d", id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(r[i].id != '\0' )
    		printf("Inserisci nuovo ID:\n");
    		if( scanf("%d", r[i].id) == 1)
    		{
    			printf("%d", id);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserisci nuovo nome:\n");
    		if( scanf("%s", r[i].data_iscrizione) == 1)
    	    {
    			printf("%s", r[i].data_iscrizione);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserire nuovo cognome:\n");
    		if( scanf("%s", r[i].data_iscrizione) == 1)
    		{
    			printf("%s", r[i].data_iscrizione);
    		} else {
    			printf("Input ERRATO!\n");
    		}
    
    	    if(check == 0){
    		printf("L'id inserito NON è presente!\n");
    	    }
       }
    }
    
    void delete_registration(struct Iscrizioni *r)
    {
    	int i=0, j;
    	int id;
    	int check = 0;
    
    	printf("\nInserisci l'id del socio da eliminare:\n");
    	if( scanf("%d", r[i].id) == 1)
    	{
    		printf("%d", *r[i].id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(r[i].id == &id){
    			n--;
    			for(j=*r->id; j<n; j++){
    				r[j] = r[j+1];
    				--*r->id;
    			}
    
    			check = 1;
    		}
    	}
    	if(check==0)
    		printf("L'id inserito non è presente!\n");
    
    	r=realloc(r, sizeof(struct Soci));
    }
    
    /*-------- FUNZIONI GESTIONE INGRESSI --------*/
    void add_entrance(struct Ingressi *e)
    {
    	int i=0;
    
    		printf("Inserire ID:\n");
    		if( scanf("%d", e[i].id) == 1)
    		{
    			printf("%d", *e[i].id);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire l'orario di entrata:\n");
    		if( scanf("%s", e[i].orario_entrata) == 1)
    		{
    			printf("%s", e[i].orario_entrata);
    		} else {
    			printf("Input FAILED\n");
    		}
    
    		printf("Inserire l'orario di uscita:\n");
    		if( scanf("%s", e[i].orario_uscita) == 1)
    		{
    			printf("%s", e[i].orario_uscita);
    		} else {
    			printf("Input FAILED!\n");
    		}
    }
    
    void read_entrance(struct Ingressi *e)
    {
    	int i;
    	int n=0;
    
    	for(i=0;i<n;i++){
    		printf("\nID: %d\nORA INGRESSO: %s\nORARIO USCITA: %s\n", *e[i].id, e[i].orario_entrata, e[i].orario_uscita);
    	}
    }
    
    void update_entrance(struct Ingressi *e)
    {
    	int i=0;
    	int id;
    	int check = 0;
    
    	printf("\nInserire l'ID dell'ingresso da modificare:\n");
    	if( scanf("%d", e[i].id) == 1)
    	{
    		printf("%d", id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(e[i].id != '\0' )
    		printf("Inserisci nuovo ID:\n");
    		if( scanf("%d", e[i].id) == 1)
    		{
    			printf("%d", id);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserisci nuovo orario di ingresso:\n");
    		if( scanf("%s", e[i].orario_entrata) == 1)
    	    {
    			printf("%s", e[i].orario_entrata);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		printf("Inserire nuovo orario di uscita:\n");
    		if( scanf("%s", e[i].orario_uscita) == 1)
    		{
    			printf("%s", e[i].orario_uscita);
    		} else {
    			printf("Input ERRATO!\n");
    		}
    
    	    if(check == 0){
    		printf("L'id inserito NON è presente!\n");
    	    }
       }
    }
    
    void delete_entrance(struct Ingressi *e)
    {
    	int i=0, j;
    	int id;
    	int check = 0;
    
    	printf("\nInserisci l'id dell'ingresso da eliminare:\n");
    	if( scanf("%d", e[i].id) == 1)
    	{
    		printf("%d", *e[i].id);
    	} else {
    		printf("Input FAILED!\n");
    	}
    
    	for(i=0; i<n; i++){
    		if(e[i].id == &id){
    			n--;
    			for(j=*e->id; j<n; j++){
    				e[j] = e[j+1];
    				--*e->id;
    			}
    
    			check = 1;
    		}
    	}
    	if(check==0)
    		printf("L'id inserito non è presente!\n");
    
    	e=realloc(e, sizeof(struct Soci));
    }
    
    /*-------- SEZIONE MENU --------*/
    void menu_corso(struct Corso *c)
    {
    	int scelta;
    	char torna;
    	do
    	{
    		system("cls");
    		printf("Menu Corso:\n\n");
    
    		/*Elenco funzioni disponibili in output*/
    		printf("[1] Aggiungi\n");
    		printf("[2] Visualizza\n");
    		printf("[3] Modifica\n");
    		printf("[4] Elimina\n");
    		/*fine elenco funzioni*/
    
    		printf("\nEffettua la scelta: ");
    		if( scanf("%s", &torna) == 1)
    	    {
    			printf("%s", torna);
    		} else {
    			printf("Input FAILED!\n");
    		}
    
    		/*Inizio struttura di controllo per permettere la scelta della funzione desiderata */
    
    		switch(scelta){
    		case 1:
    			   system("cls");
    			   add_course(int* id, char* nome_corso, char* responsabile_corso);
    			   system("pause");
    			   system("cls");
    			   break;
    		case 2:
    			   system("cls");
    			   read_course(struct Corso *c);
    			   system("pause");
    			   system("cls");
    			   break;
    		case 3:
    			   system("cls");
    			   update_course(struct Corso *c);
    			   system("pause");
    			   system("cls");
    			   break;
    		case 4:
    			   system("cls");
    			   delete_course(struct Corso *c);
    			   system("pause");
    			   system("cls");
    			   break;
    	   default:
    		       printf("Scelta non corretta!\n");
    		       break;
    		}
    		printf("Si desidera tornare al Menù Principale?\n\n");
    		printf("[y] Si, desidero tornare al Menù Principale\n");
    		printf("[n] No, desidero uscire\n\n");
    		printf("Effettua la scelta: ");
    		scanf("%s", &torna);
    	}
    	while (torna != 'n');
    }
    
    [/code]
  • Re: Programma Database in C

    Andrea9214! ha scritto:


    o il codice?
    Bingo ...

    Se non mostri il codice di un programma che non va, come si fa a rispondere?

    E comunque manca la parte in cui avviene il problema, ovvero il main.
  • Re: Programma Database in C

    Ecco il main.
    
    int main(){
        menu_principale();
        
        return 0;
    }
    
  • Re: Programma Database in C

    Scusa ... ma il codice COMPLETO che posso copiare e provare e che viene COMPILATO senza errori qual è ?

    Ovviamente se ci sono errori di COMPILAZIONE l'eseguibile non sarà creato (e probabilmente avrai l'ultimo compilato). Tu hai lanciato il compilatore SENZA errori?
Devi accedere o registrarti per scrivere nel forum
95 risposte