Advertisement
axelso

Binus Chronicle

Jan 22nd, 2014
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<time.h>
  4. #include<stdlib.h>
  5.  
  6. int jumlah=0;
  7.  
  8.  
  9. void clear()
  10. {
  11. for(int i =0;i<25;i++)
  12. {
  13. printf("\n");
  14. }
  15.  
  16. }
  17.  
  18. struct data
  19. {
  20. char nama[20];
  21. char job[100];
  22. char code[5];
  23. int level;
  24. }member[100];
  25.  
  26. void view()
  27. {
  28. clear();
  29.  
  30. for(int i=0;i<jumlah;i++)
  31. {
  32. printf("%-10s %-10s %-10s %-10d\n",member[i].nama,member[i].job,member[i].code,member[i].level);
  33. }
  34.  
  35. getchar();
  36. }
  37.  
  38. void add()
  39. {
  40. srand(time(NULL));
  41. int flag=0;
  42.  
  43. //code pakai sprintf(code,"%c%d%d%d",job[0],rand()%10,rand()%10,rand()%10);
  44. clear();
  45.  
  46. do{
  47. printf("Insert nama[3..15]=");
  48. scanf("%s",&member[jumlah].nama);fflush(stdin);
  49.  
  50. }while(strlen(member[jumlah].nama)<3 || strlen(member[jumlah].nama)>15);
  51. do{
  52. printf("inser job[warrior/magician/archer]=");
  53. scanf("%s",&member[jumlah].job);fflush(stdin);
  54.  
  55. }while(strcmpi(member[jumlah].job,"warrior")!=0 &&strcmpi(member[jumlah].job,"archer")!=0 &&strcmpi(member[jumlah].job,"magician")!=0);
  56.  
  57. if(strcmpi(member[jumlah].job,"warrior")==0)
  58. {
  59. sprintf(member[jumlah].code,"%c%d%d%d",'w',rand()%10,rand()%10,rand()%10);
  60. }
  61. else if(strcmpi(member[jumlah].job,"archer")==0)
  62. {
  63. sprintf(member[jumlah].code,"%c%d%d%d",'a',rand()%10,rand()%10,rand()%10);
  64. }
  65. else if(strcmpi(member[jumlah].job,"magician")==0)
  66. {
  67. sprintf(member[jumlah].code,"%c%d%d%d",'m',rand()%10,rand()%10,rand()%10);
  68. }
  69.  
  70. do{
  71.  
  72. printf("insert level[1..100]=");
  73. scanf("%d",&member[jumlah].level);fflush(stdin);
  74. }while(member[jumlah].level<1 || member[jumlah].level>100);
  75.  
  76.  
  77.  
  78. clear();
  79. printf("Character input complete !");
  80.  
  81. jumlah++;
  82. getchar();
  83. }
  84.  
  85. void del()
  86. {
  87. char temp[100];
  88. int target=101;
  89. clear();
  90. printf("Input Character's code=");
  91. scanf("%s",&temp);fflush(stdin);
  92.  
  93. for(int i=0;i<jumlah;i++)
  94. {
  95. if(strcmpi(temp,member[i].code)==0)
  96. {
  97. target=i;break;
  98.  
  99. }
  100. /*else
  101. printf("CODE NOT FOUND !");getchar();break;*/
  102. }
  103. if(target==101)
  104. {
  105. printf("CODE NOT FOUND !");
  106. }
  107. else
  108. {
  109. for(int i=target;i<jumlah-1;i++)
  110. {
  111. data temp=member[i];
  112. member[i]=member[i+1];
  113. member[i+1]=temp;
  114. }
  115. printf("data deleted !");
  116. jumlah--;
  117. }
  118. getchar();
  119. }
  120.  
  121. void sort()
  122. {
  123. for(int i=0;i<jumlah;i++)
  124. {
  125. for(int j=jumlah-1;j>i;j--)
  126. {
  127. if(member[j-1].level > member[j].level)
  128. {
  129. data temp=member[j-1];
  130. member[j-1]=member[j];
  131. member[j]=temp;
  132. }
  133. }
  134. }
  135. clear();
  136. printf("Sorted !!!");
  137. getchar();
  138. }
  139.  
  140. void save()
  141. {
  142. FILE *out=fopen("out.txt","w");
  143. for(int i =0;i<jumlah;i++)
  144. {
  145. fprintf(out,"%s#%s#%s#%d\n",member[i].nama,member[i].job,member[i].code,member[i].level);
  146. }
  147. fclose(out);
  148. printf("data saved !");
  149. getchar();
  150. }
  151. int main()
  152. {
  153.  
  154. int choice;
  155. FILE *in=fopen("karakter.txt","r");
  156. while(fscanf(in,"%[^#]#%[^#]#%[^#]#%d\n",&member[jumlah].nama,&member[jumlah].job,&member[jumlah].code,&member[jumlah].level)!=EOF)
  157. {
  158. jumlah++;
  159. }
  160. fclose(in);
  161.  
  162. do{
  163. /*choice=0;*/
  164. clear();
  165. printf("Welcome to binus chronicle Admin page\n");
  166. printf("=============================================\n");
  167. printf("Menu\n");
  168. printf("1.View all character data\n");
  169. printf("2.Add new character data\n");
  170. printf("3.Delete character\n");
  171. printf("4.Sort data\n");
  172. printf("5.Save and Exit\n");
  173. printf("=============================================\n");
  174. printf("Your choice=");
  175. scanf("%d",&choice);fflush(stdin);
  176. switch(choice)
  177. {
  178. case 1:view();break;
  179. case 2:add();break;
  180. case 3:del();break;
  181. case 4:sort();break;
  182. case 5:save();break;
  183. }
  184.  
  185. }while(choice!=5);
  186.  
  187.  
  188. getchar();
  189. return 0;
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement