SwordPencil

Untitled

Apr 26th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.55 KB | None | 0 0
  1. #include "prototypes.h"
  2. //Инструменты для рисования.
  3. void main(){
  4. unsigned int kolvo;
  5. unsigned int cho;
  6. printf("Skolko vsego?");
  7. scanf("%d", &kolvo);
  8. printf("CHE NADA?\n");
  9. printf("1- karandash\n");
  10. printf("2 - resinka\n");
  11. printf("3 - boomaga\n");
  12. com *ob = fill(kolvo);
  13. printf("Vse(1) ili konkretnoe(2)?\n");
  14. while(cho != 0){
  15. scanf("%d", cho);
  16. switch(cho){
  17. case 1: show(ob, kolvo); break;
  18. case 2: search(ob, kolvo); break;
  19. case 3: ob = delete_elements(ob, kolvo); break;} } }
  20.  
  21. com* fill(unsigned int num){
  22. unsigned int i = 0;
  23. kind thing;
  24. com *ob_get = (com*)malloc( num * sizeof(com));
  25. for (i = 0; i <= num; i++){
  26. scanf("%d", &thing);
  27. switch(thing){
  28. case unsigned int(PENCIL) + 1:
  29. printf("Karandash # %i\n", i + 1);
  30. printf("Kak nazvat?\n");
  31. gets(ob_get[i].name);
  32. printf("Vvedite %i chvet\n", i + 1);
  33. gets(ob_get[i].item.pencil.colour);
  34. printf("Vvedite %i dlinu\n", i + 1);
  35. scanf("%s", &ob_get[i].item.pencil.lenth);
  36. printf("Vvedite %i tverdost\n", i + 1);
  37. gets(ob_get[i].item.pencil.hardness);
  38. printf("Kstati, a skolko on stoit?\n");
  39. scanf("%d", &ob_get[i].price);
  40. ob_get[i].important_num = 1;
  41. break;
  42. case unsigned int(ERASER) + 1:
  43. printf("Resinka # %i\n", i + 1);
  44. printf("Kak nazvat?\n");
  45. gets(ob_get[i].name);
  46. printf("Vvedite # %i plotnost\n", i + 1);
  47. scanf("%s", &ob_get[i].item.eraser.densityfactor);
  48. printf("Vvedite # %i myagkost\n", i + 1);
  49. gets("%s", &ob_get[i].item.eraser.kindness);
  50. printf("Skolko # %i prozhivet?\n", i + 1);
  51. scanf("%s", &ob_get[i].item.eraser.worktime);
  52. printf("Kstati, a skolko ona stoit?\n");
  53. scanf("%d", &ob_get[i].price);
  54. ob_get[i].important_num = 2;
  55. break;
  56. case unsigned int(PAPER) + 1:
  57. printf("Bumaga # %i\n", i + 1);
  58. printf("Kak nazvat?\n");
  59. scanf("%s", &ob_get[i].name);
  60. printf("Kakoe kachestvo bumagi?\n", i + 1);
  61. scanf("%s", &ob_get[i].item.paper.quolity, i + 1);
  62. printf("Zachem?\n");
  63. scanf("%s", &ob_get[i].item.paper.needs, i + 1);
  64. printf("Kakogo razmera?\n");
  65. scanf("%d", &ob_get[i].item.paper.size, i +1);
  66. scanf("%d", &ob_get[i].price);
  67. ob_get[i].important_num = 3; break;} }
  68. return ob_get;}
  69.  
  70. void show(com *ob_get, unsigned int howmany){
  71. unsigned int i = 0;
  72. printf("Chto trebuyetsa vivesti?\n");
  73. printf("1- karandashi\n");
  74. printf("2 - resinki\n");
  75. printf("3 - boomaga\n");
  76. kind itemtype;
  77. switch(itemtype){
  78. case unsigned int(PENCIL) + 1:
  79. printf("KARANDASHI\n");
  80. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  81. printf("|-----------------------------------------------------|\n");
  82. for (i = 0; i++; i < howmany){
  83. if(ob_get[i].important_num == 1){
  84. printf("|%10d|%8d|%8d|%10d", ob_get[i].name, ob_get[i].price, ob_get[i].item.pencil.lenth, ob_get[i].item.pencil.hardness);
  85. printf("|---------------------------------------------|\n");} } break;
  86. case unsigned int(ERASER) + 1:
  87. printf("RESINKI\n");
  88. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  89. printf("|--------------------------------------------------------|\n");
  90. for (i = 0; i++; i < howmany){
  91. if(ob_get[i].important_num == 2){
  92. printf("|%10d|%8d|%9d|%10d",
  93. ob_get[i].name, ob_get[i].price, ob_get[i].item.eraser.densityfactor, ob_get[i].item.eraser.kindness, ob_get[i].item.eraser.worktime);
  94. printf("|--------------------------------------------------------|\n");} } break;
  95. case unsigned int(PAPER) + 1:
  96. printf("BUMAGA\n");
  97. printf("| NAME | PRICE |SIZE| QUOLITY | FOR WHAT |\n");
  98. printf("|----------------------------------------------------|\n");
  99. for (i = 0; i++; i < howmany){
  100. if(ob_get[i].important_num == 3){
  101. printf("|%10d|%8d|%4d|%10d|%14d",
  102. ob_get[i].name, ob_get[i].price, ob_get[i].item.paper.size, ob_get[i].item.paper.quolity,ob_get[i].item.paper.needs);
  103. printf("|---------------------------------------------|\n");} } break;} }
  104.  
  105. void search(com * ob_search, unsigned int num){
  106. kind itemsearch;
  107. unsigned int parametr;
  108. unsigned int i;
  109. printf("Chto iskat?\n");
  110. printf("1- karandash\n");
  111. printf("2 - resinka\n");
  112. printf("3 - boomaga\n");
  113. switch(itemsearch){
  114. case unsigned int(PENCIL) + 1:
  115. printf("Kakoi parametr?\n");
  116. printf("1 - po imeni\n");
  117. printf("2 - po cene\n");
  118. printf("3 - po dline");
  119. printf("4 - po cvetu\n");
  120. printf("5 - po tverdosti\n");
  121. scanf("%d", &parametr);
  122. switch(parametr){
  123. case 1:
  124. char imya[15];
  125. printf("Vvedite imya\n");
  126. gets(imya); break;
  127. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  128. printf("|-----------------------------------------------------|\n");
  129. if(strcmp(ob_search[i].name, imya) == 1){
  130. for (i = 0; i++; i < num){
  131. if(ob_search[i].important_num == 1){
  132. printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
  133. printf("|---------------------------------------------|\n");} } } break;
  134. case 2:
  135. double cena;
  136. printf("Vvedite cenu\n");
  137. scanf("%d", &cena);
  138. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  139. printf("|-----------------------------------------------------|\n");
  140. if(cena == ob_search[i].price){
  141. for (i = 0; i++; i < num){
  142. if(ob_search[i].important_num == 1){
  143. printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
  144. printf("|---------------------------------------------|\n");} } } break;
  145. case 3:
  146. double dlina;
  147. printf("Kakoi dlini\n");
  148. scanf("%d", &dlina);
  149. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  150. printf("|-----------------------------------------------------|\n");
  151. if (dlina == ob_search[i].item.pencil.lenth){
  152. for (i = 0; i++; i < num){
  153. if(ob_search[i].important_num == 1){
  154. printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
  155. printf("|---------------------------------------------|\n");} } } break;
  156. case 4:
  157. char tsvet[8];
  158. printf("Kakogo chveta?\n");
  159. gets(tsvet);
  160. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  161. printf("|-----------------------------------------------------|\n");
  162. if(strcmp(ob_search[i].item.pencil.colour, tsvet) == 1){
  163. for (i = 0; i++; i < num){
  164. if(ob_search[i].important_num == 1){
  165. printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
  166. printf("|---------------------------------------------|\n");} } } break;
  167. case 5:
  168. char tverdost[10];
  169. printf("Tip tverdosti?\n");
  170. gets(tverdost); break;
  171. printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
  172. printf("|-----------------------------------------------------|\n");
  173. if(strcmp(tverdost, ob_search[i].item.pencil.hardness) == 1){
  174. for (i = 0; i++; i < num){
  175. if(ob_search[i].important_num == 1){
  176. printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
  177. printf("|---------------------------------------------|\n");} } } break; } break;
  178. case unsigned int(ERASER) + 1:
  179. printf("Kakoi parametr?\n");
  180. printf("1 - po imeni\n");
  181. printf("2 - po cene\n");
  182. printf("3 - po plotnosti\n");
  183. printf("4 - po myagkosti\n");
  184. printf("5 - po tverdosti\n");
  185. scanf("%d", &parametr);
  186. switch(parametr){
  187. case 1:
  188. char imya[15];
  189. printf("Vvedite imya\n");
  190. gets(imya);
  191. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  192. printf("|--------------------------------------------------------|\n");
  193. if(strcmp(imya, ob_search[i].name) == 1){
  194. for (i = 0; i++; i < num){
  195. if(ob_search[i].important_num == 2){
  196. printf("|%10d|%8d|%9d|%10d",
  197. ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
  198. printf("|--------------------------------------------------------|\n");} } } break;
  199. case 2:
  200. double cena;
  201. printf("Vvedite cenu\n");
  202. scanf("%d", &cena);
  203. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  204. printf("|--------------------------------------------------------|\n");
  205. if(cena == ob_search[i].price){
  206. for (i = 0; i++; i < num){
  207. if(ob_search[i].important_num == 2){
  208. printf("|%10d|%8d|%9d|%10d",
  209. ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
  210. printf("|--------------------------------------------------------|\n");} } } break;
  211. case 3:
  212. unsigned int plotnost;
  213. printf("Vvedite plotnost\n");
  214. scanf("%d", &plotnost);
  215. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  216. printf("|--------------------------------------------------------|\n");
  217. if(plotnost == ob_search[i].item.eraser.densityfactor){
  218. for (i = 0; i++; i < num){
  219. if(ob_search[i].important_num == 2){
  220. printf("|%10d|%8d|%9d|%10d",
  221. ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
  222. printf("|--------------------------------------------------------|\n");} } } break;
  223. case 4:
  224. char myagkost[9];
  225. printf("Vvedite myagkost\n");
  226. gets(myagkost);
  227. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  228. printf("|--------------------------------------------------------|\n");
  229. if(strcmp(myagkost, ob_search[i].item.eraser.kindness) == 1){
  230. for (i = 0; i++; i < num){
  231. if(ob_search[i].important_num == 2){
  232. printf("|%10d|%8d|%9d|%10d",
  233. ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
  234. printf("|--------------------------------------------------------|\n");} } } break;
  235. case 5:
  236. unsigned int dlitelnost;
  237. printf("Skolko proshivet?");
  238. scanf("%d", &dlitelnost);
  239. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  240. printf("|--------------------------------------------------------|\n");
  241. for (i = 0; i < num; i++){
  242. if(plotnost == ob_search[i].item.eraser.densityfactor && ob_search[i].important_num == 2){
  243. printf("|", ob_search[i].name);
  244. printf("%d", ob_search[i].price, "|");
  245. printf("%d", ob_search[i].item.eraser.densityfactor, "|");
  246. printf(ob_search[i].item.eraser.kindness, "|");
  247. printf("%d", ob_search[i].item.eraser.worktime, "|");
  248. printf("|--------------------------------------------------------|\n");}} break; } break;
  249. case unsigned int(PAPER) + 1:
  250. switch(parametr){
  251. case 1:
  252. char imya[15];
  253. printf("Vvedite imya\n");
  254. gets(imya);
  255. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  256. printf("|--------------------------------------------------------|\n");
  257. for (i = 0; i++; i < num){
  258. if(ob_search[i].important_num == 3){
  259. printf("|%10d|%8d|%4d|%10d|%14d",
  260. ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
  261. printf("|---------------------------------------------|\n");} } break;
  262. case 2:
  263. double cena;
  264. printf("Vvedite cenu\n");
  265. scanf("%d", &cena);
  266. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  267. printf("|--------------------------------------------------------|\n");
  268. for (i = 0; i++; i < num){
  269. if(ob_search[i].important_num == 3){
  270. printf("|%10d|%8d|%4d|%10d|%14d",
  271. ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
  272. printf("|---------------------------------------------|\n");} } break;
  273. case 3:
  274. char kachestvo[10];
  275. printf("Kakogo kachestva bumaga?\n");
  276. gets(kachestvo);
  277. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  278. printf("|--------------------------------------------------------|\n");
  279. for (i = 0; i++; i < num){
  280. if(ob_search[i].important_num == 3){
  281. printf("|%10d|%8d|%4d|%10d|%14d",
  282. ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
  283. printf("|---------------------------------------------|\n");} } break;
  284. case 4:
  285. char dlya_chego[10];
  286. printf("Poisk kakoi bumagi?\n");
  287. gets(dlya_chego);
  288. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  289. printf("|--------------------------------------------------------|\n");
  290. for (i = 0; i++; i < num){
  291. if(ob_search[i].important_num == 3){
  292. printf("|%10d|%8d|%4d|%10d|%14d",
  293. ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
  294. printf("|---------------------------------------------|\n");} } break;
  295. case 5:
  296. char razmer[10];
  297. printf("Vvedite razmer\n");
  298. gets(razmer);
  299. printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
  300. printf("|--------------------------------------------------------|\n");
  301. for (i = 0; i++; i < num){
  302. if(ob_search[i].important_num == 3){
  303. printf("|%10d|%8d|%4d|%10d|%14d",
  304. ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
  305. printf("|---------------------------------------------|\n");} } break; } break;} }
  306.  
  307. com* delete_elements(com * ob_clean, unsigned int was){
  308. unsigned int nomer, index;
  309. printf("Seychas udalu. chto udalit?\n");
  310. scanf("%d", &nomer);
  311. com *ob_new = (com*)malloc( was - 1 * sizeof(com));
  312. for (index = 0; index < nomer; index++){
  313. ob_new[index] = ob_clean[index];}
  314. for (index = nomer - 1; index ++; index <= was){
  315. ob_new[index] = ob_clean[index];
  316. if(index == nomer){
  317. ob_new[index] = ob_clean[index + 1];}}
  318. return ob_new;}
Advertisement
Add Comment
Please, Sign In to add comment