Ver Mensaje Individual
Antiguo 11/03/2006, 11:43   #4
Snake12
Usuario Activo
 
Avatar de Snake12
 
Fecha de ingreso: 07/mar/2003
Mensajes: 118
Snake12 está en el buen camino
Hola amigos, al final lo hice así ayer, pero no he tenido tiempo de ponerlo aquí. El problema que tengo es que los espacios en blanco, comas, etc... me las cuenta como letras minusculas, por lo demás bien. Pero cómo soluciono ese problema??

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

// Zona de Declaración de Constantes
const char FINCAD = char (0);
const char ENTER = '\n';
const int MAXCAD = 25;

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

// Zona de Cabeceras de Procedimientos y Funciones
void convertir_mayus ( TCadena cadena );
void mayus_minus ( TCadena cadena );

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

cout << "Introduzca la frase que desee:" << '\n' << endl;
cin.getline ( frase, MAXCAD + 1, ENTER );
cout << '\n' << endl;

mayus_minus ( frase );
convertir_mayus ( frase );

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

// Implementación de Procedimientos y Funciones
void mayus_minus ( TCadena cadena )
{
int i, mayus, minus;

i = 0;
mayus = 0;
minus = 0;
while ( ( cadena[i] != FINCAD ) && ( i < MAXCAD ) )
{
if ( isupper ( cadena[i] ) )
{
mayus++;
}
else
minus++;
i++;
}
cout << "Hay "<< mayus << " letras mayusculas." << endl;
cout << "Hay " << minus << " letras minusculas." << '\n' << endl;
}

void convertir_mayus ( TCadena cadena)
{
int i;

i = 0;
while ( ( cadena[i] != FINCAD) || ( i < MAXCAD ) )
{
cadena[i] = toupper ( cadena[i] );
i++;
}
cout<< cadena << '\n' << endl;
}
[/CODE]

Bueno, muchas gracias por vuestra ayuda!!
Snake12 está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir