Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. char odebrane_znaki[100];
  6. int index=0;
  7.  
  8. void wyslij_tekst(char *t)
  9. {
  10. int i = 0;
  11.  
  12. while(t[i] != '\0')
  13. _putch(t[i++]);
  14. }
  15.  
  16. void wyslij_znak(char c)
  17. {
  18. _putch(c); //wyœlij 1 znak do portu szeregowego
  19. }
  20.  
  21. void odebrano_znak(char c)
  22. {
  23. if(c==13)
  24. {
  25. odebrane_znaki[index++] = '\0';
  26. wyslij_tekst(odebrane_znaki);
  27.  
  28. for(int i = 0; i < index; ++i)
  29. {
  30. odebrane_znaki[i]=0;
  31. }
  32. }
  33. odebrane_znaki[index++] = c;
  34.  
  35. wyslij_znak(c); //odeœlij kopiê odebranego znaku (ECHO)
  36. }
  37.  
  38. //pomocnicza funkcja, która przekszta³ca liczbê ca³kowit¹
  39. //z zakresu 0..15 na cyfrê szesnastkow¹ (0123456789ABCDEF)
  40. char dec2hex(unsigned char dec)
  41. {
  42. if(dec >= 0 && dec <= 9) return '0' + dec;
  43. if(dec >= 10 && dec <= 15) return 'A' - 10 + dec;
  44. return 'X';
  45. }
  46. //8-bitowa liczbê przekszta³ca na odpowiadaj¹ce jej 2 cyfry szesnastkowe
  47. //np. 255 zostanie wys³ane jako 2 znaki FU, 10 zosta³oby wys³ane jako 0A
  48. void liczbahex_na_napis(unsigned char liczba)
  49. {
  50. wyslij_znak(dec2hex((unsigned char)(liczba / 16)));
  51. wyslij_znak(dec2hex((unsigned char)(liczba % 16)));
  52. }
  53.  
  54. char dec2str(unsigned char dec)
  55. {
  56. if(dec >= 0 && dec <= 9) return '0' + dec;
  57. return 'X';
  58. }
  59.  
  60. void liczbadec_na_napis(unsigned char liczba)
  61. {
  62. wyslij_znak(dec2str((unsigned char)(liczba / 10)));
  63. wyslij_znak(dec2str((unsigned char)(liczba % 10)));
  64. }
  65.  
  66. int compare(char* a, char* b)
  67. {
  68. int i = 0;
  69. while(a[i] != '\0' || b[i] != '\0')
  70. {
  71. if(a[i] == b[i])
  72. {
  73. i++;
  74. }
  75. else if(a[i] == '\0')
  76. return 0;
  77. else if(b[i] == '\0')
  78. return 0;
  79.  
  80. else
  81. {
  82. return 0;
  83. }
  84. }
  85. return 1;
  86. }
  87.  
  88. void to_upper(char *napis)
  89. {
  90. int i=0;
  91. while(napis[i]!='\0')
  92. {
  93. napis[i] = napis[i]-32;
  94. i++;
  95. }
  96. }
  97.  
  98. int main()
  99. {
  100.  
  101. char c;
  102. /*
  103. do
  104. {
  105. c = _getch(); //odczytaj znak z klawiatury
  106. odebrano_znak(c); //przeka¿ ten znak funkcji odebrano_znak(...)
  107. } while(c!=27); //Esc koñczy program
  108. */
  109. char a[] = "abcd";
  110. char b[] = "abcde";
  111.  
  112. int r = compare(a,b);
  113. printf("%d", r);
  114.  
  115. char y[] = "abcde";
  116. to_upper(y);
  117. printf(" %s",y);
  118. //liczbadec_na_napis(44);
  119.  
  120. return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement