PDA

Visualizza la versione completa : [C] errore incompatible types in assignment


annam90
09-03-2010, 18:59
salve a tutti...in questo programma mi d un errore alla riga 57, che non riesco a risolvere..mi dice incompatible types in assignment..come posso risolvere?



#include <stdio.h>
#define DIMENSIONE_VETTORE 20
typedef enum {FALSE, TRUE} BOOLEAN;
typedef char String[20];
typedef struct {int identificatori; String stringhe;} StringPool;
StringPool sp[DIMENSIONE_VETTORE];
int add (int identifier, String str);
int main()
{
int identificatore,valore_sentinella,i;
String stringa;

for(i=0;i<DIMENSIONE_VETTORE;i++)
sp[i].identificatori = -1;

valore_sentinella = 1;

while(valore_sentinella == 1){

printf("Inserire identificatore: ");
scanf("%n", &identificatore);

printf("/n");

printf("Inserire stringa: ");
scanf("%s", &stringa);

printf("/n");

if(add(identificatore, stringa) == TRUE)
printf("Inserimento riuscito.../n");
else
printf("Inserimento errato.../n");

printf("Continuare con l'inserimento? (premere 1 per SI / premere 0 per NO ");
scanf("%d", &valore_sentinella); }

system("pause");
return 0;
}





int add (int identifier, String str)
{

int i;

if(identifier > 0 && str!=""){
for(i=0;i<DIMENSIONE_VETTORE;i++){
if(identifier == sp[i].identificatori) return FALSE;
else for(i=0;i<DIMENSIONE_VETTORE;i++){
if(sp[i].identificatori == -1){
sp[i].identificatori = identifier;
sp[i].stringhe = str; }}}
else return FALSE; }
}

oregon
09-03-2010, 19:20
Scusa, qual la riga 57 ??

annam90
09-03-2010, 19:21
scusate mi ero dimenticata, l'ho segnata in rosso^^

oregon
09-03-2010, 19:28
Non si copiano le stringhe in questo modo ... in C si usa la funzione strcpy ...

annam90
09-03-2010, 19:34
va bene provo ad usare quella e vedo come va..

annam90
12-03-2010, 18:31
ha funzionato quella ^^

oregon
12-03-2010, 18:32
Originariamente inviato da annam90
ha funzionato quella ^^

Beh ... meno male :-)

Loading