fork download
  1. //Libraries
  2. #include <iostream>
  3. #include <cstring>
  4. #include <string>
  5.  
  6. //Function turns hexadecimal string to a decimal integer
  7. int hexadecimaltoDecimal(std::string);
  8.  
  9. //Main
  10. int main(void){
  11. std::string keyboardId = "";
  12. std::string DriverId = "0x";
  13. char options = 's';
  14. char buffer[64];
  15. do{
  16. system("CLS");
  17. std::cout << "*****************************************************\n";
  18. std::cout << "** Calculadora de ID para o teclado KNOV para DDMX **\n";
  19. std::cout << "*****************************************************\n";
  20. std::cout << "Coloque a ID do teclado: ";
  21. std::cin >> keyboardId;
  22. strcpy(buffer,keyboardId.c_str());
  23. for (int i = 13; i > 0; i = i - 2) {
  24. DriverId += buffer[i - 1];
  25. DriverId += buffer[i];
  26. }
  27. unsigned int x = hexadecimaltoDecimal(DriverId);
  28. std::cout << "A id do cartao a ser cadastrada e: "<< x << "\n";
  29. std::cout << "Deseja converter outra ID? s= sim / n = nao: ";
  30. std::cin >> options;
  31. }while(options != 'n');
  32. system("PAUSE");
  33. return 0;
  34. }
  35.  
  36. int hexadecimaltoDecimal(std::string n){
  37. int ans = 0;
  38. int x = 1;
  39. int s = n.size();
  40. for( int i=s-1 ; i>=0 ; i-- )
  41. {
  42. if( n[i] >= '0' && n[i] <= '9' )
  43. {
  44. ans += x*( n[i] - '0' );
  45. }
  46. else if( n[i] >= 'A' && n[i] <= 'F' )
  47. {
  48. ans += x*( n[i] - 'A' + 10 );
  49. }
  50. x *= 16;
  51. }
  52. return ans;
  53. }
Success #stdin #stdout #stderr 0.03s 5476KB
stdin
/*  Berechnung des Hamming-Abstandes zwischen zwei 128-Bit Werten in 	*/
/*	einer Textdatei. 													*/
/*  Die Werte müssen auf einer separaten Zeile gespeichert sein			*/
/* 																		*/
/*	Erstellt: 17.5.2010													*/
/*  Autor: Thomas Scheffler												*/

#include <stdio.h>
#include <stdlib.h>

#define ARRAY_SIZE 32

unsigned Hamdist(unsigned x, unsigned y)
{
  unsigned dist = 0, val = x ^ y;
 
  // Count the number of set bits
  while(val)
  {
    ++dist; 
    val &= val - 1;
  }
 
  return dist;
}



int main (void)
{
	char hex;
	int i;
	int a[ARRAY_SIZE];
	int b[ARRAY_SIZE];
	int hamDist = 0;
	FILE* fp;
	
	//Arrays mit 0 initialisieren
	for (i = 0; i < ARRAY_SIZE; ++i)
	{
  		a[i] = 0;
  		b[i] = 0;
	}

	
	fp = fopen("hex.txt","r");
	if (fp == NULL) 
	{
		printf("Die Datei hex.txt wurde nicht gefunden!");
		exit(EXIT_FAILURE);
	}

	i=0;
	printf("1.Zeile einlesen.\n");

 	while((hex=fgetc(fp))!='\n' && hex != EOF)
    {
        a[i]=strtol(&hex,0,16);
		i++;
    }
	i=0;
	printf("2.Zeile einlesen.\n");

 	while((hex=fgetc(fp))!='\n' && hex != EOF)
    {
    	b[i]=strtol(&hex,0,16);
        i++;
    }
	fclose(fp);

	printf("Hamming-Abweichung pro Nibble:\n");
	for (i = 0; i < ARRAY_SIZE; ++i)
	{
		printf ("%i\t%i\t%i\n",a[i],b[i],Hamdist(a[i],b[i]));
		hamDist += Hamdist(a[i],b[i]);
	}
	printf ("\nHamming-Abweichung der Hash-Werte:%d\n",hamDist);
}

stdout
*****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 167772160
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 2856
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 270553200
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 270553088
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 270553088
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 268435456
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 268435456
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 40960
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 40992
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: *****************************************************
** Calculadora de ID para o teclado KNOV para DDMX **
*****************************************************
Coloque a ID do teclado: A id do cartao a ser cadastrada e: 0
Deseja converter outra ID? s= sim / n = nao: 
stderr
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: CLS: not found
sh: 1: PAUSE: not found