AIuto con un problema di funzioni

di
Anonimizzato11646
il
7 risposte

AIuto con un problema di funzioni

Ho bisogno di aiuto per un problema con uso di funzioni.
il mio esercizio mi chiede di lavorare su dei treni, una volta inserita la lista, ora dato il numero identificativo del treno devo saperlo cancellare.
io ho usato questo tipo di funzione. ma sapete dirmi perchè non parte?

int cancTren()
{int pos;
char r;
printf("\n\n Inserire il numero identificativo del Treno da cancellare:\n ");
scanf("%d", &tren.numero_identificativo);
/*mi rimando alla ricerca del treno*/
pos=cercTren()
if (pos== -1){
printf("\n Treno non presente nella lista di NORD3\n");
return 0;
}
else printf("Confermi la concellazione? (S/N)?");
scanf("%c", &r);
if (r=='S' || r=='s') {
eliTren(pos);
return; }
}
int eliTren(long pos){
strcpy(tren.numero_identificativo, ""); /* bbiamo copiato la stringa contenente il num identi e l'abbiamo svuotata */
fp=fopen("treno.dat", "r+");
fseek(fp,pos,0) ; /*muove il puntatore del mio file dall'inizio per quanti byte ha pos*/
fwrite(&tren, sizeof(treno),1, fp);
fclose(fp);
}

int cercTren (int *num) /*puntatore d'appoggio x il nostro num identificativo*/ {
int n;
long pos=0L;
fp=fopen("tren.dat", "r");
for (pos=0L; pos < 1000; pos++); /*controlla o almeno capisci perchè pos<1000*/
n=fread(&tren,sizeof(treno),1,fp); /* n=0 perchè ha letto tutto il file,
in tren vengono trasferiti i byte, sizeoff(treno) prende la dimensione in byte del vettore,
1 è lelemento del vettore, fp è il file da leggere*/
if (n==0){
fclose(fp);
pos=-1; /*pos=-1 vuol dire che non esiste*/
return(pos);}
else
if (strcmp(num,tren.numero_identificativo)==0);
pos=ftell(fp); /*mi restituisce la posizione del puntatore*/
fclose(fp);
return (pos) }

7 Risposte

  • Re: AIuto con un problema di funzioni

    Non parte cosa ? Il treno ?

    A parte gli scherzi, che vuol dire "non parte" ?
  • Re: AIuto con un problema di funzioni

    Non mi riconosce la dichiarazione di pos=cercTren()
    e ogni volta che io uso pos (ovvero una variabile d'appoggio che io uso per controllare la presenza del treno sulla mia lista) mi dice che "undeclared"
  • Re: AIuto con un problema di funzioni

    Ecco ... hai dichiarato la funzione così

    int cercTren (int *num)

    e la chiami così

    pos=cercTren()

    cioè senza il parametro che si attende.
  • Re: AIuto con un problema di funzioni

    E che variabile posso inserire?
    ogni variabile inserita mi da errore.
  • Re: AIuto con un problema di funzioni

    Ma scusa, l'hai scritto tu

    int cercTren (int *num)

    ?

    Cosa volevi passare con l'argomento

    int *num

    ?

    Scrivi codice a caso ?
  • Re: AIuto con un problema di funzioni

    Si ok giusto, momento di incertezza.
  • Re: AIuto con un problema di funzioni

    È giusto usare strcpy(tren.numero_identificativo, "") per svuotare un array di numeri?
    o scrivo tre.numero_identificativo=0 ?
Devi accedere o registrarti per scrivere nel forum
7 risposte