UNIDAD 1: C++ ELEMENTOS BASICOS

TEMA 10: OTRAS FUNCIONES DE I/O C++


CAPTURA:

a) Getchar(); Getch(); Getche();

Estas tres instruciones estan especializadas en captura de un solo caracter y sustituyen a scanf %c en situaciones especiales.

Estas funciones trabajan por igualación, es decir para usarse

varchar=getchar();

ej;

char vocal;

vocal=getchar();

NOTA: DEPENDIENDO DEL SISTEMA OPERATIVO EN OCACIONES UN GETCHAR() NO ATRAPA EL CARACTER A LA PRIMERA VEZ, EN ESTE CASO USAR MAS DE UN GETCHAR EN FORMA CONTINUA.

En este caso poner mas getchar(); despues de getchar() hasta que capture el caracter o tambien para detener la corrida.

Getchar es una macro que lee un caracter de el teclado y regresa el caracter leido.

La diferiencia es que getchar y getche devuelven el caracter leido a la pantalla y el getch no devuelve el caracter a la pantalla.

Estas instrucciones deberan usarse en las siguientes situaciones:

a) Cuando la captura es de un solo caracter

b) Tambien para retener pantallas en este caso sin igualdad

c) Para evitar los saltos en capturas, cuando se captura un entero y una string despues, es este caso es conveniente usar una serie de getchar() para quitar el caracter de return del teclado, en particular es conveniente usar un getchar despues de un scanf(entero) como lo muestra el ejemplo de abajo prog2.cpp

B) GETS();

Esta función es la alternativa para captura de strings que tengan espacios en blanco intermedios cosa que scanf %s no puede hacer.

Su formato completo es :

gets(variable string);

DESPLIEGUE:

a) Putch(); Putchar();

Estas instruciones despliegan directamente un caracter en el dispositivo de salida standar.

A diferiencia de getchar, getch y getche, estas instrucciones si llevan un argumento.

ejemplo;

putchar(alfa);

putchar('\n');

putchar('\064');

b) Puts(variable string);

Es la función complemento de gets esta función despliega una string en el dispositivo de salida standar y debe llevar el argumento o parametro.

puts(nombre);

puts(“pato”);

PROG2.CPP

#include <stdio.h>
void main()
{
//declaracion
int var1, var2,var3;
char var4[15], var5[15];
//captura y observar donde se ponen getchars
//unos para limpiar return y otros para para parar la pantalla
printf("dame entero1:");
scanf("%d",&var1);getchar();
printf("dame string1:");
scanf("%s",&var4);
printf("dame entero2:");
scanf("%d",&var2);
printf("dame entero3:");
scanf("%d",&var3); getchar();
printf("dame string2:");
gets(var5);
//despliegue
printf("entero1 %d \n",var1);
printf("string1 %s \n",var4);
printf("entero2 %d \n" ,var2);
printf("entero3 %d \n",var3);
printf("string2 %s \n",var5);
getchar();
}

Recordar que scanf(”%s”) no quiere espacios en blanco, por eso es mejor usar gets(var string).

Observar que desspues de un scanf(entero) que este antes de un gets(varstring) deberan usar un getchar() para quitar el return del teclado o la pc no va a capturar la string sino que va a saltarse.

El ultimo getchar es para parar o detener la pantalla.

Corrida:

image41.jpg

TAREAS PROGRAMACION C++

Reconstruir los programas pedidos en el tema anterior usando estas instrucciones de captura y despliegue.

Politica de Privacidad