Foros del Web » Programación para mayores de 30 ;) » C/C++ »

C++ duda programa facil

Estas en el tema de C++ duda programa facil en el foro de C/C++ en Foros del Web. C++ Buenas tengo que hacer un programa que lea un numero con cin.get() y que de como salida los numeros que an sido pulsados. EJ: ...
  #1 (permalink)  
Antiguo 03/03/2009, 08:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
C++ duda programa facil

C++

Buenas tengo que hacer un programa que lea un numero con cin.get() y que de como salida los numeros que an sido pulsados.

EJ:
Entrada: 1214536

Salida: 0:0 1:2 2:1 3:1 4:1 5:1 6:1 7:0 8:0 9:0

Estoy usando un array de de 10 posiciones (de 0 a 9) para almacenar las veces que pulso pero no consigo que me escriba en el.

typedef int Tvector [MAXVECTOR];

Este es el programa que cuenta que es donde esta el problema creo yo, porque el resto de procedimientos(inicializar el array, y pintarlo) funcionan bien, el caso es que no se bien como funciona el cin.get y es lo que mas problemas me esta dando. Seguro que es un fallo de alguna tonteria que se me escapa si alguien lo ve que me lo diga. Gracias ^^

void CuentaDigitos (Tvector &v)
{
char car;
int i;

while (car!=ENTER)
{
car = cin.get();
i = int(car);
v[i] = v[i] + 1;
}
PintaVector (v);
}

Última edición por Franatico; 03/03/2009 a las 09:02
  #2 (permalink)  
Antiguo 03/03/2009, 09:05
 
Fecha de Ingreso: mayo-2005
Mensajes: 5
Antigüedad: 19 años
Puntos: 0
Respuesta: C++ duda programa facil

Vale, me contesto yo solo, la linea i = int(car) tiene que ser i = int(car)-48 al tratarse de caracter el int(0)=48,int(1)=49, int(2)=50.... era una tonteria U_U

De todas maneras agradeceria que alguien me dijese como funciona el cin.get() exactamente que no termina de quedarme claro

Última edición por Franatico; 03/03/2009 a las 09:20
  #3 (permalink)  
Antiguo 03/03/2009, 11:14
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: C++ duda programa facil

Queda mas claro:
Código:
i = int(car) - '0';
http://www.cplusplus.com/reference/i...tream/get.html
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:37.