Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.68 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4.  
  5. int main() {
  6. //Susikuriame kintamuosius.
  7. int x,p,s,n,i,a=0,b=255;
  8. char o[] = "NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR S0 SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Space"; //5 simboliai 1 ASCI char'o paaiškinimui
  9.  
  10. //Užrašome programos pavadinimą.
  11. printf("\272");
  12. i=printf("My program to draw the ASCII table:");
  13. printf("\272\n");
  14. //Apačioje pavadinimo apibraukiame jį.
  15. printf("\310");
  16. for(n=0;n<i;n++) printf("\315");
  17. printf("\274\n");
  18. printf("\n");
  19.  
  20. //Nusipiešiame lentelės viršų
  21. printf ("\311"); //Piešia lentelės virš. kair. kampą
  22. for(p=0;p<23;p++)
  23. printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  24. printf ("\313"); //Piešia T formos linijas sujungiančias linijas virš laukelių ir apačioje tarp laukelių.
  25. for(p=0;p<23;p++)
  26. printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  27. printf ("\313"); //Piešia T formos linijas sujungiančias linijas virš laukelių ir apačioje tarp laukelių.
  28. for(p=0;p<23;p++)
  29. printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  30. printf ("\313"); //Piešia T formos linijas sujungiančias linijas virš laukelių ir apačioje tarp laukelių.
  31. for(p=0;p<23;p++)
  32. printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  33. printf ("\313"); //Piešia T formos linijas sujungiančias linijas virš laukelių ir apačioje tarp laukelių.
  34. for(p=0;p<23;p++)
  35. printf("\315"); //Piešia lentelės viršų virš laukelio (5*4+3 = 23)
  36. printf ("\273");//Piešia lentelės virš. deš. kampą
  37. //Užbaigiame lentelės viršaus eilutė.
  38. printf("\n");
  39.  
  40. //Judame ciklu per visus įmanomus ASCI simbolius.
  41. for(;a<=b;a++){
  42. //Jeigu a > 32 galime paprastai atspausdinti ASCI simbolio reikšmę.
  43. if(a > 32)
  44. printf("\272%-5d %-5o %-5x %-5c",a,a,a,a); //Taip pat braižo lentelės liniją prieš lauką.
  45.  
  46. //Kitu atveju ASCI simbolio reikšmę imame iš o string'o, nes šių simbolių reikšmių įprastai nesimato ir jos gali paveikti mūsų lentelės struktūra.
  47. else
  48. //pagal o + (a * 5) suskaičiuojame kurioje o string'o vietoje yra mūsų ASCI char'o užrašymas.
  49. printf("\272%-5d %-5o %-5x %.5s",a,a,a,o + (a * 5)); //Taip pat braižo lentelės liniją prieš lauką.
  50.  
  51. //If'as iššaukiamas tik tada kai pasiekiama lentutės eilutės pabaiga. (kas penktą ciklą).
  52. //Kadangi a % 5 = 0, kai a = 0, O a = 0 ciklo pradžioje, tai pasikonverguojame a reikšmę iki 1 ir tada atliekame šią operaciją.
  53. if((a + 1) % 5 == 0){
  54. printf("\272\n"); //užbaigiame eilutę.
  55. //Nubraižome lentelės linijas tarp lentelės laukų.
  56. int e=0;
  57. printf ("\314");
  58. while(e<5){
  59. for(x=0;x<23;x++) printf("\315");
  60. if(e<4) printf("\316");
  61. else printf("\271\n");
  62. ++e;
  63. }
  64. }
  65.  
  66. //Jeigu užrašėme paskutinį ASCI simbolį.
  67. else if (a == 255)
  68. {
  69. //Nubraižome 4 tuščius laukelius lentelėje šioje eilutėje nes (5 - (256 % 5) = 4)
  70. for(int g = 0; g < 4; g++) printf("\272%-23c", ' ');
  71. printf("\272\n");
  72. }
  73. }
  74.  
  75. //Piešiame apatines lentelės linijas.
  76. printf ("\310");//Piešia lentelės apat. kair. kampą
  77. for(s=0;s<23;s++) printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  78. printf ("\312"); //Piešia apverstos T formos linijas sujungiančias linijas apačioje laukelių ir viršuj tarp laukelių esančias linijas.
  79. for(s=0;s<23;s++) printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  80. printf ("\312"); //Piešia apverstos T formos linijas sujungiančias linijas apačioje laukelių ir viršuj tarp laukelių esančias linijas.
  81. for(s=0;s<23;s++) printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  82. printf ("\312"); //Piešia apverstos T formos linijas sujungiančias linijas apačioje laukelių ir viršuj tarp laukelių esančias linijas.
  83. for(s=0;s<23;s++) printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  84. printf ("\312"); //Piešia apverstos T formos linijas sujungiančias linijas apačioje laukelių ir viršuj tarp laukelių esančias linijas.
  85. for(s=0;s<23;s++) printf("\315"); //Piešia lentelės linijas virš laukelio (5*4+3 = 23)
  86. printf ("\274");//Piešia lentelės apat. deš. kampą
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement