colas en lenguaje c

KWM

Becerro
#1
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
 

Uhiho

Bovino maduro
#2
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.
 
#5
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...
 

Uhiho

Bovino maduro
#6
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!
 
Arriba