Skip to content

Instantly share code, notes, and snippets.

@yaelatletl
Created August 21, 2019 05:19
Show Gist options
  • Save yaelatletl/82416ae96d1eb81d2729e8bfa35fc567 to your computer and use it in GitHub Desktop.
Save yaelatletl/82416ae96d1eb81d2729e8bfa35fc567 to your computer and use it in GitHub Desktop.
#include <stdlib.h>
//Se declara una funcion que nos permitira calcular la longitud de las cadenas.
int obtener_longitud(char array[]){
return sizeof(array) / sizeof(char);
}
int entrada_limitada(int minimo, int maximo){
int in;
do{
scanf("%d", &in );
getchar();
}while (in < minimo || in>maximo);
return in;
}
char convertir_base_m1(int Base_destino, char Numero_a_convertir[]){
int Q, P, X, count;
count = obtener_longitud(Numero_a_convertir);
char Salida[count];
int i = 0;
do {
Q = atoi(Numero_a_convertir) / Base_destino;
P = atoi(Numero_a_convertir) % Base_destino;
Numero_a_convertir = Q;
Salida[i] = P + '0';
if (Base_destino > 10 && P>10){
Salida[i]= P + 'A'
}
i++;
} while(Q!=0 and i<count);
return Salida[];
}
char convertir_base_m2(int Base_destino, char Numero_a_convertir[]){
int k = obtener_longitud(Numero_a_convertir);
int num = 0;
for (int i = k; i = 1; i--) {
num *= Base_destino+atoi(Numero_a_convertir[i]);
}
return num;
}
int verifica_base(int Base_origen, char Numero_a_verificar[]){
int valido = 0;
if (Base_origen<11){
for (int i = 0; i < obtener_longitud(Numero_a_verificar); i++) {
if (atoi(Numero_a_verificar[i])>Base_origen){
valido = 0;
return valido;
}
else
valido = 1;
}
return valido;
}
else
return strtol(Numero_a_verificar, NULL, Base_origen); /* strol regresara 0 en caso de que la conversion no se haya podido realizar */
}
int main(int argc, char const *argv[]) {
char Numero_a_convertir;
int entrada,base;
printf("Ingrese el método a utilizar\nMetodo 1\nMetodo 2\n");
entrada = entrada_limitada(1,2);
if (entrada==1){
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment