elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programa en c que cambia todas las vocales por una "e"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa en c que cambia todas las vocales por una "e"  (Leído 3,483 veces)
cerealtrox

Desconectado Desconectado

Mensajes: 2


Ver Perfil
programa en c que cambia todas las vocales por una "e"
« en: 3 Septiembre 2021, 22:02 pm »

 :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main(int argc, char *argv[])
  5. {
  6.    int i;
  7.    char t[20];
  8.    printf("Programa que cambia las vocales de un texto por la siguiente vocal\n");
  9.    printf("Introduce el texto\n");
  10.    scanf("%s",t);
  11.    for(i=0;t[i]!='\0';i++){
  12.                      if(t[i]=='a'){
  13.                                    t[i]='e';
  14.                                    }
  15.                      else if(t[i]=='e'){
  16.                                    t[i]='e';
  17.                                    }
  18.                      else if(t[i]=='i'){
  19.                                    t[i]='e';
  20.                                    }
  21.                      else if(t[i]=='o'){
  22.                                    t[i]='e';
  23.                                    }
  24.                      else if(t[i]=='u'){
  25.                                    t[i]='e';
  26.                                    }
  27.                      }
  28.    printf("%s\n",t);
  29.    system("PAUSE");
  30.    return 0;
  31. }

MOD: Etiqueta GeShi


« Última modificación: 3 Septiembre 2021, 22:07 pm por MCKSys Argentina » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: programa en c que cambia todas las vocales por una "e"
« Respuesta #1 en: 3 Septiembre 2021, 22:15 pm »

Ese programa es mejorable por todas partes...
  • Utiliza una constante para la longitud máxima del array o utiliza un array dinámico.
  • El programa dice que cambia las vocales de un texto por la siguiente vocal. De ahí yo entiendo que cambia 'a' -> 'e' | 'e' -> 'i' | 'i' -> 'o' | 'o' -> 'u' | 'u' -> 'a'.
  • No se debe utilizar scanf() para almacenar cadenas de texto. Si introduzco "Hola Mundo", la salida es "Hele"... ¿Qué ha pasado con "Mundo"?
  • Demasiado código para el if-else-if. Eso se puede hacer mucho más compacto y limpio.
  • No es recomendable usar <system("pause")>. Utiliza en su lugar <getchar()>. Obtendrás el mismo resultado, más eficiente y sin necesitar la librería <stdlib.h>.
  • La librería <string.h> tampoco está siendo utilizada.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: programa en c que cambia todas las vocales por una "e"
« Respuesta #2 en: 3 Septiembre 2021, 23:22 pm »

Bueno, seguramente está empezando y coincidirás conmigo que esa es la forma de hacer de la mayoría de los tutoriales de internet.
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: programa en c que cambia todas las vocales por una "e"
« Respuesta #3 en: 4 Septiembre 2021, 13:28 pm »

Bueno, seguramente está empezando y coincidirás conmigo que esa es la forma de hacer de la mayoría de los tutoriales de internet.
Desde luego, pero la forma de publicar el código fue como "no sufráis más, ya he resuelto uno de los problemas del milenio y aquí lo tenéis".
Si hubiera publicado el mismo código pero con una frase como: "¿Cómo puedo mejorar este programa?", seguramente mi respuesta no habría sido tan tajante. Aunque no por tajante ha dejado de ser instructiva, ya que le enumeré algunas mejoras que podía implementar y alguna breve explicación del porqué.  :rolleyes: :rolleyes:
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines