Funciones en C y C++
Funciones en C y C++
Funciones en C y C++
Fundamentos de Programacin
IMPORTANTE
LAS FUNCIONES QUE ESTN RESALTADAS EL
TTULO CON COLOR AMARILLO SON LAS QUE
REQUIEREN SU ATENCIN Y AYUDAN
PRINCIPALMENTE EN SUS TRABAJOS,
DEBERES, PRUEBAS, ETC.
PRIMER GRUPO
1. FUNCION GETCHAR()
1.3 Particularidades:
1.1 Sintaxis:
1.2 Caractersticas:
Toma un solo carcter del teclado
y lo entrega a un programa de
ejecucin
Lee un carcter del teclado y
espera un retorno de carro.
Devuelve el carcter que se halle
en la entrada estndar.
Ejemplo
Contador de nmeros ingresados
2. FUNCIN RAND ()
Biblioteca Necesaria:
<stdib.h>.
#include<stdlib.h>
Categoras bsicas :
Aritmticas.
Nmeros aleatorios
Conversin de cadenas.
2.1 Caractersticas:
Genera un entero sin signo es decir nmeros pseudoaleatorios.los
limites de estos numero estn entre 0 y RAND_MAX()una
constante simblica definida en el encabezamiento <stdlib>.
Ejemplo
Rand()
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i;
for(i=1;i<=30;i++)
{
printf("%7d",rand()% 30);
if(i%4==0)
printf("\n");
}
Caractersticas:
No se comprueba el
desbordamiento; es decir si el
nmero cabe en un int. Si este
no cabe el valor de retorno
queda indefinido.
Los caracteres en blanco son
saltados.
Caracteres ilegales son
ignorados.
El primer carcter no
reconocido finaliza el proceso
de conversin.
Ejemplo
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char num[256];
printf ("ingrese un numero: ");
scanf("%c",num);
i = atoi (num);
printf ("el entero es %d. el doble es %d.\n",i,i*2);
return 0;
}
Ejemplo
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char num [33];
printf ("ingrese un numero: ");
scanf ("%d",&i);
itoa (i,num,10);
printf ("decimal: %s\n",num);
itoa (i,num,16);
printf ("hexadecimal: %s\n",num);
itoa (i,num,2);
printf ("binary: %s\n",num);
return 0;
}
Nombre de la
funcin
Tipo
Biblioteca
Sintaxis
Descripcion
atof(s)
double
stdlib.h
atof(const char
*cadena)
Convierte la
cadena s a una
cantidad de
doble precisin.
tolower
int
ctype.h o stdlib.h
Convierte una
letra a minscula.
FUNCION ATOF
#include <stdio.h>
#include <stdlib.h>
int main()
{
Nombre
de la
funcin
Tipo
Biblioteca
Sintaxis
Descripcin
Ejemplo
abs(x)
int, float
math.h
floor(d)
int, float
math.h
CEIL Y FMOD
ceil(): Se encarga de devolver un valor entero
mayor redondeando hacia arriba si este fuese
necesario.
fmod(): Se encarga de devolver el residuo de un
flotante de la divisin de los argumentos
Devuelve el residuo de un flotante de dividir el
dividendo () por el divisor (). El residuo (r) es
definido como: = i * + r, para algn entero i. Si
es diferente de cero, r tiene el mismo signo que y
una magnitud menor que la magnitud de .
EJEMPLOS
GETCH Y GETCHE
Entrada de caracteres; getch, getche:
Perteneciente a la biblioteca conio.h, las funciones getch y getche sirve
para leer caracteres del teclado con algunas diferencias que las
mencionaremos a continuacin:
Funcin getch():
Esta funcin retorna el cdigo del carcter escrito. Es sin eco y no
espera Intro, esto es, el carcter escrito no se muestra en la pantalla y en
cuanto s e escriba est, la ejecucin del programa contina sin tener que
pulsar la tecla Intro.
Funcin getche():
A diferencia de la funcin getch, esta es con eco y no espera Intro.
Para la realizacin de ejercicios el complemento de esas dos funciones es
otra funcin denominada putchar la cual har que el carcter ingresado
por teclado con la funcione getch y getche se almacene en las variables
convenientes.
GETCH
GETCHE
SEGUNDO GRUPO
Funcin toupper()
Funcin isalnum()
ISALPHA
Determina si el argumento es alfabtico. Devuelve un valor distinto de cero
si es cierto; en otro caso devuelve 0.
Tipo: int
Biblioteca: <ctype.h>
SINTAXIS
int isalpha (int c);
Ejemplo
#include <stdio.h>
#include <ctype.h>
void main()
{
int A=9;
int B='A';
if( isalpha(A) )
printf( "Character 1 is alpha\n" );
else
printf( "Character 1 is not alpha\n" );
if( isalpha(B) )
printf( "Character 2 is alpha\n" );
else
printf( "Character 2 is not alpha\n" );
}
ISASCII(C)
SINTAXIS:
int isascii(int c);
EJEMPLO:
#include <stdio.h>
#include <ctype.h>
void main()
{
char cadena[] = ";0sR(h&~?R1/";
int i;
EJEMPLO(ISDIGIT())
Ejemplo
#include <stdio.h>
#include <ctype.h>
int main()
{
char cadena[] = ";0fR(4h&~?R1/";
int i;
for(i = 0; cadena[i]; i++)
printf("%c, %d\n", cadena[i], isdigit(cadena[i]));
return 0;
}
EJEMPLO(ISLOWER())
#include <stdio.h>
#include <ctype.h>
int main()
{
char cadena[] = dAvId 00457(); int i; for(i = 0; cadena[i]; i++)
printf("%c, %d\n", cadena[i], islower(cadena[i]));
return 0;
}
FUNCION ISPUNCT
Comprueba sin un carcter es correspondiente a un
signo de puntuacin.
ispunct es una macro que verifica el entero c pertenece
al rango de caracteres de los signos de puntuacin, que
por defecto son todos menos los alfanumricos y el
blanco ' '.
Determina si el argumento es un carcter de
puntuacin. Devuelve un valor distinto de cero si es
cierto; en otro caso devuelve 0
El valor de retorno ser no nulo si C es un signo de
puntuacin.
FUNCION ISSPACE
Comprueba sin un carcter es de tipo espacio.
isspace es una macro que verifica el entero c pertenece
grupo de caracteres de espacio, ' ', tab, retorno de carro,
nueva lnea, tabulador vertical o salto de pgina.
Determina si el argumento es un espacio en blanco.
Devuelve un valor distinto de cero si es cierto; en otro
caso devuelve 0
Valor de retorno:
El valor de retorno ser no nulo si c es un carcter de
tipo espacio
FUNCIN ISUPPER()
DEFINICIN:
DETERMINA SI EL ARGUMENTO ES UNA MAYSCULA. DEVUELVE UN VALOR DISTINTO DE CERO SI ES CIERTO; EN OTRO CASO DEVUELVE 0.
TIPO DE DATO: CHAR
LIBRERA: CTYPE.H
SINTAXIS: ISUPPER()
EJEMPLO:
#include<ctype.h>
#include<stdio.h>
void main()
{
char c;
scanf("%c",&c);
if (isupper(c))
printf("%c ES UNA MAYUSCULA\n",c);
else
printf("%c NO UNA MAYUSCULA\n",c);
}
FUNCIN PUTCHAR()
DEFINICIN:
ENVA UN CARCTER AL PUERTO SERIAL. EL ARGUMENTO ES EL VALOR ASCII DEL CARCTER
QUE DESEA ENVIARSE. EN EL CASO DEL COMPILADOR HITECH, LA FUNCIN EQUIVALENTE
ES PUTCH( )
TIPO DE DATO: INT
LIBRERA: STDIO.H
SINTAXIS: INT PUTCHAR(INT C);
EJEMPLO:
#include <stdio.h>
void main()
{
putchar('B');
printf("\n");
}
FUNCIN GETS
La funcin gets retorna cadena si es realizada
con xito. Si un final de fichero (EOF) es
encontrado y ningn carcter ha sido ledo en
el array, entonces el contenido del array
permanece invariable y un puntero nulo es
retornado. Si ocurre un error de lectura
durante el proceso, el contenido del array es
indeterminado y un puntero nulo es
retornado.
FUNCIN PUTS
Esta funcin escribe la cadena apuntado por
cadena en el stream apuntado por stdout, y
aade un carcter de lnea nueva a la salida. El
carcter nulo final no es escrito.
int puts (const char *cadena);
TERCER GRUPO
Funcin Exponencial
La funcin exponencial es una funcin con base constante
(e) elevada a una variable(x).
Donde x es un numero real .
En C++ la funcin debe ser declarada en la librera de
<math.h> y su formato es:
exp(numero)
Donde:
exp= es la funcin exponencial
numero= es el exponente al que queremos elevar la base.
Funcin Logartmica
Una funcin logartmica es aquella que desea
saber el exponente al que va ser elevado una
base para conseguir un nmero especfico. La
base debe ser positiva y diferente de 1.
loga x = b ab = x.
La funcin logartmica es la inversa de la
funcin exponencial.
case 2:
do
{
printf("Ingrese el numero del que desea encontrar su logaritmo natural (mayor a 0)\n");
scanf("%f",&num);
}while(num<=0);
resp2=log(num);
printf("El resultado del logartimo natural de %f es: %f\n",num,resp2);
break;
case 3:
do
{
printf("Ingrese el numero del que desea encontrar su logaritmo base 10 (mayor a 0)\n");
scanf("%f",&num);
}while(num<=0);
resp3=log10(num);
printf("El resultado del logartimo natural de %f es: %f\n",num,resp3);
break;
default: printf("No existe esta opcion\n");
break;
}
printf("Desea hacer algun otro calculo?. Digite (1) para hacerlo caso contrario otro NUMERO ");
scanf("%d",&resp);
}while (resp==1);
}
SLEEP Y SYSTEM(COLOR)
EJEMPLO
Funcin sin()
Es una funcin de la librera math.h que sirve para hacer clculos
trigonomtricos .
Esta funcin calcula el seno de un ngulo x, el cual debe estar
expresado radianes.
Si el ngulo con el que se desea usar la funcin est expresado en
grados, se deber transformarlo a radianes, multiplicndolo por
(PI/180), donde PI es una constante igual a 3,14159.
La sintaxis de la funcin es: sin(float x);
Funcin cos()
Es una funcin trigonomtrica de la librera math.h, la cual
como su nombre lo indica sirve para calcular el coseno de un
ngulo en radianes.
En caso de tener el ngulo en grados, se debe transformarlo
a radianes de la manera ya explicada para la funcin sin().
La sintaxis de la funcin es: cos(float x);
Funcin exit()
Esta funcin da lugar a la terminacin inmediata
del programa, forzando la vuelta al sistema
operativo. La forma general de la funcin exit() es:
void exit (int cdigo_de_vuelta);
El valor de cdigo_de_vuelta es el que se devuelve
al proceso de llamada, que normalmente es el
sistema operativo.
Ejemplo exit()
Funcin signal()
Permite especificar la accin que debe realizarse cuando un proceso recibe una seal y lo prepara para
recibir cierto tipo de seales. Esto supone que ser preciso aadir una llamada a signal para cada tipo de
seal que se desee que el proceso reciba sin que cause su finalizacin. Su definicin es:
include <signal.h>
La definicin de la funcin en ANSI C establece que sta precisa dos parmetros -el nmero de la seal y
el tipo de accin que debe realizar- y devuelve un puntero a una funcin que no establece nada.
Mediante una llamada con la funcin signal se establece un gestor de seales para la seal signum
(nmero de la seal). Func permite elegir una de las tres acciones que se pueden realizar cuando se
recibe la seal:
- SIG_IGN: ignora la seal.
-SIG_DFL: devuelve a la seal su comportamiento por defecto.
include <signal.h>
void func (int sig);
Donde sig es el nmero de la seal cuya accin se desea programar. Despus de ser programada, la
funcin deber contener el cdigo correspondiente para que la accin sea la deseada.
Ejemplo Signal()
Asctime
Es una funcin que convierte el tiempo a una cadena de caracteres, cuyo
formato de salida comprende 26 caracteres definidos:
da mes hora minutos segundos ao %.3s %.3s%3d
%.2d:%.2d:%.2d %d\n
Librera y Sintaxis:
#include <time.h>
char * asctime (const struct tm *timeptr);
Ejemplo:
strftime
Especificador
Sustitucin por
%b / %h
%B
%m
Mes completo
Nmero del mes con dos
dgitos.
%H
%k
%I
%l
%M
Minutos en 2 dgitos.
%p
AM o PM
%P
am o pm
%r
Reloj en 12h
%R
Reloj en 24h
%T
Reloj en 24h.
%X
Ejemplo
FLUJO CIN
Toma caracteres de la entrada estndar (teclado).Este
flujo utiliza el operador de insercin, y y apunta al
objeto donde tiene que enviar la informacin. Por lo
tanto la sintaxis de cout ser:
cout<<variable1<<variable2<<...<<variablen;
No olvidemos que las cadenas de texto son variables y
se ponen entre " " (comillas dobles).
FLUJO COUT
Pone caracteres en la salida estndar (pantalla).Este flujo
utiliza el operador de extraccin ,lee informacin y se
coloca a la izquierda del operador >> y almacena en las
variables indicadas a la derecha.
cin>>variable1>>...>>variablen;
Realice la suma de los nmeros pares, la suma de los nmeros impares, y cuente cuantos de cada tipo fueron ingresados.
#include<iostream>
using namespace std;
void main()
{
int N, acum1=0, acum2=0, cont, num, i=0,j=0;
char decide;
do
{
cout<<"Ingrese el limite:";
cin>>N;
}while(N<=0);
for(cont=1;cont<=N;cont++)
{
do
{
cout<<" Ingrese el numero: ";
cin>>num;
}while(num<=0);
if((num%2)==0)
{
acum1+=num;
i++;
}
else
{
acum2+=num;
j++;
}
}
cout<<"La suma de los numeros pares es: "<<acum1<<"\n";
cout<<"La suma de los numeros impares es: "<<acum2<<"\n";
cout<<"Hay "<<i<<" numeros pares"<<"\n";
cout<<"Hay "<<j<< " numeros impares"<<"\n";
}