1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
С помощью разбора строки, вводимой с клавиатуры создать калькулятор, вычисляющий простейшие выражения типа: "1 + 7 - 3 * 2 =" результатом такого выражения будет 10 (приоритет операций не учитывается). Использовать только функци strtok. В дальнейшем модифицировать калькулятор так, чтобы он разбирал строки "1+7-3*2=", т.е. знаки операций искать с помощью strpbrk.
len = i = 0; result = 0; sign = '\0'; p = strtok(temp,"+-*/="); while(p && *p != '\n') { len += strlen(p); switch(sign) { case '\0': result = atoi(p); break; case '+': result += atoi(p); break; case '-': result -= atoi(p); break; case '*': result *= atoi(p); break; case '/': result /= atoi(p); break; } printf("%d : %3d; sign : %c\n",i++, atoi(p), (sign = s[len++])); p = strtok(NULL,"+-*/="); } free(temp); printf("\nresult = %5.2f\n", result); return 0; }
len = i = 0; result = 0; sign = '\0'; p = strtok(temp,"+-*/="); while(p && *p != '\n') { len += strlen(p); switch(sign) { case '\0': result = atoi(p); break; case '+': result += atoi(p); break; case '-': result -= atoi(p); break; case '*': result *= atoi(p); break; case '/': result /= atoi(p); break; } printf("%d : %3d; sign : %c\n",i++, atoi(p), (sign = s[len++])); p = strtok(NULL,"+-*/="); } free(temp); printf("\nresult = %5.2f\n", result); return 0; }