Todas las Categorías:
- [[ Sin Categorízar ]]
- Otros - belleza y estilo
- Empresas y negocios
- Educación
- Deportes
- Comer y beber
- Ciencias y matemáticas
- Ciencias sociales
- Belleza y estilo
- Automóviles y transporte
- Arte y humanidades
- Electrónica
- Ordenadores e internet
- Negocios y finanzas
- Música y ocio
- Medio ambiente
- Maternidad y embarazo
- Mascotas
- Viajes
- Juegos y aficiones
- Hogar y jardinería
- Salud
- Familia y amigos
- Noticias y eventos
- Restaurantes
- Política y gobierno
- Sociedad y cultura
![]() |
Creada por: Anónimo Realizada en: Home > Ordenadores e internet > Diseño y programación |
¿Qué esta mal con este código en c?

6 Respuestas
![]() |
Acerswap Lv7 |
Llevo años sin programar, pero creo que se lo que pasa.
El problema está en dónde has puesto el i++. Tu programa hace lo siguiente:
- Examina si hay una vocal.
- Examina si hay un numero.
- Examina si hay un espacio.
- Examina si hay un simbolo.
- Si no ha encontrado ni una vocal, ni un numero, ni un espacio, ni un simbolo salta al siguiente caracter.
Entonces, en el momento en que llega a uno de esos caracteres se queda bloqueado. Tiene que saltar al siguiente caracter si o si, no solo si encuentra una consonante.
La solución en principio es sencilla: tienes que quitar el "else" de la linea que hay justo antes del i++;
1 3
![]() |
Príncipe Reinhard Lv7 |
No uses la función gets, usa fgets en su lugar.
0 3
![]() |
Lean |
Uff pero no uses tantos `else`. Úsa un `else` por cada `if`.
Tienes que colocar operadores lógicos en los `if`, no lo haces bien (con paréntesis claramente definidos). Por ejemplo:
// Para detectar vocales:
if ((c[n]=='a') || (c[n]=='e') || (c[n]=='i') || (c[n]=='o') || (c[n]=='u')){
//Se cuenta una vocal:
voc++; }
// Para detectar consonantes:
if ((c[n]!='a') || (c[n]!='e') || (c[n]!='i') || (c[n]!='o') || (c[n]!='u')){
//Se cuenta una consonante:
cons++; } // Yo ésto no lo haría como un `else`, lo dejaría como `if`.
`gets` no es un inconveniente mientras estés practicando como aprendiz. Úsa lo que necesites para capturar cadenas.
Es un programa en C no en C++, utiliza la extension '.c' no '.cpp'.
3 1
![]() |
Anónimo |
Ni idea apenas termine informática basica
1 0
![]() |
Emilio2523 |
Tienes muchos else acumulados, intenta cambiarlos a alternativas simples, osea, todos esos else if que estan dentro del else if cambialos solo por if.
Lo que no comprendo es que si es C, porque la extensión del archivo es .cpp .
Es C o C++??
Edit: No será mejor utilizar un bucle for para contar variables?? Deberías de intentar para ver como te va.
Saludos
1 2
![]() |
Anónimo |
.................
0 5Preguntas en Tendencia:
- ¿Cómo activar las teclas "repág" y "avpág" en mi teclado? 1 Respuestas
- ¿Cuáles son los principios basicos de la mecatronica? 2 Respuestas
- ¿Qué es ultra iso? 11 Respuestas
- ¿Cómo puedo llamar una función de javascript desde un servlet? 1 Respuestas
- ¿Cómo se borra la matrícula de un coche de una foto? 3 Respuestas
- ¿Cómo eliminar cuenta olx urgente? 2 Respuestas
- ¿Alguien tiene idea de como hacer este programa? 1 Respuestas
- ¿Cómo pongo el numero de linea de codigo en el editor idle de python? 3 Respuestas
- ¿Cuál es la función de las capas en illustrator? 4 Respuestas
- ¿Salto de línea textbox en vb6? 4 Respuestas
- ¿Copiar un imagen en movimiento? 2 Respuestas
- ¿Cómo puedo recorrer este array en mips? 1 Respuestas
- ¿Saben de alguna pagina que sirva para hackear facebook? 9 Respuestas
- ¿En que pagina podria hackear un facebook, pero diganme si se puede? 5 Respuestas
- ¿Banahosting o sered? 2 Respuestas