rohit35

input

Mar 29th, 2018
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. #include<allegro.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. #define Helix "HELIX"
  5. #define press "Press Any Key"
  6. #define space "\t \t \t"
  7. void read_string(char *str_to, int size);
  8. char ch;
  9. int main(void)
  10. {
  11. if (allegro_init() != 0)
  12. return 1;
  13. install_keyboard();
  14. install_timer();
  15. if (set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0) != 0)
  16. {
  17. if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0)
  18. {
  19. set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
  20. allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
  21. return 1;
  22. }
  23. }
  24. char users[100];
  25. //set_palette(desktop_palette);
  26. clear_to_color(screen, makecol(255, 255, 0));
  27. char start[100]="WELCOME";//we can use this also
  28. acquire_screen();
  29. textout_centre_ex(screen, font, start, SCREEN_W/2, SCREEN_H/4, makecol(0,0,255),-1);
  30. textout_centre_ex(screen, font, " TO ", SCREEN_W/2, SCREEN_H/3, makecol(0,255,0), -1);
  31. textout_centre_ex(screen, font, Helix, SCREEN_W/2, SCREEN_H/2, makecol(255,0,0), -1);
  32. textout_centre_ex(screen, font, press, SCREEN_W/2, SCREEN_H/1.5, makecol(255,0,0), -1);
  33. release_screen();
  34. readkey();
  35. Main_page(users);
  36. return 0;
  37. }
  38. END_OF_MAIN()
  39. void Main_page(char *users)
  40. {
  41. Main_sec:
  42. while(1)
  43. {
  44. fflush(stdin);
  45. set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,320,200,0,0);
  46. acquire_screen();
  47. clear_to_color(screen, makecol(0, 0, 0));
  48. textout_centre_ex(screen,font, Helix, SCREEN_W/2, SCREEN_H/5, makecol(0,0,255),-1);
  49. textout_centre_ex(screen,font, "1)lOGIN", SCREEN_W/2, SCREEN_H/3, makecol(0,0,255),-1);
  50. textout_centre_ex(screen,font, "2)SIGNUP", SCREEN_W/2, SCREEN_H/2, makecol(0,0,255),-1);
  51. textout_centre_ex(screen,font, "3)EXIT", SCREEN_W/2, SCREEN_H/1.5, makecol(0,0,255),-1);
  52. release_screen();
  53. ch=readkey();
  54. if((ch==49 )||(ch ==50)||(ch==51))
  55. {
  56. break;
  57. }
  58. else
  59. {
  60. textout_centre_ex(screen,font, "Please Enter valid Data", SCREEN_W/2, SCREEN_H/1, makecol(0,0,255),-1);
  61. }
  62. }
  63. if(ch==50)
  64. {
  65. Signup_page(users);
  66. goto Main_sec;
  67. }
  68. else if(ch==49)
  69. {
  70. login_page(users);
  71. goto Main_sec;
  72. }
  73. else
  74. {
  75. }
  76. }
  77. END_OF_FUNCTION(Main_page);
  78. void Signup_page(char *users)
  79. {
  80. set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,320,200,0,0);
  81. acquire_screen();
  82. clear_to_color(screen, makecol(255, 255, 255));
  83. textout_centre_ex(screen,font, "SIGNUP", SCREEN_W/2, SCREEN_H/5, makecol(0,0,255),-1);
  84. textout_centre_ex(screen,font, " NAME:", SCREEN_W/4, SCREEN_H/3, makecol(0,0,255),-1);
  85. textout_centre_ex(screen,font, "PASSWORD:", SCREEN_W/4, SCREEN_H/2, makecol(0,0,255),-1);
  86. release_screen();
  87. ch=readkey();
  88.  
  89. }
  90. void login_page(char *users)
  91. {
  92. char my_str[40],*poin;
  93. char name[100]="NAME:";
  94. char pass[100]="PASSWORD:";
  95. set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,320,200,0,0);
  96. acquire_screen();
  97. clear_to_color(screen, makecol(255, 255, 255));
  98. textout_centre_ex(screen,font, "LOGIN", SCREEN_W/2, SCREEN_H/5, makecol(0,0,255),-1);
  99. textout_centre_ex(screen,font, name, SCREEN_W/4, SCREEN_H/3, makecol(0,0,255),-1);
  100. char my[40];
  101. read_string(my,40);
  102. textout_centre_ex(screen,font, pass, SCREEN_W/2, SCREEN_H/5, makecol(0,0,255),-1);
  103. char var[40];
  104. read_string(var,40);
  105. release_screen();
  106. }
  107. void read_string(char *str_to, int size) {
  108. int cur_pos = 0; // position of caret
  109. int the_key = 0;
  110. int i;
  111. for (i = 0; i < size; i++)
  112. str_to[i] = '\0'; // 'clean' the string
  113.  
  114. while (the_key>>8 != KEY_ENTER)
  115. {
  116. the_key = readkey();
  117. if ((the_key & 0xff) >= ' ') // get only valid chars
  118. {
  119. str_to[cur_pos] = the_key & 0xff;
  120. cur_pos++;
  121. if (cur_pos > size-2) cur_pos = size-2;
  122. }
  123. if (the_key >> 8 == KEY_BACKSPACE)
  124. {
  125. str_to[cur_pos] = '\0'; // chop the string
  126. cur_pos --;
  127. if (cur_pos < 0) cur_pos = 0;
  128. }
  129. // lame redraw (use double buffer, whatever)
  130. clear(screen);
  131. textout(screen,font, str_to, 0,0, makecol(255,255,255));
  132. }
  133. }
Add Comment
Please, Sign In to add comment