Devc++ "C" PROBLEMA DE IMPRESIÓN CON "CHAR".

Publicaciones
1
Fecha de inscripción
domingo, 11 de noviembre de 2018
Última intervención
domingo, 11 de noviembre de 2018
-
Buenas tengo un problema con la impresión del char

en el momento de imprimirlo solo me sale el incremento de( la placa del automovil TIPO ENTERO)

en el momento de preguntar el tipo de carro tipo"char[20] no me lo imprime y tampoco aumenta mi cola(nodo)

si quito el printf y el scanf del "for" en el "VOID INSERTAR" y solo leo la placa(TIPO ENTERO) el programa funciona perfectamentey aumenta la cola(nodo) perfectamente

codigo:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void insertar(int[],int,int);
void show(int[],int,int);
void atender(int[],int,int);


void menu (int cola[], int n, int tope)
{

int esc=0,p=0;
do{



puts(">>>>Menu principal<<<<\n");
puts("1. Nuevo turno. ");
puts("2. Ver vehiculos en la cola.");
puts("3. Atender turno.");
puts("4. Salir.");

printf("\nIntroduzca el numero correspondiente a su opcion: ");
scanf("%i",&esc);
system("cls");

switch(esc)
{
case 1 : insertar (cola,n,tope);
system("pause");
system("cls");
break;

case 2: show(cola,n,tope);
system("pause");
system("cls");

case 3: atender(cola,n,tope);
system("pause");
system("cls");

case 4 :
p=1;
break;
}
}while(p==0);
exit(0);

}





void insertar(int cola[],int n, int tope)
{

char carro[20];
int vc,jj=0;



for(vc=n;vc<=tope;vc++)
{


if (n ==tope)
{
printf("final= %i // frente =0",n);
printf("\nLa cola esta llena, 0 para REGRESAR AL MENU)\n");
scanf("%i",&jj);
if(jj==1)
{
system("cls");
menu(cola,n,tope);

}
else
{
system("cls");
menu(cola,n,tope);
}
}


else
{
printf("Aun quedan %i espacios en la cola, desea agregar elementos o regresar al menu?\n(1 para AGREGAR // 0 para REGRESAR AL MENU)\n",tope-n);
scanf("%i",&jj);
if(jj==1)
{
printf("digite el vehiculo: ");
scanf("%s: ", carro);
system("cls");

printf("\nIntroduzca el elemento: ");
scanf("%i",&cola[vc]);
system("cls");
n++;
}
else
{
system("cls");
menu(cola,n,tope);
}
}
}

}


void show(int cola[], int n, int tope)
{
char carro[20];
int vc;


if (n!=0)
{


puts("\nLa cola de vehiculos esta conformada por:\n");
printf("Final= %i // frente=0\n",n);
for(vc=n-1;vc>=0;vc--)
{
printf(" %s: [ %i ]",carro,cola[vc]);

}getch();
system("cls");
menu(cola,n,tope);

}
else
{

printf("\nfinal= 0 frente=0");

printf("\nLa cola esta vacia. \n");

}getch();
system("cls");
menu(cola,n,tope);


}

void atender(int cola[], int n, int tope)
{

printf("aun sin programar ");
getch();

system("cls");
main(cola,n,tope);

}








main(){


int n=0,vc,tope=0;
puts("Determine la cantidad de elementos de la cola: ");
scanf("%i",&tope);
int cola[tope];
menu(cola,n,tope);
system("cls");
}
Ver más 

Tu respuesta

1 respuesta

Publicaciones
118
Fecha de inscripción
miércoles, 10 de enero de 2018
Última intervención
domingo, 9 de diciembre de 2018
0
Gracias
hola daniel

con todo respeto, que diablos hace la variable Cola ? no le encuentro el uso

2do y como observacion:
se hizo algo que es tan facil , algo complicado en el VOID menu para el do-while

MODO complicado y manera resumida en la que esta el codigo
int esc=0,p=0; 
do{
puts("4. Salir."); 
scanf("%i",&esc);
switch(esc) 
{
 case 4 :
p=1;
}
}while(p==0);


MODO facil y como lo haria

int esc;
do{
puts("4. Salir."); 
scanf("%i",&esc);
switch(esc) 
{
// no necesitarias el case 4 , al menos que quieras un msg de despedida
}
}while(esc!=4);


en cuanto al problema del 'char' no veo que captures el scanf en el 'VOID Insertar' para el char carro[20]

Saludos
Comenta la respuesta de misterdekus