1085:Bits++

题目描述
Bitland 的经典编程语言是 Bit++。这种语言是如此奇特和复杂。
这种语言很奇特,因为它只有一个变量,称为x。此外,还有两个操作:
·操作++将变量x的值加1。
·运算——将变量x 的值减1。
语言 Bit++ 中的语句是一个序列,由一个操作和一个变量x组成。该语句不带空格,即只能包含字符“+”、“-”、“X”。执行一个语句意味着应用它包含的操作。Bit++ 中的程序是一系列语句,每个语句都需要执行。执行一个程序意味着执行它包含的所有语句。给你一个 Bit++ 语言的程序。x的初始值为0。执行程序并找到它的最终值(执行此程序时变量的值)。
输入
第一行包含一个整数n (1 ≤ n ≤ 150) — 程序中的语句数。接下来的n行每行包含一个语句。每个语句只包含一个操作(++ 或 --)和一个变量x(表示为字母 «X»)。因此,没有空语句。操作和变量可以按任意顺序写入。
输出
打印一个整数—— x的最终值。

这是一道水题,但是最近新学了vector容器方法,本人想通过此题练习。以下代码运行没有问题,上交却显示错误50%

#include 
#include 
#include 
using namespace std;

bool isPlus(string s)
{
    if (s[1] == '+')
        return true;
    else
        return false;
}

int main()
{
    int n;
    while (cin >> n)
    {
        int ans = 0;
        vector v;
        while (n--)
        {
            string s;
            cin >> s;
            v.push_back(s);
        }
        for (int i = 0; i < v.size(); i++)
        {
            if (isPlus(v[i]))
                ans++;
            else
                ans--;
        }
        cout << ans << endl;
    }

    return 0;
}

第一行包含一个整数n (1 ≤ n ≤ 150) — 程序中的语句数
你为啥用while(cin>>n)呢?
每个语句只包含一个操作(++ 或 --)和一个变量x(表示为字母 «X»)
也没看到你对x进行处理啊