ciao a tutti ho una strut dati formata da char, in particolare il codice del volo è una stringa di 7 caratteri formata dalle prime 4 lettere maiuscole e le rimanenti da numeri es: ABCD123.
Adesso devo creare una funzione per calcolare l'indice di un vettore che è data dalla formula:
indice =(somma prime 4 lettere in maiuscolo)%n dove n è la dimensione del vettore.
ho provato a fare in questo modo
mi da errore:codice:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define FLUSH while(getchar ()!='\0') #define COD 8 #define STR 30 typedef struct{ char codice[COD]; char cognome[STR], nome[STR]; }tipobaseList; void LeggiStringa(char s [], unsigned int dim){ unsigned int i=0; for(i=0; ((s[i]=getchar())!='\n') && i<dim-1; i++) s[i]='\0'; if(i==dim-1) while(getchar()!='\0'); } void LeggiCodice(tipobaseList *x){ printf("\nInserisci codice volo: "); LeggiStringa(x->codice, COD); } int Indice(tipobaseList x, int n){ int i=0, k=0, somma=0; for(i=0; x[i]; i++) x[i]=toupper(x[i]); printf("%s",x); for(k=0; x[k]<4; k++) somma=(somma+x[k])%n; return(somma); } int main(){ tipobaseList codice_volo; int n,i ; printf("\nInserisci lunghezza vettore" ); scanf("%d", &n); FLUSH; LeggiCodice(&codice_volo); i=Indice(codice_volo, n); printf("l'indice e' %d", i); system("PAUSE"); return 0; }
In function `int Indice(tipobaseList, int)':
no match for 'operator[]' in 'x[i]'

Rispondi quotando