Ayuda de programacion en c++

Hola gente!!!
Resulta que hace unas semanas me encargaron en la universidad un trabajo de c++ , me he tirado muchas horas intentado hacerlo pero no entiendo nada y lo poco que he hecho no me ha funcionado.
Si alguien de este foro entiende un poco de programacion me podria ayudar???
Le estaria muy agradecido , no digo que me lo haga solo algun trozo que me pueda ayudar .
El programa consiste en :

Se trata de confeccionar un programa en el que el usuario debe introducir una frase, de menos de 20 letras, y que acabe en punto, para después realizar una serie de acciones sobre la frase.

Estas son las acciones (funciones) que deberá hacer el programa, mediante un menú:

1. Convertir la frase a mayúsculas
2. Convertir la frase a minúsculas
3. Convertir la frase a oración
4. Contar el número de apariciones que tiene una letra (se le pide al usuario) en la frase.

A tener en cuenta:

En el programa, no se podrán utilizar variables globales, y las funciones deberán usar el paso por referencia.

Si el usuario escribe una frase de más de 20 letra, automáticamente el programa sustituirá la última posición del vector por un punto.

Las letras mayúsculas de las minúsculas, en el código ASCII difieren en 32 posiciones
Para convertir de mayusculas a minusculas y viceversa solo tienes que jugar con el codigo asscci , sumandole o restandole segun sea conveniente. Te pongo un ejempo la a minuscula es 97 ... si le restas 32 se queda en 65 que es la A mayuscula ^^. Para pasar a minuscula puedes hacer la operacion similar.

El 3º punto no se lo que quieres decir con oracion xD.

Para contar el numero de aparaciones te creas un array de numeros de 5 elementos. Luego recorres el vector de caracteres con un for y cada vez que aparezca por ejemplo la a , le sumas un elemento a la posicion 0 del vector. algo asi :
// tamano = tamaño del vector de caracteres
for ( int i = 0 ; i < tamano ; i++ )
{
if ( frase[i] == 'a' )
--aqui aumentar el contador
if ( frase[i] == 'e' )
--lo mismooo
}

Esto es algo rapido y cutre pero es para hacerte una idea de lo que puedes hacer , en vez de vector de enteros tambien puedes usar variables sueltas en plan contadorA o cosas asi. Ah! y recuerda inicializar los contadores a 0 al principio del programa.

Lo de sustituir por el ultimo elemento pues nada haces una comprobacion del ultimo elemento y lo sustituyes por el punto. La cosa es que lo intentes tu y lo pienses porque al final lo agradeceras.
resulta que hay que hacerlo con punteros.
Si lo se es una practica imposible y no se que hacer ya .... [enfado1]
con punteros? Es totalmente necesario? pones que con referencias pero eso no quiere decir que tengas que usar punteros. Podria ser por ejemplo que para contar las letras tuvieras que pasar un entero por referencia. ejemplo contar a
void contarA ( int & a )
{
// codigo a implementar
}

Preguntalo y si es por punteros pues lo hacemos con punteros.
es con punteros si.
que alguien me ayude porfavor , es la unica practica en mi vida que tengo que pedir ayuda . :(
Ya te han dicho varias cosas, pero si no especificas más y pones lo que llevas hecho y preguntas dudas más concretas...
7 respuestas