C/Visual C - sobre la validacion -9999

 
Vista:

sobre la validacion -9999

Publicado por XIRO (1 intervención) el 28/10/2005 02:10:25
SRES. TENGO UNA DUDA CON RESPECTO A LA VALIDACION EN UNA PILA DE EL DIGITO -9999, LES ENVIO EL PROGRAMA PARA QUE VEAN DONDE SE UTILIZA, MI PREGUNTA ES LA SIGUIENTE POR QUE SE USA ESE NUMERO ESPECIFICAMENTE Y PARA QUE, YA QUE ALGUIEN ME DIJO ALGO DE QUE ERA POR ALGO DE CUATRO F (FFFF)...

OJALA ME PUEDAN AYUDAR, GRAX...

/*Implementacion de una pila simple*/

#include "stdio.h"
#include "conio.h"
#define N 10

void insertar(int [N], int*, int);
int sacar(int [N], int*, int*);
void imprimir(int [N], int, int);

main()
{
int frente=-1, final=0;
int pila[N]={0}, num, op;
do{
clrscr();
printf("\t\tOperaciones de la pilas\n");
printf("\t\t\tInsertar....1\n");
printf("\t\t\tSacar.......2\n");
printf("\t\t\tImprimir....3\n");
printf("\t\t\tSalir.......4\n");
printf("\t\t\tOpcion...."); scanf("%d", &op);
switch(op){
case 1: printf("\n\tElemento a insertar :");
scanf("%d", &num);
insertar(pila, &frente, num);
break;
case 2: num=sacar(pila, &frente, &final);
if (num == -9999){
printf("\n\n\tPila Vacia");
frente=-1;
final=0;
}
else
printf("\n\tElemento sacado : %d", num);
getch();
break;
case 3: imprimir(pila, frente, final);
getch();
break;
}
}while(op!=4);
getch();
return 0;
}

void insertar(int pila[N], int *frente, int numero)
{
if (*frente > N)
printf("\n\n\tPila llena");
else{
(*frente)++;
pila[*frente]=numero;
}
}

int sacar(int pila[N], int *frente, int *final)
{
int num;
if (*frente < *final)
return -9999;
else{
num=pila[*frente];
(*frente)--;
return num;
}
}

void imprimir(int pila[N], int frente, int final)
{
if (frente < final)
printf("\n\n\tPila vacia");
else{
printf("\nElemetos en la pila :\n");
for (frente=frente; frente>=final; frente--)
printf("\t\t\t%d\n",pila[frente]);
}
}
Ì
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:sobre la validacion -9999

Publicado por chuidiang (73 intervenciones) el 01/11/2005 21:11:01
Hola:

El -9999 no tiene nada especial. Es símplemente un valor que se supone en el código que no se utiliza y se usa para "marcar" el final de la pila. Dicho de otra forma, si al pedir un número a la pila devuelve -9999 es que la pila se ha acabado y no hay número. No es una cosa muy elegante, pero puede valer si se está seguro que ese valor nunca se va a guardar en la pila.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar