C++ primer上习题 ,求更好的解决方法

C++ primer上习题 ,求更好的解决办法。
题目是这样描述的:
读入一段文本到vector对象,每个单词存储为vector中的一个元素。把vector对象中每个单词转化为大写字母。输出vector对象中转化后的元素,每八个单词为一行输出。
下面是我自己解决问题的代码。
C/C++ code
#include<string>
#include<vector>
#include<iostream>

using namespace std;

string changecase(string word)//将小写字母转换成大写字母的函数
{
    if(word.size!=0)
    {
        for(string::size_type index=0;index!=word.size();index++)
        {
                word[index]-=32;
        }
    }
    return word;
}

void main()
{   
    int count=0;//计数器
    string temp;
    vector<string> ivec;
    while(cin>>temp)
    {
        if(temp=="endstop")//当输入的字符串为endstop时,退出
        break;
        ivec.push_back(temp);
    }
    for(vector<string>::size_type ix=0;ix!=ivec.size();ix++)
    {
        ivec[ix]=changecase(ivec[ix]);
        cout<<ivec[ix]<<" ";
        count++;
        if(count==8)
        {
            cout<<endl;
            count=0;
        }
    }
}

就是这样了。我认为把问题解决了,但是在编译过程中,VC++6.0的编译器会报出很多warning。我不知道是什么意思。
而且,有没有其他的算法能解决问题?
求各位高人指教,谢谢了!

------解决方案--------------------
if(word.size!=0) size后面丢了个括号
应该是 if(word.size()!=0)
------解决方案--------------------
C/C++ code
#include<string>
#include<vector>
#include<iostream>

using namespace std;

string changecase(string word)//将小写字母转换成大写字母的函数
{
    if(word.size()!=0)          /*size是个函数,要加括号才行*/
    {
        for(string::size_type index=0;index!=word.size();index++)
        {
            if (word[index]>='a'&&word[index]<='z')         /*只需要把小写字母转换掉就够了,别的不转*/
                word[index]-=32;
        }
    }
    return word;
}

void main()
{   
    int count=0;//计数器
    string temp;
    vector<string> ivec;
    while(cin>>temp)
    {
        if(temp=="endstop")//当输入的字符串为endstop时,退出
            break;
        ivec.push_back(temp);
    }
    for(vector<string>::size_type ix=0;ix!=ivec.size();ix++)
    {
        ivec[ix]=changecase(ivec[ix]);
        cout<<ivec[ix]<<" ";
        count=(count+1)%8;
        if(count==0)
        {
            cout<<endl;
        }
    }
}

------解决方案--------------------
word[index]-=32;
判断小写字母用islower()函数比较好
转换为大写字母用toupper()函数比较好
#include <cctype>