Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define MAX_SIZE 20
  6. int eval(char *espressione)
  7. {
  8.  
  9.     int risultato = atoi(espressione);
  10.     for (int i = 0; i < MAX_SIZE; i++)
  11.     {
  12.         if (*(espressione+i) == '+')
  13.         {
  14.             risultato += atoi((espressione+i+1));
  15.         }
  16.         else if (*(espressione+i) == '-')
  17.         {
  18.             risultato -= atoi((espressione+i+1));
  19.         }
  20.         else if (*(espressione+i) == '*')
  21.         {
  22.             risultato *= atoi((espressione+i+1));
  23.         }
  24.         else if (*(espressione+i) == '/')
  25.         {
  26.             risultato /= atoi((espressione+i+1));
  27.         }
  28.     }
  29.     return risultato;
  30. }
  31.  
  32. int main()
  33. {
  34.  
  35.     int i = 0;
  36.     int size = 1;
  37.     char line[MAX_SIZE];
  38.     char *token;
  39.     char *espressione;
  40.  
  41.     espressione = malloc(sizeof(char)*MAX_SIZE);
  42.  
  43.     printf("Inserisci il calcolo:\n");
  44.  
  45.     gets(line);
  46.     token = strtok(line, " ");
  47.  
  48.     while(token != NULL){
  49.         *(espressione+i) = *token;
  50.         token = strtok(NULL, " ");
  51.         i++;
  52.     }
  53.  
  54.     printf("%d", eval(espressione));
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement