Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/02/2013, 08:19
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 3 meses
Puntos: 83
Respuesta: Problema con variable char en proyecto c++

En c++ tambien puedes usar el objeto string como en java (ademas de todo lo heredado de c tal como bien te comenta juanfranciscoX):

Código:
//libreria
#include <string>
using namespace std;

//declaracion
string palo;
palo = "oros";
Otra cosa, revisa tu manual porque hay errores de concepto: p.ej. para mostrar una cadena de caracteres con printf el modificador es %s en vez de %c (%c muestra un caracter y %s vuelca una cadena de texto hasta dar con un caracter nulo de final de cadena). Esto te sirve para mostrar la variable 'palo', aunque tal vez te serviria adentrarte un poco mas en c++:

Código:
//heredado de c
char palo[20];
sprintf(palo, "oros");
printf("%s", oros);

//en c++
string palo;
palo = "oros";
cout << palo;
Como ves en c++ las funciones de objetos ya trabajan con el tipo esperado en vez de dejar al programador la opcion de cagarla mostrando un %c en vez de %s, o asignando diferentes tipos del esperado.

Te comento otra cosa: cuando recibes la respuesta en scanf("%c", &resp) la variable esta declarada como boleano pero luego lo tratas como caracter; el funcionamiento es correcto pero el planteamiento no: tanto bool como char ocupan 1 byte y ambos pueden albergar caracteres reconocibles, y por eso el funcionamiento es correcto; pero el planteamiento es declarar un char para recibir caracteres y declarar boleanos para declarar flags de estado o lo que sea (para el input tambien está la version c++):

Código:
char resp;//sin array porque solo esperas un caracter, ocupa 1 byte igual que bool y puede albergar los mismos datos

//input herdado de c
scanf("%c", &resp);

//input en c++
cin >> resp;

//lo demas todo igual
if(resp == 'y') {
    ...
}
...
Lo siguiente ya es implementar la version grafica :)

Saludos
vosk