Guest User

Untitled

a guest
Jan 7th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char *ucitajPoruku();
  6. void prebroji(char**, int);
  7.  
  8. int main()
  9. {
  10.  
  11.  
  12. char *upisanaPoruka;
  13. char **lista = (char**)malloc(sizeof(char)*0);
  14. int brojPoruke=0, j;
  15. do
  16. {
  17. upisanaPoruka = ucitajPoruku();
  18. if(strcmp("OK",upisanaPoruka) != 0)
  19. {
  20. lista[brojPoruke]=strdup(upisanaPoruka);//kopiranje teksta poruke u array
  21. brojPoruke++;
  22. }
  23.  
  24. }
  25. while(strcmp("OK",upisanaPoruka) != 0);
  26.  
  27.  
  28. /* for(j=0;j<brojPoruke;j++)
  29. printf("_%s\n", lista[j]);*/
  30.  
  31. prebroji(lista, brojPoruke);
  32.  
  33. return 0;
  34. }
  35.  
  36. char *ucitajPoruku()
  37. {
  38.  
  39. // *realloc(void *ptr, size_t size);
  40.  
  41. char unos;//uneseni znak
  42. int brojZnakova=1, //brojac za realloc
  43. krajUnosa = 0; //1-kraj poruke, \n
  44.  
  45.  
  46.  
  47. char *upisanaPoruka = (char*)malloc(sizeof(char));//alociranje
  48.  
  49. do
  50. {
  51. scanf("%c", &unos);//unos znaka
  52. if(unos != '\n')//provjera je li kraj unosa
  53. {
  54. upisanaPoruka = (char*)realloc(upisanaPoruka, sizeof(char) * brojZnakova);
  55. upisanaPoruka[brojZnakova-1] = unos;
  56.  
  57. brojZnakova++;
  58. }
  59. else
  60. {
  61. krajUnosa = 1;
  62. upisanaPoruka = (char*)realloc(upisanaPoruka, sizeof(char) * brojZnakova);
  63. upisanaPoruka[brojZnakova-1] = '\0';
  64. }
  65. }
  66. while(krajUnosa==0);
  67.  
  68. return upisanaPoruka;
  69. }
  70.  
  71. void prebroji(char **lista, int i)
  72. {
  73. int j, sok=0, voda=0, pivo=0;
  74. for(j=0;j<i;j++)
  75. {
  76. //printf("_%s\n", lista[j]);
  77.  
  78.  
  79. char delimiters[] = ",";
  80. char *result = NULL;
  81. result = strtok( lista[j], delimiters );
  82. while( result != NULL )
  83. {
  84. if(strstr(result, "sok"))
  85. {
  86. sok+=atoi(result);
  87. }
  88. if(strstr(result, "voda"))
  89. {
  90. voda+=atoi(result);
  91. }
  92. if(strstr(result, "pivo"))
  93. {
  94. pivo+=atoi(result);
  95. }
  96. result = strtok( NULL, delimiters );
  97. }
  98.  
  99.  
  100. }
  101. printf("Sok -> %d\nVoda -> %d\nPivo -> %d", sok, voda, pivo);
  102. }
Advertisement
Add Comment
Please, Sign In to add comment