elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Mayusculas a minusculas problema c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mayusculas a minusculas problema c++  (Leído 6,868 veces)
nolram

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Mayusculas a minusculas problema c++
« en: 16 Abril 2014, 08:40 am »

buenas............
lo que pasa es que intento pasar un char a mayusculas pero el programa me tira un error:

Código:
#include <iostream>
using namespace std;

int main () {
   char c;
   do{
         cin >> c;
         if(c >= 'a' and c<='z') {
                       c -= 'a' - 'A';
                       cout << c;
        }
        else if(c >= 'A' and c<='Z'){
                       c -= 'A' - 'a';
                       cout << c;
         }
   }while(c!= 'p';   
   cout << endl;

funciona el problema es que cuando introduzco el octavo caracter el programa se vuelve loco y se cierra y no se por que;
alguien puede ayudarme a resolver esto.....
muchas gracias.....


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #1 en: 16 Abril 2014, 10:05 am »

Código
  1.   char c;
  2.  
  3.   while((cin >> c), c != 'p')
  4.   {
  5.        if((c >= 'a') && (c <= 'z'))
  6.        {
  7.            c -= 'a' - 'A';
  8.            cout << c;
  9.        }
  10.        else if((c >= 'A') && (c <= 'Z'))
  11.        {
  12.            c -= 'A' - 'a';
  13.            cout << c;
  14.        }
  15.        cout << endl;
  16.    }
  17.  
  18.   cout << endl;


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #2 en: 16 Abril 2014, 15:13 pm »

lo que pasa es que intento pasar un char a mayusculas pero el programa me tira un error
Lo mejor en tu caso es utilizar (por sencillo) las funciones tolower y toupper (prototipos en <cctype>).

En cuanto al programa esta incompleto (falta el final de la funcion main), falta el parentesis de cierre en el bucle while, al convertir el caracter a mayusculas/minusculas debes restar el primer operando y sumar el segundo. Por ultimo la condicion de la salida no la aclaras.

Si se trata de salir cuando el caracter sea 'p' o 'P' el bucle se debe cambiar a:
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main ()
  5. {
  6.   char c;
  7.  
  8.   do{
  9.      cin >> c;
  10.  
  11.      if (c >= 'a' and c<='z'){
  12.         c = c - 'a' + 'A';
  13.         cout << c;
  14.      }else if (c >= 'A' and c<='Z'){
  15.         c = c - 'A' + 'a';
  16.         cout << c;
  17.      }
  18.   }while (c != 'p' && c != 'P');
  19.   cout << endl;
  20.  
  21.   return 0;
  22. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
nolram

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #3 en: 16 Abril 2014, 19:59 pm »

Gracias por las respuestas.......

Pero aun sigue sin funcionar..... pero descubri que el problema esta en el cin>>
ya que hice otro programa de prueba el cual le añadi un ciclo for:

Código:
char b;
for(int a =1; a<20; a++){
                   cin>>b;
                   cout<<b;
}

y cuando la a llega a 8 el ciclo se vuelve loco e imprime solo el resto hasta el llegar al 19;
pero no se por que.........
esty utilizando dev c++
MUCHAS GRACIAS POR LA ATENCION....   
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #4 en: 17 Abril 2014, 00:01 am »

Hola a mi me funcion con las correcciones que hizo rir3760 me andubieron perfecto no tube problema con 15 palabras que ingrese, sola faltaba unos saltos de linea, saludos.
En línea

Lo que se puede imaginar... se puede programar.
nolram

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #5 en: 17 Abril 2014, 07:15 am »

Pues amigo si a ti te funciono entonces estoy pensando seriamente que le problema esta en el dev c++;

por que la verdad lo he intentado varias veces y no funciona de ninguna manera simepre al ingresar el caracter 8 se cierra........   
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #6 en: 17 Abril 2014, 09:36 am »

Aca la prueba



Es raro que no te funcione. y como dige antes solo faltan algunos espacios.

Saludos.
En línea

Lo que se puede imaginar... se puede programar.
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #7 en: 17 Abril 2014, 18:17 pm »

Gracias por las respuestas.......

Pero aun sigue sin funcionar..... pero descubri que el problema esta en el cin>>
ya que hice otro programa de prueba el cual le añadi un ciclo for:

Código:
char b;
for(int a =1; a<20; a++){
                   cin>>b;
                   cout<<b;
}

y cuando la a llega a 8 el ciclo se vuelve loco e imprime solo el resto hasta el llegar al 19;
pero no se por que.........
esty utilizando dev c++
MUCHAS GRACIAS POR LA ATENCION....   
Tomando en cuenta que ese es todo el código:
Código:
char b;
for(int a =1; a<20; a++){
                   cin>>b;
                   cout<<b;
}
Probablemente debido a que estas ingresando más de un caracter como entrada, mira que a cin estas pasando una variable de tipo char no una cadena
así que cin tomara el siguiente character si existe en lugar de solicitar de nuevo una entrada del usuario. probablemente lo que necesitas es pasarle un
puntero a una cadena de caracteres.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Mayusculas a minusculas problema c++
« Respuesta #8 en: 17 Abril 2014, 23:45 pm »

estoy pensando seriamente que le problema esta en el dev c++;

por que la verdad lo he intentado varias veces y no funciona de ninguna manera simepre al ingresar el caracter 8 se cierra
Para ayudarte a resolver el problema que mencionas primero debes publicar el código fuente completo.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mayusculas y minusculas « 1 2 »
.NET (C#, VB.NET, ASP)
birdez 13 10,206 Último mensaje 31 Mayo 2012, 00:39 am
por birdez
minusculas/mayusculas en login
Programación Visual Basic
elezekiel 2 2,768 Último mensaje 28 Agosto 2014, 01:01 am
por elezekiel
Enteros equivalentes a letras mayúsculas, minúsculas.
Programación C/C++
mort 2 3,742 Último mensaje 7 Enero 2015, 17:16 pm
por rir3760
Convertir mayusculas a minusculas en MIPS
ASM
SixtyGravy0 1 4,779 Último mensaje 25 Octubre 2015, 14:24 pm
por ivancea96
No distinguir entre mayusculas y minusculas en PHP
PHP
Alarkon_88 4 4,286 Último mensaje 26 Enero 2017, 21:36 pm
por Alarkon_88
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines