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


 


Tema destacado: Como proteger una cartera Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con programa con mayuscualas (cadena)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa con mayuscualas (cadena)  (Leído 3,093 veces)
EdgarKrieger

Desconectado Desconectado

Mensajes: 50


Necesito aprender mucho más


Ver Perfil
Ayuda con programa con mayuscualas (cadena)
« en: 17 Diciembre 2013, 19:43 »

Hola a todos soy yo de nuevo jejejeje, bueno tengo una pregunta tengo que hacer un programa que me pida que introduzca una frase con mayúsculas y minúsculas,y me diga cuantas mayúsculas tiene, me dijeron que lo tengo que hacer con la función toupper pero realmente no tengo la mas mínima idea por favor si alguien me puede ayudar muchas gracias.


En línea

A través de los años eh aprendido que si realmente queremos hacer algo o aprender cosas nuevas necesitamos hacer muchos sacrificios como tiempo , dinero, personas, etc. y puedo decir que me falta mucho por aprender.
ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: Ayuda con programa con mayuscualas (cadena)
« Respuesta #1 en: 17 Diciembre 2013, 20:37 »

Sinó, puedes mirar letra a letra si su númeroi en ascii corresponde a una mayúscula (65-90)


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con programa con mayuscualas (cadena)
« Respuesta #2 en: 17 Diciembre 2013, 20:46 »

toupper y tolower son para transformar a mayúscula y minúscula respectivamente. En cambio isupper e islower son para comprobar si la letra es mayúscula o minúsucula, por lo que serán estas últimas las funciones a utilizar.

Fíjate que el espacio en blanco se cuenta como minúscula, por lo que si sólo quieres contar las letras habrá que desecharlos.

Y como muestra una salida:


Citar
La letra L es mayuscula.
La letra e  minuscula.
La letra o  minuscula.
La letra S es mayuscula.
La letra a  minuscula.
La letra n  minuscula.
La letra S es mayuscula.
La letra a  minuscula.
La letra n  minuscula.
La letra R es mayuscula.
La letra i  minuscula.
La letra R es mayuscula.
Y las letras en minuscula son 7.
Y las letras en mayusculas son 5.

En principio no suelo poner código a menos que el autor del tema lo haga y en realidad pregunte dudas o problemas del mismo.  Pero me has pillado sensible ya que a un tema anterior que te respondí tuviste la gentileza, que creo es lo normal, de dar las gracias. Y ese gesto te honra, así que ahí va mi propuesta, mejorable seguramente:

Código
  1. #include <stdio.h>
  2. #include <ctype.h> // para isupper
  3.  
  4. int main()
  5. {
  6.    int cont_min=0,cont_may=0,i;
  7.    char frase []="LeoSanSan RiR";//Desactiva esto y activa los de abajo
  8.    //char frase [300];
  9.   // printf("Ingrese un frase:\n");
  10.    //scanf("%300[^\n]", frase);
  11.    for (i=0;frase[i];i++){
  12.        if ( frase[i]!=' '){
  13.            if ((isupper(frase[i]))==0 ){
  14.                printf("\nLa letra %c  minuscula.", frase[i]);//SOBRA
  15.                cont_min++;
  16.            }
  17.            else {
  18.                printf("\nLa letra %c es mayuscula.", frase[i]);//SOBRA
  19.                cont_may++;
  20.            }
  21.        }
  22.    }
  23.    printf("\nLas letras en minuscula son %d.", cont_min);
  24.    printf("\nY las letras en mayusculas son %d.", cont_may);
  25.    return 0;
  26. }
  27.  

Otra forma es la que te indica ivancea96,más efectivo ya que el mío cuenta los signos y números como minúsculas. Pero como en el enunciado dices de hacer uso de funciones es por lo que te propongo el código anterior.

Saluditos! ..... !!!!        
« Última modificación: 17 Diciembre 2013, 20:56 por leosansan » En línea

EdgarKrieger

Desconectado Desconectado

Mensajes: 50


Necesito aprender mucho más


Ver Perfil
Re: Ayuda con programa con mayuscualas (cadena)
« Respuesta #3 en: 17 Diciembre 2013, 21:53 »

Muchas gracias a los dos, como dices leosansan el programa me lo piden con una función pero también no estaría mal hacerlo como dice ivancea96 jejejeje de nuevo gracias. ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
En línea

A través de los años eh aprendido que si realmente queremos hacer algo o aprender cosas nuevas necesitamos hacer muchos sacrificios como tiempo , dinero, personas, etc. y puedo decir que me falta mucho por aprender.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con programa con mayuscualas (cadena)
« Respuesta #4 en: 18 Diciembre 2013, 06:53 »

Perdón, se me había olvidado la función isalpha para tener en cuenta sólo los caracteres alfabéticos. Ahora ya no cuenta los espacio, números, caracteres ....:


Código
  1. #include <stdio.h>
  2. #include <ctype.h> // para isupper,isalpha
  3.  
  4. int main()
  5. {
  6.    int cont_min=0,cont_may=0,i;
  7.    char frase []="LeoSanSan RiR";//Desactiva esto y activa los de abajo
  8.    //char frase [300];
  9.    //printf("Ingrese un frase:\n");
  10.    //scanf("%300[^\n]", frase);
  11.    for (i=0;frase[i];i++){
  12.        if ( isalpha(frase[i])!=0){
  13.            if ((isupper(frase[i]))==0 ){
  14.                printf("\nLa letra %c  minuscula.", frase[i]);//SOBRA
  15.                cont_min++;
  16.            }
  17.            else {
  18.                printf("\nLa letra %c es mayuscula.", frase[i]);//SOBRA
  19.                cont_may++;
  20.            }
  21.        }
  22.    }
  23.    printf("\nLas letras en minuscula son %d.", cont_min);
  24.    printf("\nY las letras en mayusculas son %d.", cont_may);
  25.    return 0;
  26. }
  27.  

Saluditos! ..... !!!!        
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines