Go: package main

import (
	"bufio"
	"fmt"
	"go/token"
	"go/types"
	"os"
	"strconv"
	"strings"
)

func main() {
	stdin := bufio.NewScanner(os.Stdin)
	stdin.Scan()
	n, _ := strconv.Atoi(stdin.Text())
	for i := 0; i < n; i++ {
		stdin.Scan()
		exp := strings.TrimRight(stdin.Text(), "=")
		res, _ := types.Eval(token.NewFileSet(), nil, token.NoPos, exp)
		fmt.Println(res.Value)
	}
}

C++: #include <iostream>

using namespace std;
/*
digit : 0-9
number : (digit)+
block :("("expression")"|number)
term : block(("*"|"/")block)*
expression : term(("+"|"-")term)*
*/

int getExpression(char* exp,int &it);

bool isDigit(char *exp,int it)
{
    return '0' <= exp[it] && exp[it] <= '9';
}

int getDigit(char *exp,int &it)
{
    it++;
    return (int)(exp[it-1]-'0');
}

int getNumber(char *exp,int &it)
{
    int r=0;
    while(isDigit(exp,it))
    {
	r*=10;
	r+=getDigit(exp,it);
    }
    return r;
}

int getBlock(char *exp,int &it)
{
    int r;
    if (exp[it] == '(')
    {
	it++;
	r = getExpression(exp,it);
	it++;
	return r;
    }
    return getNumber(exp,it);
}

int getTerm(char *exp,int &it)
{
    int r=getBlock(exp,it);
    while(exp[it] == '*' || exp[it] == '/')
    {
	if (exp[it] == '*') {
	    it++;
	    r*=getBlock(exp,it);
	} else {
	    it++;
	    r/=getBlock(exp,it);
	}
    }
    return r;
}

int getExpression(char *exp,int &it)
{
    int r=getTerm(exp,it);
    while (exp[it] == '+' || exp[it] == '-')
    {
	if (exp[it] == '+')
	{
	    it++;
	    r+=getTerm(exp,it);
	} else {
	    it++;
	    r-=getTerm(exp,it);
	}
    }
    return r;
}


int main()
{
    int n;
    cin >> n;
    for (int i=0; i<n; i++)
    {
	int it=0;
	char input[101] = "";
	scanf("%s", input);
	printf("%d\n", getExpression(input,it));
    }
    return 0;
}

C++: /*
Hokudai Practice Contest 2014
C - Smart Calculator

ティツァツ」テヲツウツ陛ッツシツ堙ヲツァツ凝ヲツ鳴?ィツァツ」テヲツ楪?
テ・ツ?クテ・ツ楪凝ァツ堋?」ツ?ェテヲツァツ凝ヲツ鳴?ィツァツ」テヲツ楪静・ツ閉湘ゥツ。ツ古」ツ??
テ」ツ?陛」ツ?セテ」ツ?姪」ツ?セテ」ツ?ェテヲツ可凝ヲツウツ陛」ツ?古ィツ?ε」ツ?暗」ツつ嘉」ツつ古」ツつ凝」ツ?古ゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツ?ォテ・ツッツセテ」ツ?凖」ツつ凝・ツ?催・ツクツーテァツ堋?・ツ?ヲテァツ青?」ツつ津ィツ。ツ古」ツ??ヲツ鳴ケテヲツウツ陛」ツ?古ァツーツ。テ・ツ債佚」ツ?ァテ」ツ?づ」ツつ凝」ツ??
テゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツ?ォテ・ツッツセテ」ツ?療」ツ?ヲテァツュツ氾」ツ?暗」ツつ津ィツィツ暗ァツョツ療」ツ?凖」ツつ凝ゥツ鳴「テヲツ閉ーテ」ツつ津ァツ板ィテヲツ?湘」ツ?療」ツ?ヲテ」ツ??)テ」ツ?ォテ・ツ崢イテ」ツつ湘」ツつ古」ツ?淌ゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツ?ョティツィツ暗ァツョツ療」ツつ津・ツ?催・ツクツーテ」ツ?ァテヲツアツづ」ツつ?」ツつ凝」ツ??

1テ・ツコツヲテ」ツ?ョテ・ツ?催・ツクツーテ・ツ堕シテ」ツ?ウテ・ツ?コテ」ツ?療」ツ?ョテ・ツ?ヲテァツ青?ヲツ卍づゥツ鳴禿」ツ?ッO(n)テ」ツ?ァテ」ツ?づ」ツつ凝」ツ??
()テ」ツ?ョテ」ツδ堙」ツつ「テ」ツ?ョテヲツ閉ーテ」ツ??」ツ?妥・ツ?催・ツクツーテ・ツ堕シテ」ツ?ウテ・ツ?コテ」ツ?療」ツ?古ィツ。ツ古」ツつ湘」ツつ古」ツつ凝」ツ?ョテ」ツ?ァテ」ツ??・ツ?催・ツクツーテ・ツ堕シテ」ツ?ウテ・ツ?コテ」ツ?療」ツ?ョテヲツ閉ーテ」ツつづ」ツ?セテ」ツ?欅(n)テ」ツ?ァテ」ツ?づ」ツつ凝」ツ??
テ」ツつ暗」ツ?」テ」ツ?ヲテ」ツ??ヲツ卍づゥツ鳴禿ィツィツ暗ァツョツ療ゥツ?湘」ツ?ッO(n^2)テ」ツ?ァテ」ツ?づ」ツつ凝」ツ??
*/

#include<iostream>
#include<string>
using namespace std;

//テヲツ鳴?・ツュツ療・ツ按療」ツつ津」ツつーテ」ツδュテ」ツδシテ」ツδ静」ツδォテ・ツ、ツ嘉ヲツ閉ーテ」ツ?ォテァツスツョテ」ツ?催」ツ??ヲツ鳴?・ツュツ療」ツ?ョテゥツ鳴凝・ツァツ凝、ツスツ催ァツスツョテ」ツ?ィテァツオツづ、ツコツ?、ツスツ催ァツスツョテ」ツつ津ゥツ鳴「テヲツ閉ーテ」ツ?ォテ、ツクツ偲」ツ?暗」ツつ凝」ツ?禿」ツ?ィテ」ツ?ァテ」ツ??
//テゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツつ津ゥツ鳴「テヲツ閉ーテ」ツ?ォテヲツクツ。テ」ツ?凖」ツ?ョテ」ツ?ィテ・ツ青古ァツュツ嘉」ツ?ョテ・ツ?ヲテァツ青?」ツ?古」ツ?ァテ」ツ?催」ツつ?
string s;

//テゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按耀[l,r)テ」ツ?ォテ・ツッツセテ」ツ?凖」ツつ凝・ツ?催・ツクツーテァツ堋?」ツ?ェテヲツァツ凝ヲツ鳴?ィツァツ」テヲツ楪?
//lテヲツ鳴?・ツュツ療ァツ崢ョテ」ツ?凝」ツつ嘉・ツァツ凝」ツ?セテ」ツつ甘」ツ?〉-1テヲツ鳴?・ツュツ療ァツ崢ョテ」ツ?ァテァツオツづ」ツつ湘」ツつ凝・ツ債甘ゥツ鳴凝・ツ個コテゥツ鳴禿」ツ?ォテ」ツ?ェテ」ツ?」テ」ツ?ヲテ」ツ??」ツつ凝」ツ?禿」ツ?ィテ」ツ?ォテヲツウツィテヲツ??
//(テ・ツ個コテゥツ鳴禿」ツつ津ヲツ可アテ」ツ??ヲツ卍づ」ツ?ッテ・ツ債甘ゥツ鳴凝・ツ個コテゥツ鳴禿」ツ??」ツ?ィテゥツδステ・ツ青暗」ツ?古」ツつ暗」ツ??」ツ?禿」ツ?ィテ」ツ?古・ツ、ツ堙」ツ?湘」ツ?，++ STLテ」ツ?ァテ」ツつづ・ツ、ツ堙」ツ?湘」ツ?ョテ・ツ?エテ・ツ青暗」ツ?敕」ツ??」ツ?ェテ」ツ?」テ」ツ?ヲテ」ツ??」ツつ?
int parse(int l, int r){
  //テ・ツ?催・ツクツーテ・ツ?ヲテァツ青?・ツ??」ツ?ァテ」ツ?ッテ」ツ??・ツ?ェテ・ツ?暗ゥツ??、ツスツ催」ツ?ョテ、ツスツ偲」ツ??ィツィツ暗ァツョツ療」ツ?凝」ツつ嘉・ツ?暗」ツ?ォティツィツ佚ィツソツーテ」ツ?凖」ツつ?
  //テ」ツ?ェテ」ツ?愿」ツ?ェテ」ツつ嘉」ツ??・ツ?催・ツクツーテ・ツ堕シテ」ツ?ウテ・ツ?コテ」ツ?療・ツ?暗」ツ?ョティツィツ暗ァツョツ療」ツ?ョテヲツ鳴ケテ」ツ?古・ツ?ェテ・ツ?暗ァツ堋?」ツ?ォティツ。ツ古」ツつ湘」ツつ古」ツつ凝」ツ?凝」ツつ嘉」ツ?ァテ」ツ?づ」ツつ?
  //テ」ツつ暗」ツ?」テ」ツ?ヲテ」ツ??+-"->"*/"->"()"->"テヲツ閉ーテ・ツュツ?テ」ツ?ョテゥツ??」ツ?ォティツィツ佚ィツソツーテ」ツ?凖」ツつ?

  //k:テゥツ鳴嘉」ツ?佚ヲツ仰ャテ・ツシツァテ」ツ?ョテヲツ閉ーテ」ツ?ョテ」ツつォテ」ツつヲテ」ツδウテ」ツつソテ」ツ?Ｌ=0テ」ツ?ョテ」ツ?ィテ」ツ?催」ツ??・ツョツ古・ツ?ィテ」ツ?ォテヲツ仰ャテ・ツシツァテ」ツ?古ゥツ鳴嘉」ツ?佚」ツ?ヲテ」ツ??」ツつ?
  int k = 0;

  //+,-テ」ツ?ョテ・ツ?ヲテァツ青?
  //テ・ツ?ェテ・ツ?暗ゥツ??、ツスツ催」ツ?ョテ、ツスツ偲」ツ??ィツィツ暗ァツョツ療」ツ?凝」ツつ嘉・ツ?暗」ツ?ォテ・ツ?ヲテァツ青?」ツ?凖」ツつ凝」ツ?淌」ツつ?」ツ??」ツδォテ」ツδシテ」ツδ療」ツ?ョテヲツ鳴ケテ・ツ青妥」ツつづゥツ卍催ゥツ??」ツ?ォテ」ツ?凖」ツつ?
  for(int i=r-1;i>=l;i--){
    if(s[i] == ')')k++;
    if(s[i] == '(')k--;
    //テ・ツ債甘ゥツ鳴凝・ツ個コテゥツ鳴禿」ツ?ォテ」ツ?ェテ」ツつ凝」ツつ暗」ツ??」ツ?ォiテ」ツつ暗」ツつ甘・ツキツヲテ」ツ?ィテ・ツ渉ウテ」ツ?ョテゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツ?ォテ・ツ按?」ツ?妥」ツつ凝」ツ?づヲツキツサテ・ツュツ療」ツδ淌」ツつケテ」ツつ津」ツ?療」ツつ?」ツ?凖」ツ??」ツ?ョテ」ツ?ァテヲツーツ療」ツつ津」ツ?、テ」ツ?妥」ツつ凝」ツ??
    if(!k && s[i] == '+')return parse(l,i) + parse(i+1,r);
    if(!k && s[i] == '-')return parse(l,i) - parse(i+1,r);
  }

  //*,/テ」ツ?ョテ・ツ?ヲテァツ青?
  for(int i=r-1;i>=l;i--){
    if(s[i] == ')')k++;
    if(s[i] == '(')k--;
    if(!k && s[i] == '*')return parse(l,i) * parse(i+1,r);
    if(!k && s[i] == '/')return parse(l,i) / parse(i+1,r);
  }

  //()テ」ツ?ョテ・ツ?ヲテァツ青?
  if(s[l] == '(' && s[r-1] == ')')return parse(l+1,r-1);

  //テゥツδィテ・ツ按?ヲツ鳴?・ツュツ療・ツ按療」ツ?古ヲツ閉ーテ・ツュツ療」ツ?ョテ」ツ?ソテ」ツ?凝」ツつ嘉」ツ?ェテ」ツつ凝・ツ?エテ・ツ青?
  //stoi(string)テ」ツ?ッstringテ・ツ楪凝」ツ?ァティツ。ツィテ」ツ?陛」ツつ古」ツ?淌ヲツ閉ーテ・ツュツ療」ツつ段ntテ・ツ楪凝」ツ?ォテ・ツ、ツ嘉ヲツ渉崚」ツ?凖」ツつ凝」ツ??++11テ」ツ?凝」ツつ鋭tringテ」ツδ佚」ツδε」ツδ?」ツ?ォテ・ツ?・テ」ツ?」テ」ツ?淌」ツ??
  return stoi( s.substr(l,r-l) );
}

int main(){
  int n;
  cin >> n;
  while(n--){
    cin >> s;
    cout << parse(0,(int)s.size()-1) << endl;
  }
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>

#define CK(N,A,B) (A<=N&&N<B)
#define REP(i,a,b) for(int i=a;i<b;i++)
#define RREP(i,a,b) for(int i=(b-1);a<=i;i--)
#define F first
#define S second
#define ll long long

const int INF = 1e9;
const long long  LLINF = 1e15;

using namespace std;


#include <string>
#include <cctype>
typedef string::const_iterator State;

int expression(State &);
int term(State &);
int number(State &);
int factor(State &);

// ?????????????????????????????????????????????????????????????????????
int expression(State &begin) {
    int ret = term(begin);
    for (;;) {
        if (*begin == '+') {
            begin++;
            ret += term(begin);
        } else if (*begin == '-') {
            begin++;
            ret -= term(begin);
        } else {
            break;
        }
    }
    return ret;
}

// ?????????????????????????????????????????????????????????????????????
int term(State &begin) {
    int ret = factor(begin);
    for (;;) {
        if (*begin == '*') {
            begin++;
            ret *= factor(begin);
        } else if (*begin == '/') {
            begin++;
            ret /= factor(begin);
        } else {
            break;
        }
    }
    return ret;
}

// ??¬??§?????°???????????????????????????????????????????????????
int factor(State &begin) {
    if (*begin == '(') {
        begin++; // '('????£???°??????
        int ret = expression(begin);
        begin++; // ')'????£???°??????
        return ret;
    } else {
        return number(begin);
    }
}

// ??°??????????????????????????????????????°????????????
int number(State &begin) {
    int ret = 0;
    while (isdigit(*begin)) {
        ret *= 10;
        ret += *begin - '0';
        begin++;
    }
    return ret;
}



int main(){
  int n;
  cin>>n;
  REP(i,0,n){
    string s;
    cin>>s;
    State begin = s.begin();
    int ans = expression(begin);
    cout << ans << endl;
  }
  return 0;
}