Ragazzi ecco, allora il mio problema sta nella gestione degli sforamenti...
Non riesco a capire come fare ad evitare lo sforamento...
Vorrei che quando la posizione da stampare è < di zero la stampa dell'array prosegua a ritroso a partire dall'ultimo...
Mi spiego megio:
Ho Contatto1, Contatto2, Contatto3 in memoria.
Voglio stampare tutti i contatti, allora richiamo la void PrintAll che a sua volta sfrutta una Print che riceve l'array e la posizione da stampare.
Bene! Se clicco sulla freccia direzionale a destra ( ossia in verso positivo ) devo visualizzare uno alla volta, ed alla pressione del tasto freccetta a destra, il contatto alla posizione successiva, e voceversa se premo la freccetta a sinistra devo poter visualizzare il contatto precedente...Credo di essere stato ancora più chiaro...
Ora il mio programma questo lo fa...ma appena sforo va in segmentation fault...ovviamente
Chi mi aiuta?...Ecco quello che ho scritto fin ora
Codice PHP:
void PrintAll
(
AGENDA *Agenda, /* Agenda da stampare */
int Fine /* Dimensione dell'array da stampare */
)
{
int Start, End; /* Inizio dell'Array da stampare */
/*
Invece di avere la stampa sequenziale così:
for(Start=0; Start<Fine; Start++)
Print( Agenda , Start );
*/
char key;
Start=0;
End=Fine;
do
{
fflush(stdin);
key = getch();
switch( key )
{
case 75:
/* Se l'inizio è negativo */
if( Start < 0 )
{
Start=0;
Print( Agenda, Start );
}
else
{
Start--;
Print( Agenda, Start );
}
case 77:
/* Se l'inizio è maggiore della lunghezza massima */
if( Start > End )
{
Start=End;
Print( Agenda, Start );
}
else
{
Start++;
Print( Agenda, Start );
}
default: Print( Agenda, 0 );
}
}
while( key != 27 );
system("CLS");
}
Non so com'è ma non fa nemmeno i controlli... helpppp