aiuto urgente linguaggio c grazieee rrrisspppppppp

Messaggioda inginfoaria » 26/10/2004, 08:18

salve, il 29 ho un esame di programmazione, il gg del mio complex, e ho ancora qlc dubbio!!!!!!!!!!!111

per creare un menù abbastanza semplice che compia operazioni di modifica, salvatagio o eliminazione di una persona da una rubrica in c ho trovato sul libro il seguente programmino... volevo sapere se è giusto e se c'è un modo ancora più semplice. se è giusto me lo potete spiegare pezzo per pezzo semplicemente!!!!!!!grazie a tutti


FILE *Rubri (nome file)

void ServiSalvataggio (void)
void ServiModifica (void) (non so perchè si usa void)
void ServiEleiminazione(void) (a cosa serve)

...... (tutte le altre variabili, Nmax, Contatore... struct....)


main()

printf
scanf.....quello che ho già scritto


poi [variabili e tipi necessari per la creazione di un menu... dichiarazioni... non so cosa scrivere];

while Contatore != NMax o Contatore<=NMax (ho sostit do\while con while e Contatore co Fine = False )

{puts ("\n Sono disponibili le seguenti operazioni. Per selezionare un'operazione premere il tasto a destra e invio\n");

puts ("Salvataggio Persona (ox?) S");

puts ("Modifica Persona M");

puts (Eliminazione Persona);


switch

{case 'S': ServiSalvataggio ();
break;

case M: ServiMOdifica ();
break;

case E: ServiEliminazione):
break}
}


però non so perchè si sa puts invece che fprintf (per i file)e se serve mettere switch... per cosa... insomma devo creare un menù dovo se calchi una lettera corrisponde un'operazione!!!!é questo in pratica che devo fare!!!!!!!!1


Eleonora


inoltre volevo sapere se è giusto scrivere, clacolando che ho posto persona x[NMax] e Contatore = 0; inoltre ultima domanda perchè devo scrivere x[Contatore] e non x[Nmax]

if (x.TelefonoUfficio=x.TelefonoCasa)

{
printf (“Ufficio==Casa\n”);
};

else

{
printf (“Ufficio!=Casa\n”);
};

if (x[Contatore].Cognome==x[Contatore+1].Cognome)

{
printf (“Le persone sono parenti\n”)
};
if (x[Contatore].Via=x[Contatore+1].Via)

{
printf (“le persone abitano nella stessa casa\n”)


è giusto?grazie mille!!!!
inginfoaria
Junior Member
Junior Member
 
Messaggio: 25 di 175
Iscritto il: 14/10/2004, 14:39

Messaggioda dazuco » 26/10/2004, 12:21

secondo il mio modesto parere dovresti, prima di affrontare la stesura completa di un programma in c (anche se in questo caso abbastanza semplice), cercare di approfondire il linguaggio.
Perchè se chiedi che cosa significa switch o void capisco che non hai la benchè minima conoscenza del linguaggio. Switch è un costrutto di base e void indica la mancanza di parametri se inserita tra le parentesi di una dichiarazione di funzione, mentre se accoppiata all'asterisco void * si intende tutt'altra cosa cioè un puntatore che può accettare qualsiasi cosa ad esempio un int * oppure un char * .....
Non voglio sembrare quello che fà sermoni però il C è abbastanza complesso e se vuoi capirlo bene, cioè oltre il passare l'esame, occorrono parecchie ore di esercitazioni.
Cmq l'idea base di una rubrica consiste in:

Presentare all'esecuzione del programma un semplice menù testuale e indirizzare, a seconda della voce scelta dall'utente, l'esecuzione del programma a funzioni costruite ad hoc.
Il menù si fà visualizzando a video stringhe indicando una lettera o un numero come comando (ad esempio 1: inserisci persona)
in codice ==>


char st[31];
int x;
printf ("1. Inserisci un nuovo nome alla rubrica: ");
...... altre printf con altre vocì di menù ......
fgets (st, 30, stdin);
sscanf(st, "%d", %x);

switch (x){
case (1): /* chiamerai la funzione che gestisce l'inserimento */
break;
case (2): ........................
break;
case (3): ........................
break;
.................
.................
default: /* qui gestisci i casi in cui l'utente non abbia digitato nessun numero corrispondente alle voci di menù */
}

Ricordati di inserire la parola break alla fine di ogni case dello switch altrimenti l'esecuzione continua anche per gli altri casi.
dazuco
Junior Member
Junior Member
 
Messaggio: 126 di 196
Iscritto il: 10/08/2003, 11:58
Località: Italy


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite