Alguien me ayuda a encontrar el error?

Cerrado
JoelC07 Mensajes enviados 1 Fecha de inscripción lunes, 2 de abril de 2018 Estatus Miembro Última intervención lunes, 2 de abril de 2018 - 2 abr 2018 a las 01:04
misterdekus Mensajes enviados 473 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 27 de julio de 2022 - 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;
}

1 respuesta

misterdekus Mensajes enviados 473 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 27 de julio de 2022 127
4 abr 2018 a las 08:39
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
0