PDA

Visualizza la versione completa : problema con C in dev-c++


spezio
03-03-2010, 00:18
Sto cercando di fare un progetto per l'universitā in c
Devo leggere da un file chiamato agenda.txt il cognome il nome e il tel di X tizi...non so a priori quanti siano
Devo memeorizzarli in una lista .......ovviamente dinamica
Al momento della compilazione mi dā errore...
Posto il codice e accetto con mucho piacere eventuali suggerimenti....
Grazie a tutti...

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

typedef struct {
char cognome[20];
char nome[20];
char telefono[20];
struct agenda *succ;
}agenda;

int main(int argc, char *argv[])
{
struct agenda *k, *pun;
FILE *rubrica;
k = malloc(sizeof(agenda));
if(k==NULL)
printf("Memoria esaurita\n");


if ((rubrica = fopen("agenda.txt", "r")) == NULL)
//rubrica = fopen("agenda.txt","r")
//if (rubrica == NULL)
{
printf("Il File che stai cercando di aprire non esiste\n");
}
else
{
fscanf(rubrica,"%s\t",k->cognome;
fscanf(rubrica,"%s\t",k.nome);
fscanf(rubrica,"%s\t",k.telefono);
printf("Nome: %s\t Cognome: %s\t Telefono: %s\t\n",k->nome,k->cognome,k->telefono);

}

system("PAUSE");
return 0;
}

oregon
03-03-2010, 00:28
Direi che deve essere



typedef struct nodo
{
char cognome[20];
char nome[20];
char telefono[20];
struct nodo *succ;
} agenda;

int main()
{
agenda *k;
FILE *rubrica;

k = (agenda *)malloc(sizeof(agenda));


e anche



fscanf(rubrica,"%s\t",k->nome);
fscanf(rubrica,"%s\t",k->telefono);

spezio
03-03-2010, 00:33
si scusa...all'inizio avevo fatto k.cognome k.nome etc etc
ma poi avevo pensato di cambiare con k-> nome....che sarebbe poi k che punta il campo cognome no?....grazie per i sugg ora provo e ti faccio sapere....ok?

spezio
03-03-2010, 00:41
guarda caro....ho modificato il campo succ della struct con nodo....come hai suggerito tu...ma quando alloco con
k=(agenda *)malloc(sizeof(agenda)) mi da questo errore....
16 C:\Dev-Cpp\Liste.c [Warning] assignment from incompatible pointer type
e di conseguenza tutti gli altri......

oregon
03-03-2010, 00:43
Hai visto tutte le linee che ti ho detto di modificare?

Anche questa

agenda *k;

?

spezio
03-03-2010, 00:53
ah cribbio no...e infatti l'errore č sparito....
ma secondo te....come mai??...va bč....l'importante era capire dove sbagliavo...sai....auto didatta...ho delle basi forti...ma...purtroppo la sintassi cambia da progra a progra....e in dev-c++ non mi funziona la guida perchč dice che con vista non č compatibile.....maledetto Vista......maledetto sul serio...eheheheh
grazie cmq...mi sei stato di grande aiuto....ora procedo con le restante parte del codice......
magari poi te lo posto....anche se probabilmente non č di tuo interesse.....
ciao...e grazie per ora...

oregon
03-03-2010, 01:06
Se puoi, lascia stare DevC++ e usa Visual C++ 2008 Express Edition

spezio
03-03-2010, 01:21
ora do un'occhiata.....grazie per il suggerimento...

Loading