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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa convertidor de base numerica C++-->C (requiero ayuda)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa convertidor de base numerica C++-->C (requiero ayuda)  (Leído 4,585 veces)
Daidronix

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Programa convertidor de base numerica C++-->C (requiero ayuda)
« en: 9 Mayo 2014, 08:08 am »

Hola, tengo un programa de conversión de base numérica para cualquier base con un rango de 1 byte, el programa funciona correctamente, mi asunto es que esta programada en C++ y lo necesito en C, podría alguien ayudarme a  pasarlo? o decirme como funcionan las funciones que aparecen?

Código:

#include<iostream>
#include<cmath>
#include<bitset>

using namespace std;

//DECLARACION DE FUNCIONES:
int baseCharAInt(char []);
int numCharAInt(char[],double);
void convierte(int ,int);

int main(){
   
    const char ask=168; //PARA QUE SALGA EL SIGNO "¿"
    char baseInChar[3],baseOutChar[3],repetir='s';
    char numInChar[]={0,0,0,0,0,0,0,0};
    int baseIn,baseOut,numIn;
     
    cout<<"\t\t*BASES: HEX=X16  DEC=X10  OCT=X8  BIN=X2\n\n";
    while(repetir=='s'||repetir=='S'){
                                     
    cout <<"--->"<<ask<<"EN QUE BASE ESTA TU NUMERO ORIGINAL?: ";
    cin >>baseInChar;
    baseIn=baseCharAInt(baseInChar); if(baseIn==0)cout<<"\n\n \t\tBASE NO VALIDA!!!\n";
   
    if(baseIn!=0){
    cout <<"\n--->"<<ask<<"A QUE BASE DESEAS CONVERTIR TU NUMERO?: ";
    cin >>baseOutChar;
    baseOut=baseCharAInt(baseOutChar);if(baseOut==0)cout<<"\n\n \t\tBASE NO VALIDA!!!\n";
    }
   
    if(baseIn!=0&&baseOut!=0){
    cout <<"\n--->"<<ask<<"CUAL ES EL DICHOSO NUMERO A CONVERTIR?: ";
    cin >>numInChar;
    numIn=numCharAInt(numInChar,baseIn);
    cout<<"\n\n\t\t*Muy bien. Tu numero en base "<<baseOutChar<< " es: ";
    convierte(numIn,baseOut);
    }
   
    cout<<"\n\n\n"<<ask<<"Quieres convertir algun otro numerillo? (S/N): ";
    cin>>repetir;
    cout<<"\n\n";
    cin.get();
    }
}   
//CONVIERTE LA BASE DE CHAR A INT
int baseCharAInt(char baseChar[3]){
    int base;   
    if(baseChar[1]=='1'&&baseChar[2]=='6') base=16;
    else if(baseChar[1]=='1'&&baseChar[2]=='0') base=10;
    else if(baseChar[1]=='8')base=8;
    else if(baseChar[1]=='2')base=2;
    else base=0;
    return base;
}
//CONVIERTE EL NUMERO DE CHAR A SU VALOR EN FORMATO DOUBLE:   
int numCharAInt(char numChar[],double base){
    int length;
    for(int i=1;numChar!=0;i++) length=i+1;
    int num=0;
    int numArr[length];
    for(int j=0;j<length;j++){ //USANDO ASCII PARA DARLE UN VALOR NUMERICO A LOS CARACTERES DE '1'-'9', 'A'-'F' y 'a'-'f'
            if(numChar[j]<=57)
            numArr[j]=numChar[j]-48;
            else if(numChar[j]<=70)
            numArr[j]=numChar[j]-55;
            else if(numChar[j]<=102)
            numArr[j]=numChar[j]-87;
            }
    for(int k=0;k<=length-1;k++) num+=numArr[k]*pow(base,length-1-k);
                 
    return num;   
}
   
//MUESTRA EL VALOR DEL NUMERO EN LAS DISTINTAS BASES:   
void convierte(int num,int baseOut){
        switch(baseOut){
        case 10: cout<<num; break;
        case 16: cout<<noshowbase<<hex<<num;break;
        case  8: cout<<noshowbase<<oct<<num;break; 
        case  2: cout <<bitset<8>(num);break;             
        }
}


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Programa convertidor de base numerica C++-->C (requiero ayuda)
« Respuesta #1 en: 9 Mayo 2014, 09:08 am »

Si lees las normas del foro... una de ellas dice: "No se hacen tareas".

Empieza a traducirlo tú y cuando te atasques avísanos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error con un programa de convertidor de wma a mp3
Multimedia
bob 2 1,968 Último mensaje 26 Agosto 2004, 08:33 am
por Luis_Kano
Ayuda para un programa convertidor de AVI a MPEG,etc...
Multimedia
meme 1 2,243 Último mensaje 17 Abril 2005, 13:13 pm
por Songoku
Ayuda con Exprecion Regular Serie Numerica
Java
cyberserver 4 4,835 Último mensaje 31 Diciembre 2010, 19:55 pm
por cyberserver
necesito programa convertidor de haxa a ascii
Desarrollo Web
ferreyrafederico 2 3,157 Último mensaje 15 Marzo 2011, 15:55 pm
por Nakp
Que requiero para crer un crack a este tipo de Programa
Ingeniería Inversa
Franc0300 2 2,459 Último mensaje 17 Febrero 2013, 02:07 am
por Franc0300
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines