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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / no lo entiendo en: 19 Agosto 2018, 12:15 pm
No entiendo porque donde esta el error.
La idea es introducir una palabra como hola y que por pantalla salga:
1
h
2
o
3
l
4
a
El programa que jo he hecho es este:
Código
  1. #include<stdio.h>
  2. main()
  3. {
  4. char caracter= 0; int i=1;//caracter =\0
  5. printf("dame una cadena de caracteres: ");
  6.  
  7.   while (getchar()!='\n')
  8.  {
  9.   caracter=getchar();  
  10.   printf("\n%d    %c",i++,caracter);
  11.  
  12.   }
  13. }


Mod: Obligatorio el uso de etiquetas GeSHi para códigos.
2  Programación / Programación C/C++ / Buffer i saltos de linea en C en: 16 Agosto 2018, 12:32 pm
Soy novato y no entiendo cuanto un salto de linea se ejecuta y cuando este es guardado como caracter y no se ejecuta.

#include <stdio.h>

main()
{   // programa sin limpiar buffer   
   float precio=0; char car=0;
   printf("precio  ");
   scanf("%g",&precio);
   //ahora al apretar    intro me queda
   //dentro del buffer un salto de linea (\n) y
   //al mismo tiempo se ejecuta un salto de linea   
   printf("pulse entrar para continuar ");
   scanf("%c",&car);
   //ahora al volver apretar intro me queda
   //dentro del buffer dos saltos de linea(\n\n)
   //el segundo salto de linea introducido
   //es leido como un caracter y no es ejecutado
   printf("precio=%g,\n",precio);
   //ahora en el buffer nos queda un salto de linea(\n)
   
   //resultado:
   //precio: (entrar 10 + pulsar intro)
   //pulse entrar para continuar (pulsar intro) precio=10
   
   //////////////////////////////////////////////////////////////
   //programa limpiando buffer
   
   float precio=0; char car=0;
   printf("precio  ");
   scanf("%g",&precio);
   //ahora al apretar    intro me queda
   //dentro del buffer un salto de linea (\n) y
   //al mismo tiempo se ejecuta un salto de linea
   fflush( stdin);
   //ahora el buffer esta vacio
   
   printf("pulse entrar para continuar ");
   scanf("%c",&car);
   //ahora al volver apretar intro me queda
   //dentro del buffer hay un salto de linea(\n)
   //Y este salto de linea deberia ser leido como un
   //caracter y no ser ejecutado
   //en cambio, no se por que si es ejecutado
   //lo que quiere decir que no es leido como caracter.
   //lo que significa que en el buffer nos queda un (\n)
   //Porque??????????????????????????   
   printf("precio=%g,\n",precio);
   
   //resultado
   
   //precio: (entrar 10 + pulsar intro)
   //pulse entrar para continuar (pulsar intro)
   //precio=10
   
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines