Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char *ucitajPoruku();
- void prebroji(char**, int);
- int main()
- {
- char *upisanaPoruka;
- char **lista = (char**)malloc(sizeof(char)*0);
- int brojPoruke=0, j;
- do
- {
- upisanaPoruka = ucitajPoruku();
- if(strcmp("OK",upisanaPoruka) != 0)
- {
- lista[brojPoruke]=strdup(upisanaPoruka);//kopiranje teksta poruke u array
- brojPoruke++;
- }
- }
- while(strcmp("OK",upisanaPoruka) != 0);
- /* for(j=0;j<brojPoruke;j++)
- printf("_%s\n", lista[j]);*/
- prebroji(lista, brojPoruke);
- return 0;
- }
- char *ucitajPoruku()
- {
- // *realloc(void *ptr, size_t size);
- char unos;//uneseni znak
- int brojZnakova=1, //brojac za realloc
- krajUnosa = 0; //1-kraj poruke, \n
- char *upisanaPoruka = (char*)malloc(sizeof(char));//alociranje
- do
- {
- scanf("%c", &unos);//unos znaka
- if(unos != '\n')//provjera je li kraj unosa
- {
- upisanaPoruka = (char*)realloc(upisanaPoruka, sizeof(char) * brojZnakova);
- upisanaPoruka[brojZnakova-1] = unos;
- brojZnakova++;
- }
- else
- {
- krajUnosa = 1;
- upisanaPoruka = (char*)realloc(upisanaPoruka, sizeof(char) * brojZnakova);
- upisanaPoruka[brojZnakova-1] = '\0';
- }
- }
- while(krajUnosa==0);
- return upisanaPoruka;
- }
- void prebroji(char **lista, int i)
- {
- int j, sok=0, voda=0, pivo=0;
- for(j=0;j<i;j++)
- {
- //printf("_%s\n", lista[j]);
- char delimiters[] = ",";
- char *result = NULL;
- result = strtok( lista[j], delimiters );
- while( result != NULL )
- {
- if(strstr(result, "sok"))
- {
- sok+=atoi(result);
- }
- if(strstr(result, "voda"))
- {
- voda+=atoi(result);
- }
- if(strstr(result, "pivo"))
- {
- pivo+=atoi(result);
- }
- result = strtok( NULL, delimiters );
- }
- }
- printf("Sok -> %d\nVoda -> %d\nPivo -> %d", sok, voda, pivo);
- }
Advertisement
Add Comment
Please, Sign In to add comment