小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

基于visual Studio2013解决面试题之0507字符串转整数




题目



解决代码及点评

/*
	输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345" ,
	则输出整数 345。
*/

#include <iostream>
using namespace std;

bool gIsVaild = true;

// 转化函数
int strToi(const char *pszBuf)
{
    if (pszBuf == NULL)
    {
        gIsVaild = false;
        return 0;
    }

    long lNum = 0;
    bool bFlags = true;

    int i = 0;
	//  判断符号位
	if (pszBuf[i] == '-')
	{
		bFlags = false;
		i++;
	}
	if (pszBuf[i] == '+')
	{
		i++;
	}

	// 开始转换
    while (pszBuf[i] != '\0')
    {
		if (pszBuf[i] >= '0' && pszBuf[i] <= '9')
		{
			// 转化就是用字符-'0'得到实际的值,然后加到数字中去
			lNum = lNum * 10 + pszBuf[i] - '0'; 
			i++;
			// 判断数值是不是已经溢出
			if (lNum < INT_MIN || lNum > INT_MAX)
			{
				lNum = 0;
				break;
			}
		}
		else
		{
			gIsVaild = false;
			break;
		}
        
    }
    
	// 加上符号位
    if (gIsVaild)
    {
        return bFlags == false?  -lNum : lNum;
    }
    else 
    {
        return lNum;
    }
    
}

// 测试主函数
int main()
{
    char szBuf[] = "324424443";
    long lNum = strToi(szBuf);
    cout<<lNum<<endl;

    system("pause");
    return 0;
}


代码下载及其运行

代码下载地址:http://download.csdn.net/detail/yincheng01/6704519

解压密码:c.itcast.cn


下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:

1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”


2)在下拉框中选择相应项目,项目名和博客编号一致

3)点击“本地Windows调试器”运行


程序运行结果









posted on 2013-12-16 22:11  牛栏山1  阅读(111)  评论(0编辑  收藏  举报

导航