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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Ayuda]Problema con variables
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda]Problema con variables  (Leído 2,173 veces)
FrancoMoglia

Desconectado Desconectado

Mensajes: 3


Ver Perfil
[Ayuda]Problema con variables
« en: 6 Abril 2016, 04:57 am »

Que tal gente del foto, es mi primer post, sepan disculpar los errores...

tengo un problema con la programacion en C, estoy utilizando la IDE ZinjaI.

el problema es que escribo mi codigo pero al momento de la ejecucion, pide que se ingrese un caracter/numero y los toma de a dos, es decir se saltea uno... les dejo imagenes por si no se entendio lo que he escrito..

Mod: Imágenes dirigen a site erroneo

PARA EVITAR LO DE LAS IMAGENES, LES PASO EL PROPIO CODIGO COMPLETO:
#include <stdio.h>
#include <conio.h>
int main()
{
   /*realizar un programa que permita:
   a) ingresar 15 caracteres.
   b)calcular la cantidad de vocales.
   c) indicar la cantidas de vocales por tipo
   d)usar sentencia switch*/
   char a;
   int conta,conte,conti,conto,contu,cont;
   cont=0;
   conta=0;
   conte=0;
   conti=0;
   conto=0;
   contu=0;
   while(cont<15)
   {
      printf("Ingrese un caracter:\n");
      scanf("%c",&a);
      switch(a){
      case 'a':conta++;break;
      case 'e':conte++;break;
      case 'i':conti++;break;
      case 'o':conto++;break;
      case 'u':contu++;break;
      default:cont++;break;
      }
      cont++;
   }
   printf("La cantidad de 'a' introducidas fueron %d\n",conta);
   printf("La cantidad de 'e' introducidas fueron %d\n",conte);
   printf("La cantidad de 'i' introducidas fueron %d\n",conti);
   printf("La cantidad de 'o' introducidas fueron %d\n",conto);
   printf("La cantidad de 'u' introducidas fueron %d\n",contu);
   return 0;
}

Y EL ERROR OCURRE ASI:

Ingrese un caracter:
a
Ingrese un caracter:
Ingrese un caracter:
a
Ingrese un caracter:
Ingrese un caracter:
..
etc..


« Última modificación: 6 Abril 2016, 05:13 am por FrancoMoglia » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda]Problema con variables
« Respuesta #1 en: 6 Abril 2016, 05:10 am »

puedes publicar la sección de código respectiva al problema (las imagenes estaban mal direccionadas)

si lo haces procura usar las etiquetas GeSHi


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [Ayuda]Problema con variables
« Respuesta #2 en: 6 Abril 2016, 15:13 pm »

El error ocurre porque cuando tu introduces un carácter en la consola y le das a enter para confirmas, en realidad estás enviando el carácter que has escrito más el carácter de fin de línea (en C representado con '\n'). Entonces, después de leer cada carácter, tendrías que limpiar el búfer de stdin. Sé como se hace en C++, pero no en C, eso quiere decir que el código que te voy a mostrar para limpiar el búfer quizás no funcione.

Código
  1. while('\n' != fgetc(stdin));
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
FrancoMoglia

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [Ayuda]Problema con variables
« Respuesta #3 en: 6 Abril 2016, 15:47 pm »

muchas gracias por responder, la pregunta surge porque mi profesora no me quiso enseñar, me dijo que busque en foros, asi que mucho no entiendo, podrias mostrarme en que parte del codigo que yo pase, va ese fragmento que tu me dices? muchas gracias
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [Ayuda]Problema con variables
« Respuesta #4 en: 6 Abril 2016, 16:09 pm »

Va después de cada vez que uses scanf, fgec o demás funciones para leer datos desde la consola. Es importante que sepas por qué usas esa línea. Lo que hace esa línea es leer todos los caracteres de la consola que no se han leído por ciertas circunstancias. Por ejemplo, el que es tu caso, lees un carácter de la consola, pero cuando envías ese carácter desde la consola, estás enviando ese carácter más un carácter de fin de línea (se genera cuando pulsas enter). Entonces, cuando lees con scanf("%c", ...);, estás leyendo un carácter pero dejando el salto de línea sin leer. Por eso, después de usar scanf leemos todos los caracteres hasta que hayas leído un salto de línea.
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
FrancoMoglia

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [Ayuda]Problema con variables
« Respuesta #5 en: 6 Abril 2016, 18:39 pm »

Muchisimas gracias por responder y tomarte el tiempo de explicarme, sobre todo porque soy nuevo en esto de programar y la profesora no quiso explicarme que estaba sucediendo, de nuevo gracias por tu tiempo, ya comprobe el codigo y ahora funciona perfectamente. Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema de Variables
Programación Visual Basic
Timerlux 5 2,426 Último mensaje 21 Junio 2007, 20:41 pm
por Sancho.Mazorka
Problema de variables¿?
.NET (C#, VB.NET, ASP)
Codename!! 4 3,623 Último mensaje 27 Febrero 2010, 18:52 pm
por Codename!!
[BATCH] ¿Como puedo meter variables dentro de variables?
Scripting
Meine programmen 1 4,134 Último mensaje 24 Marzo 2012, 16:48 pm
por Eleкtro
Problema con variables « 1 2 »
Programación C/C++
Programador91 10 5,190 Último mensaje 3 Abril 2012, 22:41 pm
por Sagrini
Problema con Variables PHP « 1 2 3 »
PHP
iMarcSpS 25 16,015 Último mensaje 13 Septiembre 2012, 07:48 am
por arthusu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines