Salve
Scusami hai ragione, questo è il mio programma :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include "tipodati.h"
#include "liste.h"
#include<time.h>
#include<memory.h>
int LeggiFile(char*nomeFile, SNodo**p,SNodo*r);
void Stampa();
SNodo* p;
SNodo* n;
SNodo* cor;
SNodo* rit;
SNodo* u;
void main (void)
{
char ch;
srand( (unsigned)time( NULL ) );
LeggiFile("concorrenti.txt",&p,&rit);
printf("1^ manche\n\n");
while(p)
{
ch=_getch();
n=EstraiTesta(&p);
Stampa();
}
printf("\n\n");
printf("I concorrenti eliminati sono: \n\n");
n = rit;
while(n)
{
Stampa();
n = n->next;
}
system("pause");
}
int LeggiFile(char*nomeFile, SNodo**p, SNodo**rit)
{
SInfo x;
FILE*f;
int k;
SNodo* app;
f= fopen(nomeFile,"r");
if(f==NULL)
return 0;
*p=0;
*rit=0;
app=0;
while((k = fscanf(f, "%i,%[^,],%i,%s", &x.n_pet, x.nome, &x.anno, x.naz))>0)
{
x.tempo=6000+(6000*rand()/RAND_MAX);
app = (SNodo*) malloc (sizeof(SNodo));
app->tempo.min = x.tempo/6000;
app->tempo.sec = (x.tempo-6000)/100;
app->tempo.cent = (x.tempo-6000)%100;
n = (SNodo*) malloc (sizeof(SNodo));
n->info=x;
app->info = x;
n->tempo.min = x.tempo/6000;
n->tempo.sec = (x.tempo-6000)/100;
n->tempo.cent = (x.tempo-6000)%100;
if(app->info.tempo > 10000)
InsOrdinato(rit,app);
InsOrdinato(p, n);
}
fclose(f);
return 1;
}
void Stampa()
{
printf("%3i %-24s %4i %s ", n->info.n_pet, n->info.nome, n->info.anno, n->info.naz);
printf("0%i : ",n->tempo.min);
if(n->tempo.sec <= 9)
printf("0%i : ",n->tempo.sec);
else
printf("%i : ",n->tempo.sec);
if(n->tempo.cent <= 9)
printf("0%i \n",n->tempo.cent);
else
printf("%i \n",n->tempo.cent);
}
in pratica devo trovare un modo per il quale quando l'utente preme un tasto (che io gli dirò qual'è) in un qualsiasi momento dell'esecuzione gli farà visualizzare la classifica (in questo caso è la classifica).