Programación General > C++ Builder
no se que me falta
apec18:
Que tal estoy haciendo un programa que determine si una palabra o frase fue escrita en mayúscula, minúscula o mixta aqui tengo mis codigos pero tengo una falla que no se que paso mirenlo
#include <iostream>
#define mt 500
using namespace std;
char txt[mt];
int len , Uper = 0 , Lower = 0;
int main(){
cout << "Inserte su texto( 500 chrs ): " << endl;
cin >> txt;
len = strlen( txt );
for ( int i = 0; i < len; i++ ){
if ( (txt >= 'a') && (txt <= 'z') ) Lower++; else
if ( (txt >= 'A') && (txt <= 'Z') ) Uper++;
}
if ( Uper == 0 && Lower > 0 && len > 0 ) cout << "Todas son minúsculas."; else
if ( Uper > 0 && Lower == 0 && len > 0 ) cout << "Todas son mayúsculas."; else
if ( Uper > 0 && Lower && len > 0) cout << "Es mixto."; else
if ( len == 0 ) cout << "Su texto no tine chrs.";
system( "pause > nul" );
return EXIT_SUCCESS;
}
Eternal Idol:
El error esta aca, en txt:
if ( (txt >= 'a') && (txt <= 'z') ) Lower++; else
if ( (txt >= 'A') && (txt <= 'Z') ) Uper++;
No estas accediendo a un caracter del array, fijate que estas en un bucle for y la variable i no la estas usando para nada dentro del mismo.
apec18:
hazale el cambio porfavor para ver que paso
Eternal Idol:
En cada txt reemplaza por txt.
apec18:
Ok ya vi lo que paso lo arregle miralo aqui y ademas gracias.
#include <iostream>
#define mt 500
using namespace std;
char txt[mt];
int len , Uper = 0 , Lower = 0;
int main(){
cout << "Inserte su texto( 500 chrs ): " << endl;
cin >> txt;
len = strlen ( txt );
for ( int i = 0; i < len; i++ ){
if ( (txt >= 'a') && (txt <= 'z') ) Lower++; else
if ( (txt >= 'A') && (txt <= 'Z') ) Uper++;
}
if ( Uper == 0 && Lower > 0 && len > 0 ) cout << "Todas son minusculas."; else
if ( Uper > 0 && Lower == 0 && len > 0 ) cout << "Todas son mayusculas."; else
if ( Uper > 0 && Lower && len > 0) cout << "Es mixto."; else
if ( len == 0 ) cout << "Su texto no tine chrs.";
system( "pause > nul" );
return EXIT_SUCCESS;
}
Navegación
[#] Página Siguiente
Ir a la versión completa