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

Cerrado
daniel2941998 Mensajes enviados 1 Fecha de inscripción domingo, 11 de noviembre de 2018 Estatus Miembro Última intervención domingo, 11 de noviembre de 2018 - Modificado el 11 nov 2018 a las 02:41
misterdekus Mensajes enviados 473 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 27 de julio de 2022 - 11 nov 2018 a las 09:41
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");
}
Consulta también:

1 respuesta

misterdekus Mensajes enviados 473 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 27 de julio de 2022 127
Modificado el 11 nov 2018 a las 09:44
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
0