码迷,mamicode.com
首页 > 其他好文 > 详细

寻找水王2——寻找三个小水王

时间:2016-05-28 01:12:17      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

一、实验题目

二、实现方法及设计思路

三、实验代码

//data:2016.5.27
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

void getArray(string a[])
{
    string strTemp;              //获取文件中第一个字符,判断文件是否为空
    cout << "读取帖子列表可得:" << endl;
    fstream fileIn;
    fileIn.open("id.txt", ios::in);       //从文件id.txt中读取帖子列表
    if (!fileIn.is_open())                //判断文件是否被打开
    {
        cout << "没有打开文件!!" << endl;
        exit(0);
    }
    fileIn >> strTemp;                     //此句读入文件中第一个字符,必须和下面的判断连用
    if (fileIn.eof())                      //判断打开的文件是否为空,注意判断条件
    {
        cout << "打开的文件为空!!" << endl;
        exit(0);
    }

    a[0] = strTemp;                 //打开的文件不为空,读入文件的内容
    cout << strTemp << endl;
    for (int i = 1; i < 20; i++)
    {
        fileIn >> a[i];
        cout << a[i] << endl;
    }
    fileIn.close();
}

void getWaterRing(string strItem[])
{
    int intCount[3] = { 0, 0, 0 };        //设置三个变量,用来计数,记录ID号出现的个数
    string strID[3] = { "#", "#", "#" };  //设置三个变量,用来记录ID号

    //以下为查找三个小水王的操作
    for (int i = 0; i < 20; i++)
    {
        if (strID[0] == strItem[i])
        {
            intCount[0] = intCount[0] + 1;
        }
        else if (strID[1] == strItem[i])
        {
            intCount[1] = intCount[1] + 1;
        }
        else if (strID[2] == strItem[i])
        {
            intCount[2] = intCount[2] + 1;
        }
        else if (intCount[0] == 0)
        {
            intCount[0] = 1;
            strID[0] = strItem[i];
        }
        else if (intCount[1] == 0)
        {
            intCount[1] = 1;
            strID[1] = strItem[i];
        }
        else if (intCount[2] == 0)
        {
            intCount[2] = 1;
            strID[2] = strItem[i];
        }
        else
        {
            intCount[0] = intCount[0] - 1;
            intCount[1] = intCount[1] - 1;
            intCount[2] = intCount[2] - 1;
        }
    }

    cout << "第一个水王是:" << strID[0] << endl;
    cout << "第二个水王是:" << strID[1] << endl;
    cout << "第三个水王是:" << strID[2] << endl;
}

int main()
{
    string strItem[20];          //设置数组,用来记录每条帖子的ID号   ,此处可以不用初始化,若初始化为null则报错

    getArray(strItem);
    getWaterRing(strItem);

    return 0;
}

四、实验截图

技术分享

 

五、实验心得

寻找水王2——寻找三个小水王

标签:

原文地址:http://www.cnblogs.com/seven-seven/p/5536433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!