首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单程序因某种原因崩溃

简单程序因某种原因崩溃
EN

Stack Overflow用户
提问于 2015-08-05 13:08:21
回答 1查看 287关注 0票数 0

我编写了简单的二进制计算器,我将介绍一下develop.Everything,但在此之后,程序就开始运行--“Binary.exe已经停止工作了”,.I认为函数"decToBin()“中动态分配的数组可能有问题,但我找不到问题。下面是代码:

代码语言:javascript
复制
    #include <iostream>
    #include <math.h>
    #include <string>
    #include <conio.h>

    using namespace std;

    void binToDec()
    {
    string bin;
    cout<<"Binary code: ";
    cin>>bin;

    int powr = 0;
    int num = 0;
    long long sum = 0;


    for(int i=bin.size()-1; i>=0; i--)
    {
        if(bin[i] == '1')
        {
            num = 2;
        }
        else if(bin[i] == '0')
        {
            num = 0 ;
        }
        sum += pow(num,powr);
        cout<<sum<<endl;

        powr++;
    }
    cout<<"Decimal: "<<sum<<endl;

    sum = 0;
    powr = 0;
    num = 0;
}

void decToBin()
{
    int dec = 0;
    cout<<"Decimal number or digit: ";
    cin>>dec;

    int i = 0;
    int *numBin = new int[i];
    while(dec > 0)
    {
        numBin[i] = dec%2;
        dec = dec/2;
        i++;
    }
    cout<<"Binary: ";
    for(int j = i-1; j>=0; j--)
    {
        cout<<numBin[j];
    }
    cout<<"\n";
    i = 0;
    delete [] numBin;
}

int main()
{
    //USER INPUT
    int nav = 0;


    while(true)
    {
        cout<<"\n";
        cout << "1.Binary to decimal:"<<endl;
        cout << "2.Decimal to binary:"<<endl;
        cin>>nav;

        switch(nav)
        {
        case 1:
        {
            binToDec();
            break;
        }
        case 2:
        {
            decToBin();
            break;
        }
        }

    }
    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-05 13:15:20

你的问题:

代码语言:javascript
复制
int *numBin = new int[i]; //i is 0, then you add elements to it

一个简单的解决方案,使用std::vector

代码语言:javascript
复制
vector<int> numBin;
...
numBin.push_back(dec%2);

您现在根本不必担心动态内存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31833486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档