Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. pragma solidity ^0.4.0;
  2. contract Ballot {
  3. pragma solidity ^0.4.23;
  4.  
  5. contract shop {
  6. struct user {
  7. int balance;
  8. address ip;
  9. }
  10.  
  11. struct tovar {
  12. string name;
  13. int cost;
  14. address seller;
  15. }
  16.  
  17. address kap;
  18. user[] users;
  19. tovar[] tovars;
  20.  
  21. function check_costumer(address _ip) private returns(bool){
  22. bool flag = 0;
  23. for (i := 0; i < users.length; i++) {
  24. if (usres[i].ip == _ip) {
  25. flag = 1;
  26. }
  27. }
  28. return flag;
  29. }
  30.  
  31. function init_user() public {
  32. bool flag = check_costumer(msg.sender);
  33. if (!flag) {
  34. users.length = users.length + 1;
  35. users[users.length - 1].ip = msg.sender;
  36. users[users.length - 1].balance = 10000;
  37. }
  38. else {
  39. //пользователь зареган - обработать
  40. }
  41. }
  42.  
  43. function add_tovar(string _name, int _cost) public {
  44. bool flag = check_costumer(msg.sender);
  45. if (flag) {
  46. tovars.length = tovars.length + 1;
  47. tovars[tovars.length - 1].name = _name;
  48. tovars[tovars.length - 1].cost = _cost;
  49. tovars[tovars.length - 1].seller = msg.sender;
  50. }
  51. else {
  52. //пользователь не зареган - обработать
  53. }
  54. }
  55.  
  56. function bye_tovar(string _id) public {
  57. _id--;
  58. bool flag = check_costumer(msg.sender);
  59. if (flag) {
  60. address buy = msg.sender;
  61. int m_id = 0;
  62. while (users[m_id].ip != buy) {
  63. m_id++;
  64. }
  65. if (users[m_id].balance < tovars[_id].cost) {
  66. //недостаточно денег - обработать
  67. }
  68. else {
  69. users[m_id].balance -= tovars[_id].cost;
  70. address sell = tovars[_id].seller;
  71. int s_id = 0;
  72. while (users[s_id].ip != sell) {
  73. s_id++;
  74. }
  75. users[s_id].balance += tovars[_id].cost;
  76. for (i := _id + 1; i < tovars.length; i++) {
  77. tovars[i - 1] = tovars[i];
  78. }
  79. tovars.length--;
  80. }
  81. }
  82. else {
  83. //пользователь не зареган - обработать
  84. }
  85. }
  86.  
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement