Sé que no están aquí para hacer las tareas de nadie. Soy nuevo en C++, y pese a que me gusta y tengo muchas ganas de aprender ando muy perdido. Debo entregar una práctica de programación el viernes. Una parte del programa en cuestión debe preguntarme mi nombre y cambiar las vocales por otras, la a por la u, y demás. Igual debería darme verguenza preguntarlo pero como ya digo después de mucho leer (aka tengo el libro "problemas resueltos de c++, edit Thomson", y por diversos sitios) El código al que llegué es es siguiente:
#include <iostream>
using namespace std;
int main(void) {
char array_letras[50];
int tamanyo_array=sizeof(array_letras)/sizeof (char);
//se recorre la cadena y se sustituye
for(int i=0;i<tamanyo_array;i++) {
switch(array_letras[i]) {
case 'a':
array_letras[i]='u';
}
}
for(int i=0;i<tamanyo_array;i++) {
switch(array_letras[i]) {
case 'e':
array_letras[i]='a';
}
}
for(int i=0;i<tamanyo_array;i++) {
switch(array_letras[i]) {
case 'i':
array_letras[i]='e';
}
}
for(int i=0;i<tamanyo_array;i++) {
switch(array_letras[i]) {
case 'o':
array_letras[i]='i';
}
}
for(int i=0;i<tamanyo_array;i++) {
switch(array_letras[i]) {
case 'u':
array_letras[i]='o';
}
}
float primero,segundo,tercero,cuarto,quinto,sexto,septim o,octavo,noveno,decimo;
cout<<"Como te llamas?";
cin>>array_letras;
cout<<array_letras;
cout<<" Yo prefiero llamarte ";
//se imprime el array para ver los cambios
for (int i=0; i<tamanyo_array;i++){
cout<<array_letras[i]<<endl;
}
system ("pause");
}
Lo que me ocurre es que la consola imprime unos caracteres muy extraños, una columna a la izquierda. Utilizo dev-C++ en Windows.
¿Alguien me sabría ayudar a que el programa imprima "mi nombre" con los caracteres cambiados?
Ejemplo: si pongo "roberto" en este caso el programa debe mostrar por pantalla "ribarti"
De verdad que antes de preguntar por aquí me he dado bastantes vueltas. De todos modos colgaré el código que obtenga al final, a ver si logro que funcione. Cuando hago una pregunta intento tener en cuenta
esto, espero que haya algun alma caritativa por ahí.