Alguien me ayuda a encontrar el error?

Publicaciones
1
Fecha de inscripción
lunes, 2 de abril de 2018
Última intervención
lunes, 2 de abril de 2018
- - Última respuesta: misterdekus
Publicaciones
118
Fecha de inscripción
miércoles, 10 de enero de 2018
Última intervención
domingo, 9 de diciembre de 2018
- 4 abr 2018 a las 08:39
Hola a todos! Espero que alguien pueda ayudarme a encontrar el error.
El programa consiste en ingresar una cantidad determinada de caracteres (letras), e imprimir en pantalla si son vocales o consonantes. El error que tengo es el siguiente: cuando yo ingreso la cantidad de caracteres (por ejemplo 5) toma a todas las letras que yo ingrese como consonantes, sin embargo cuando yo, en vez de ingresar el numero 5, pongo cualquier caracter (por ejemplo una letra) el programa discrimina entre consonantes y vocales. Espero me entiendan y puedan ayudarme. Cualquier duda estaré para contestarlas. Aquí el enunciado y el programa:




/*Definir una estructura cuyos campos permitan guardar la cantidad de
caracteres que sean vocales y la cantidad que sean consonantes. Ingresar N
caracteres, y contabilizar en la estructura definida los caracteres de acuerdo a su
tipo (vocales o consonantes).*/

#include<stdio.h>
#include <ctype.h>

typedef struct
{
int cV; //contador de vocales
int cC; //contador de consonantes
}contador;

int main()
{
contador c;
char car,carM;
int N,n=0;
printf("Ingrese la cantidad de caracteres a guardar: ");
scanf("%d",&N);
while(N<0)
{
printf("Ingrese la cantidad de caracteres a guardar: ");
scanf("%d",&N);
}
c.cV=0;
c.cC=0;
while(n<N)
{
n++;
printf("Ingrese un caracter: ");
scanf("%c",&car);
fgetc(stdin);
carM=toupper(car);
if(carM=='A'||carM=='E'||carM=='I'||carM=='O'||carM=='U')
{
printf("Vocal\n"); //Puse esta linea para ver si entraba al "if" o saltaba al "else"
c.cV++;
}
else
{
printf("Consonante\n"); //Esta linea es lo mismo que arriba. Quería saber si la leía
c.cC++;
}
}
printf("Hay %d vocales y %d consonantes",c.cV,c.cC);

return 0;
}
Ver más 

Tu respuesta

1 respuesta

Publicaciones
118
Fecha de inscripción
miércoles, 10 de enero de 2018
Última intervención
domingo, 9 de diciembre de 2018
0
Gracias
HOLA JOEL

YA LO TESTIE

AL PARECER ES ...


.
.
scanf("%c",&car); //no lo lee para captuta de caracter
.
.


yo lo cambiará por


.
.
car = getche(); // la func. getche() esta en la libreria CONIO.H
.
.


Suerte
Saludos
Comenta la respuesta de misterdekus