Ver Mensaje Individual
Antiguo 11/03/2006, 16:29   #7
Efirenet
Usuario Activo
 
Avatar de Efirenet
 
Fecha de ingreso: 06/dic/2004
Mensajes: 84
Efirenet llegará a ser famoso muy pronto
Hola. Exacto Coke, así era como se me había ocurrido a mí. Me hice un ejemplito y me quedó así:

[PHP]
// Incluir E/S y Librerías Standard
#include <iostream>
#include <cstdlib>
using namespace std;

// Zona de Declaración de Constantes
const int MAXCAD = 25;

// Zona de Declaración de Tipos
typedef char TCadena [MAXCAD+1];

typedef struct
{
int Mayusculas;
int Minusculas;
char *CadMayus;
} TResultado;

//Cabeceras
TResultado ParsearCadena (char* cad);

// Programa Principal
int main()
{
// Zona de Declaración de Variables del Programa principal
TCadena frase;
TResultado mResult;

cout << "Introduzca la frase que desee: ";
cin.getline ( frase, MAXCAD + 1 );

mResult = ParsearCadena(frase);

cout << "Numero de mayusculas: " << mResult.Mayusculas << endl;
cout << "Numero de minusculas: " << mResult.Minusculas << endl;
cout << "Frase en mayusculas: " << mResult.CadMayus << endl;

system("Pause"); // Hacer una pausa
return 0; // Valor de retorno al S.O.
}

TResultado ParsearCadena (char* cad)
{
TResultado mRes;
char *contCad;

mRes.Mayusculas = 0;
mRes.Minusculas = 0;
mRes.CadMayus = 0;
contCad = cad;
while (*contCad) {
if (isalpha(*contCad)) // Si es una letra
if (isupper(*contCad))
mRes.Mayusculas++; // Es una letra mayúscula
else
mRes.Minusculas++; // Es una letra minúscula
*contCad = toupper(*contCad);
contCad++;
}
mRes.CadMayus = cad;
return mRes;
}
[/PHP]

Se parece bastante a lo que posteó Coke.

Un saludo
Efirenet está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir