La visualizza con la struct fa capricci

di il
6 risposte

La visualizza con la struct fa capricci

Nella visualizzza non mi esce nulla o meglio esce qualcosa di indecifrabbile e senza senzo,chiedo un aiuto, devo completare le atre funzioni ancora.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NMAX 150

typedef struct{
char cog[9]; //cognome
char nom[8]; // nome
char data[11]; // data di nascita
char prov[3]; // provincia
float quot; // quota
char pagato[3]; //pagato
}TVacanza;

void leggi(TVacanza v[], int *n);
void ordina (TVacanza v[], int n);
void statistica(TVacanza v[], int n);
float totale(TVacanza v[], int n);
void visualizza(TVacanza v[], int n);

int main() {
TVacanza v[NMAX];
int n=0;

leggi(v,&n);
ordina(v,n);
statistica(v,n);
totale(v,n);
visualizza(v,n);


}

void leggi(TVacanza v[], int *n){
int i;
char st[80];
char cognome[30], nome[40], datan[11], provincia[4], quota[9], pagat[6];

FILE *fp=fopen("elenco.txt","r");
fgets(st,80,fp);

i=0;
while(!feof(fp)){
fgets(st,80,fp);
sscanf(st,"%[^'|']|%[^'|']|%[^'|']|%[^'|']|%[^'|']|%[^'\n']\n",cognome,nome,datan,provincia,quota,pagat);
strcpy(v.cog, cognome);
strcpy(v.nom, nome);
strcpy(v.data, datan);
strcpy(v.prov, provincia);
v.quot=atof(quota);
strcpy(v.pagato, pagat);
i++;
}
*n=i;
fclose(fp);
}
void ordina(TVacanza v[], int n){
}

void statistica(TVacanza v[], int n){
}
float totale(TVacanza v[], int n){

}

void visualizza(TVacanza v[], int n){
int i;
for(i=0;i<n;i++);
printf("%2s",v.cog);
printf("%5s",v.nom);
printf("%12s",v.data);
printf("%12s",v.prov);
printf("%s",v[i].cog);
printf("%3.1f\n",v[i].quot);
printf("%s\n",v[i].pagato);
}

6 Risposte

  • Re: La visualizza con la struct fa capricci

    Togli il ; dopo il for, altrimenti non viene eseguito nulla.. mi meraviglio che compili
  • Re: La visualizza con la struct fa capricci

    Perché non dovrebbe compilare?
  • Re: La visualizza con la struct fa capricci

    tuixte ha scritto:


    Togli il ; dopo il for, altrimenti non viene eseguito nulla.. mi meraviglio che compili
    In realtà il compilatore non si accorge di nulla visto che non ci sono errori, se non di logica, infatti, saranno eseguiti una sola volta tutti i printf al valore di i=n; producendo errori eventualmente in run-time.

    Dovresti aggiungere anche le graffe al for, per far eseguire tutto quel segmento di codice ad ogni iterazione.
  • Re: La visualizza con la struct fa capricci

    Mi riferivo in realtà all'utilizzo del variabile i al di fuori del ciclo for, ma noto solo ora che Marc l'ha definita prima del ciclo, e non all'interno dello stesso. Chiedo venia
  • Re: La visualizza con la struct fa capricci

    SVNiko ha scritto:


    tuixte ha scritto:


    Togli il ; dopo il for, altrimenti non viene eseguito nulla.. mi meraviglio che compili
    In realtà il compilatore non si accorge di nulla visto che non ci sono errori, se non di logica, infatti, saranno eseguiti una sola volta tutti i printf al valore di i=n; producendo errori eventualmente in run-time.

    Dovresti aggiungere anche le graffe al for, per far eseguire tutto quel segmento di codice ad ogni iterazione.
    Grazie SVNico non me n' ero proprio accorto grazie ancora.
  • Re: La visualizza con la struct fa capricci

    Grazie a tutti per le risposte.
Devi accedere o registrarti per scrivere nel forum
6 risposte