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
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;
}
mi da errore:
In function `int Indice(tipobaseList, int)':
no match for 'operator[]' in 'x[i]'