03/04/09 6:44
Raghnash
Ciao a tutti. Premetto che ho iniziato con c da qualche settimana e quindi potrei anche commettere errori madornali
Il mio problema sta in questa funzione:
int records (FILE * fp)
{
int h, asd, asd2, sott, min, menur, j;
nome *nom, *nom2, nom3;
do
{
men:
rewind(fp);
min=0;
h=0;
system("cls"
printf("\n\t\t---RECORDS---\n\n\n\n"
sleep(200);
printf(" [1]Visualizza Record vittorie\n [2]Numero partite giocate\n [3]Resetta lista\n [0]Esci\n\n"
fflush(stdin);
scanf("%d", &menur);
switch(menur)
{
case 1: while(!feof(fp))
{
fscanf(fp, "%d %d", &asd, &asd2);
sott=asd-asd2;
if(sott>min)
{min=sott;}
}
rewind(fp);
while(!feof(fp))
{
fscanf(fp, "%d %d", &asd, &asd2);
if((asd-asd2)==min)
{ fscanf(fp, "%s", nom3);
printf("%s Vittorie %d Sconfitte %d\n", nom3, asd, asd2);
}
}
break;
case 2 : printf("\nInserire nome del giocatore: "
nom2=malloc(sizeof(nome));
scanf("%s", nom2);
while(!feof(fp))
{
nom=malloc(sizeof(nome));
fscanf(fp, "%s", nom);
if((strcmp( *nom, *nom2))==0)
{
++h;
}
free(nom);
free(nom2);
}
printf("\n %s ha giocato dall'ultimo aggiornamento %d partite.", nom, h);
sleep(2000);
break;
case 3: fclose(fp);
if((j=remove("record.txt")!=0)
printf("\n\nERRORE CANCELLAZIONE FILE!\n\n"
system("PAUSE"
exit(1);
break;
case 0 :goto end;
break;
default: goto men;
break;
}
}while(menur != 0);
end:
return 4;
}
Non mi funzionano le prime 2 opzioni
Allego tutto il programma nel caso ci fosse bisogno.
Se poi aveste qualche consiglio sono lieto di accettarlo
Il mio problema sta in questa funzione:
int records (FILE * fp)
{
int h, asd, asd2, sott, min, menur, j;
nome *nom, *nom2, nom3;
do
{
men:
rewind(fp);
min=0;
h=0;
system("cls"
printf("\n\t\t---RECORDS---\n\n\n\n"
sleep(200);
printf(" [1]Visualizza Record vittorie\n [2]Numero partite giocate\n [3]Resetta lista\n [0]Esci\n\n"
fflush(stdin);
scanf("%d", &menur);
switch(menur)
{
case 1: while(!feof(fp))
{
fscanf(fp, "%d %d", &asd, &asd2);
sott=asd-asd2;
if(sott>min)
{min=sott;}
}
rewind(fp);
while(!feof(fp))
{
fscanf(fp, "%d %d", &asd, &asd2);
if((asd-asd2)==min)
{ fscanf(fp, "%s", nom3);
printf("%s Vittorie %d Sconfitte %d\n", nom3, asd, asd2);
}
}
break;
case 2 : printf("\nInserire nome del giocatore: "
nom2=malloc(sizeof(nome));
scanf("%s", nom2);
while(!feof(fp))
{
nom=malloc(sizeof(nome));
fscanf(fp, "%s", nom);
if((strcmp( *nom, *nom2))==0)
{
++h;
}
free(nom);
free(nom2);
}
printf("\n %s ha giocato dall'ultimo aggiornamento %d partite.", nom, h);
sleep(2000);
break;
case 3: fclose(fp);
if((j=remove("record.txt")!=0)
printf("\n\nERRORE CANCELLAZIONE FILE!\n\n"
system("PAUSE"
exit(1);
break;
case 0 :goto end;
break;
default: goto men;
break;
}
}while(menur != 0);
end:
return 4;
}
Non mi funzionano le prime 2 opzioni
Allego tutto il programma nel caso ci fosse bisogno.
Se poi aveste qualche consiglio sono lieto di accettarlo
aaa