c++ - 插入数字后 C++ 崩溃
问题描述
使用个人库在 C++ 中实现一个应用程序,该应用程序根据用户做出的选择来确定一个数字是正数还是负数,或者一个数是否是素数。
因此,我创建了应用程序并且它可以工作,但是每次我插入数字以查看该数字是否为素数时,它都会崩溃。你能帮助我吗?没有任何错误。应用程序:
#include <iostream>
#include "libreria.cpp"
using namespace std;
int s,num, cont=0, resto, k;;
void copyright();
int main()
{
copyright();
cout<<"\n 1) Positive ";
cout<<"\n 2) Prime ";
cout<<"\n 3) Exit ";
cout<<"\n Choose: ";
do
{
cin>>s;
switch (s)
{
case 1:
cout<<"\nInsert the number: ";
cin>>num;
if (sepos(num) == 1)
{
cout<<"\nIl numero "<<num<<" is positive";
}
else
{
cout<<"\nIl numero "<<num<<" is negative";
}
break;
case 2:
cout<<"\nInserisci il numero: ";
cin>>num;
seprimo(num, resto, cont, k);
if (cont == 2)
{
cout<<"\nIl numero "<<num<<" is prime";
}
else
{
cout<<"\nIl numero "<<num<<" isn't prime";
}
break;
}
} while (s!=3);
return 0;
}
这是图书馆:
bool sepos(int numb)
{
if(numb >= 0)
{
return true;
}
else
{
return false;
}
}
int seprimo(int numb, int resto, int cont=0, int k=1)
{
while (k <= numb)
{
resto=numb%k;
if( resto == 0)
{
cont = cont + 1;
}
k = k + 1;
}
return cont;
}
解决方案
在行
resto = numb % k;
k
它将0
导致浮点异常,女巫未处理,因此崩溃。
尝试运行这个:
cout << 5 % 0;
推荐阅读
- vba - 查找要复制的已用范围
- kubernetes - 领事代理加入多集群超时
- excel - 如何在 Excel/VBA 中以标题行作为条件跨行查找?
- node.js - 如何在不缩小的情况下构建 React 的生产版本?
- vuejs2 - VueJS v-for An Array of Key:Values From Store 使用方法
- javascript - CSV Parser 在空值上添加列
- android - Firebase 云消息传递:未找到特定制造商的 ServiceIntent
- python - 无法使用 python 读取原始 cgi 响应
- javascript - R Shiny Dashboard DataTable 列宽
- html - 数字输入不遵循@media 样式