Bueno sin dar mas lata e aquí los códigos.
ASCII to number
atonum.cpp
Código
#include <stdio.h>
int atonum (int numero);
void main(void)
{
char c;
int numero;
printf("\n \t \t ingrese un numero o caracter \n \n \n \t \t");
scanf("%c",&c);
printf("\n \t \t ingreso el numero o caracter %c que en ASCII es %d \n \n \t \t",c,c);
numero=atonum(c);
if (numero!=-1)
{
printf("ahora el numero %c lo pasamos a entero en la variable numero \n \n \t \t",c);
printf("la varible numero contiene el numero %d \n \n \t \t",numero);
}
if (numero==-1) {printf ("se ingreso un caracter \n \n \t \t");}
return (0);
}
int atonum (int numero)
{
int n;
if ( (numero-48)>=0 && (numero-48)<=9 ) {n=numero-48;}
if ((numero-48)<0 && (numero-48)>9) {n=-1;}
return (n);
}
potencia.cpp
Código
#include <stdio.h>
int pot (int base, int exp);
void main(void)
{
int p,exp,base;
printf("ingrese la base \n \n \t \t");
scanf("%d",&base);
printf("ingrese el exponenete \n \n \t \t");
scanf("%d",&exp);
p=pot(base,exp);
printf ("el numero %d elevado a la %d es %d \n \n \t \t",base,exp,p);
return (0);
}
int pot (int base, int exp)
{
int p=1;
if (exp==0){p=1;}
while (exp>0)
{
p*=base;
exp=exp-1;
}
printf("\n \n \t \t %d \n \n \n ",p);
return (p);
}
Otra forma de hacer la potencia de manera recursiva (Cortesía de rir3760)
Código
#include <stdio.h>
int pot (int base, int exp);
void main(void)
{
int p,exp,base;
printf("ingrese la base \n \n \t \t");
scanf("%d",&base);
printf("ingrese el exponenete \n \n \t \t");
scanf("%d",&exp);
p=pot(base,exp);
printf ("el numero %d elevado a la %d es %d \n \n \t \t",base,exp,p);
return (0);
}
int pot(int base, int exp)
{
if (exp > 0)
return base * pot(base, exp - 1);
else
return 1;
}
Una función para saber si un numero entrado como caracter es numero u otra cosa.
A esta le puse esnum.cpp
Código
#include <stdio.h>
int esnum (int numero);
void main(void)
{
int numero;
printf("ingrese un numero del 0 al 9 \n \n \t \t");
scanf("%c",&numero);
printf ("La funcion esnum dio %d", esnum(numero));
return (0);
}
int esnum (int numero)
{
int r;
if (0<=(numero-48)<=9)
r=1;
r=-1;
return (r);
}
Bueno saludos a todos y desde ya gracias, que esto me salio con la ayuda del foro.
Por cierto la resolución de funciones recursivas es un dolor de ....cabeza.
Bueno saludos y suerte.










Autor


En línea






