Programma di gestione di un magazzino

di il
1 risposte

Programma di gestione di un magazzino

Buonasera, ho delle difficoltà con questo programma, la cui funzione è quella di memorizzare e, all'occorrenza, modificare le informazioni sui dischi di musica venduti e sui clienti con tessera standard (ci sarebbero anche altri 2 tipi di tessere, ma per semplicità non le ho volute considerare). Preferisco postare il codice "a pezzi" e via via porre le opportune domande:
codice:
/* GESTIONE DEL MAGAZZINO DI DISCHI */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>	//serve per la funzione sleep ?
#include <string.h> 

/* int main () contentente: switch e istruzioni per l'uso */
int main () {
int scelta;
printf ("**Benvenuto nel magazzino**\n selezionare una scelta:\n");
		printf("\n1. visualizza prodotti");
		printf("\n2. modifica prodotto");
		printf("\n3. visualizza cliente");
		printf("\n4. modifica dati cliente");
		scanf ("%d", &scelta);
switch (scelta){
	case '1': visualizza_prodotto();
						break;
	case '2': modifica_prodotto();
						break;
	case '3': visualizza_cliente();
						break;
	case '4': modifica_cliente();
						break;
	default: printf ("la scelta selezionata non esiste");
						break;
						
}
system ("PAUSE");
return 0;
}
1) i numeri dello Switch vanno messi tra apici oppure no?
2) per rimandare alla funzione (es. modifica_prodotto) basta scriverla dopo i due punti ":" oppure bisogna scriverla per intero tra parentesi graffe dopo il nome della funzione ?
3) le parentesi tonde dopo il nome della funzione devono rimanere vuote o bisogna aggiungere qualcosa ?
void modifica_prodotto(){
printf ("inserisci il nuovo codice prodotto");
	for (i=0; i<10;i++){scanf ("%d",t_magazzino.cod_prodotto);}

printf ("aggiorna la giacenza");
	scanf ("%d", &t_magazzino.giacenza);

printf ("inserisci il nuovo prezzo");
	scanf ("%f", &t_magazzino.prezzo);

printf ("aggiorna la descrizione");
	for (i=0; i<40;i++){scanf ("%s", t_magazzino.descrizione);}
}
void visualizza_prodotto() { }
4)è corretto il modo in cui è stato selezionato il campo della struct ? (es. t_magazzino.cod_prodotto)
/* Struct DISCHI e CLIENTI */
	typedef struct magazzino {
		int cod_prodotto[10];
		int giacenza;
		float prezzo;
		char descrizione[40];
	}t_magazzino;
	
	typedef struct clienti_standard {
		int numero_tessera[10];
		char citta[2];
		char nome_cognome[20];
	}t_clienti_standard;
\\) ecco le struct, non ho domande particolari, ne posto il codice solo per vostra utilità
/* creazione e utilizzo del FILE su cui archiviare i dati dei prodotti nel magazzino */

FILE *fp;
fp= fopen ("C:\Users\fisso\Desktop\UNI ING\UNI\INFORMATICA\negozio di dischi\magazzino.txt", "r+");
if (fp==null) { printf ("errore nell apertura del file");
sleep(2); //attendo 2 secondi prima di ripulire lo schermo
system("CLS"); //pulisco lo schermo
goto main; }

/* creazione e utilizzo del FILE su cui archiviare i dati dei clienti standard */

FILE *fp1;
fp1= fopen ("C:\Users\fisso\Desktop\UNI ING\UNI\INFORMATICA\negozio di dischi\clientistandard.txt", "r+");
if (fp1==null) { printf ("errore nell apertura del file");
sleep(2); //attendo 2 secondi prima di ripulire lo schermo
system("CLS"); //pulisco lo schermo
goto main; }
5)qui creo i file di testo su cui lavorare, i puntatori sono corretti ?
6) la funzione goto main; è scritta correttamente? (so che generalmente si cerca di evitarla, però qui non sembra recare fastidio)

Adesso posto gli errori:

visualizza_prodotto' was not declared in this scope
'modifica_prodotto' was not declared in this scope
'visualizza_cliente' was not declared in this scope
'modifica_cliente' was not declared in this scope

'i' was not declared in this scope (ovvio, non ho dichiarato int i; prima di utilizzarla nel ciclo for)
't_magazzino' was not declared in this scope (proposta: potrei evitare di usare typedef prima delle struct?)

'fp' does not name a type
expected unqualified-id before 'if'
'fp1' does not name a type
expected unqualified-id before 'if'

Scusate la prolissità, ma ho cercato di essere quanto più chiaro possibile. Aspetto le vostre risposte!

1 Risposte

  • Re: Programma di gestione di un magazzino

    Ho riscritto il codice e cambiato l'ordine dei blocchi, ora ho molti meno errori quindi... potete chiudere la discussione, grazie
Devi accedere o registrarti per scrivere nel forum
1 risposte