Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/11/2012, 21:09
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Mala ejecución de estructura

Hola Antonio.

Cita:
Lo ejecuto, me pide los datos del primero cliente listado[0], le meto los datos, me los escribe y me empieza a pedir los datos del segundo...
Aquí me aparece:
Introduzca el nombre del cliente: Introduzca el numero de unidades:
No puedo introducir el nombre del cliente, se salta el espacio...
Podés hacer:
Código C++:
Ver original
  1. ...
  2.  for (int i=0; i<3; i++) {
  3.    leer_clientes (&listado[i]);
  4.    while(cin.get()!='\n');
  5.    escribe_clientes (listado[i]);
  6.   }
  7. ...
Cita:
por qué no aparecen las palabras tildadas en la ejecución en ms dos?
Es debido a que la consola de windows utiliza caracteres unicode, pero podés hacerte una función para presentar los mensajes que contengan acentos o eñes:
Código C++:
Ver original
  1. void consout(const char *cadena)
  2. {
  3.   int i;
  4.   for(i=0;i<strlen(cadena);i++){
  5.     switch(cadena[i]){
  6.       case 'á': printf("\240");    break;
  7.       case 'é': printf("\202");    break;
  8.       case 'í': printf("\241");    break;
  9.       case 'ó': printf("\242");    break;
  10.       case 'ú': printf("\243");    break;
  11.       case 'ñ': printf("%c",-92);  break;
  12.       case 'Ñ': printf("%c",-91);  break;
  13.       case 'Á': printf("%c",-75);  break;
  14.       case 'É': printf("%c",-112); break;
  15.       case 'Í': printf("%c",-42);  break;
  16.       case 'Ó': printf("%c",-32);  break;
  17.       case 'Ú': printf("%c",-23);  break;
  18.       default: printf("%c",cadena[i]); break;
  19.     }
  20.   }
  21. }

Saludos.