Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

colas en lenguaje c

  • Autor de tema Autor de tema KWM
  • Fecha de inicio Fecha de inicio

KWM

Bovino adolescente
Desde
15 Ago 2007
Mensajes
55
tengo este problema al realizar un programa en c sobre colas la cosa es que me marca errores y no comprendo por que este es mi codificacion

#include<stdio.h>
#include<conio.h>
#include<math.h>
/*declaracion de las variables*/
void insertar();
/*declaracion de la variables globales*/
int c[5], max, frente, final;
char opcion[2];
main ()
{
insertar();
max=5;
/*llamada de la funcion*/

final=0;
do {
if (final<max)
{
final=final+1;
printf("tecle el numero que se va a agregar\n");
scanf("%d", &c[final]);
frente =1;
}
else{
if(final==1)
{
printf("hay desbordamiento de datos\n");}}
/*fin del if*/

printf("desea agregar otro numero a la cola\n");
printf("pulse la letra `s` para agrgar , o cualquier letra si no lo desea\n");
scanf("%[^\n]", &opcion);

}while (!strcmp(opcion, "s")|| !strcmp (opcion, "S"))
getche();
return 0 ;
}


los errores que me marca son
}while (!strcmp(opcion, "s")|| !strcmp (opcion, "S")) que no esta declarada

getche(); se expecto antes de getche

la cosa es que no le hayo como solucionar ese programa espero qu eme ayuden gracias
 
scanf("%[^\n]", &opcion); ¿Para qué haces eso?...

opcion es una variable puntero (fija o estática), por lo que en el scanf con sólo poner la variable le estás mandando la dirección de memoria.
 
scanf("%d", &c[final]); <= Aquí va empezar a poner los datos desde 1 y no desde 0.
 
if(final==1)

checa... tu variable "final" esta declarada como una matriz
y estas haciendo una comparacion, pero el compilador no sabe a que elemento de la matriz "final" te refieres...
 
int c[5], max, frente, final; Posiblemente ahí está el problema, en ni un lado declaras final como un array. y después lo quieres utilizar como tal... :P... y tienes muchos más errores, como los que te comenté arriba...

Jejeje... :p

Un saludo!
 
Volver
Arriba