Advertisement
Lagx

EJERCICIO BONIFICACIÓN MÓDULO 2

Sep 25th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX 101
  4.  
  5.  
  6. void *hexmasuno ( char *cadenita);
  7.  
  8. int main()
  9. {
  10.    
  11.     char cadena[MAX];
  12.     char fin[4]="FIN";
  13.    
  14.     do{
  15.         strcpy(cadena,"");
  16.         scanf("%[^\n]s",cadena);      
  17.         getchar();
  18.            
  19.         if(strcmp(cadena,fin) == 0){
  20.             break;
  21.         }
  22.        hexmasuno(cadena);
  23.        
  24.     }while(strcmp(cadena,fin) != 0);
  25.    
  26.     return 0;
  27. }
  28.  
  29. void *hexmasuno ( char *cadenita){
  30.     char hexadecimal[17] = "0123456789ABCDEF";
  31.     char cadena[102];
  32.     int i,largo;
  33.    
  34.     largo = strlen(cadenita);
  35.     int indice=0;
  36.     char *puntero;
  37.     int acarreo=1;
  38.     int flag=1;
  39.    
  40.     for(i = largo-1; i >= 0; i--)
  41.     {
  42.         if((cadenita[i]=='F')&&(flag==1)){
  43.            
  44.             if(i == 0){
  45.                     cadena[i] = '1';
  46.                     cadena[largo] = '0';
  47.                     largo++;
  48.             }
  49.             else{
  50.                 cadena[i] = '0';
  51.                 acarreo = 1;
  52.             }
  53.         }
  54.         else{
  55.             if (acarreo==1) {
  56.                 puntero = strchr(hexadecimal,cadenita[i]);
  57.                 indice = puntero - hexadecimal;
  58.                 indice++;
  59.                 cadena[i] = hexadecimal[indice];
  60.                 acarreo=0;
  61.                 flag=0;
  62.             }
  63.             else {
  64.                 cadena[i] = cadenita[i];
  65.             }
  66.         }      
  67.     }
  68.     cadena[largo] = '\0';
  69.     printf("%s\n",cadena);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement