如何使用atoi函数

cookies08 2010-01-19 01:16:37
首先大家别笑话我,我刚接触VC++没一个星期,写了如下代码,但是用户输入非数字的时候会刷屏,考虑的结果是使用atoi转换过来应该能解决,但不知如何实现?还有在while循环里我想插入一个用户接口,当用户输入X的时候程序则退出,如何实现?

谢谢了

#include "windows.h"
#include "IOSTREAM.h"
#include <stdlib.h>


void Calc(float a,char oper,float b)

{

switch (oper)
{
case '+':
{
cout<<a<<oper<<b<<"的结果为:"<<a+b<<endl;
break;

}
case '-':
{
cout<<a<<oper<<b<<"的结果为:"<<a-b<<endl;
break;
}
case '*':
{
cout<<a<<oper<<b<<"的结果为:"<<a*b<<endl;
break;
}
case '/':
{
if (b!=0)
{
cout<<a<<oper<<b<<"的结果为:"<<a/b<<endl;
}
else cout<<"错误,除数不能为0"<<endl;
break;
}
default:
cout<<"请输入正确的数学计算题"<<endl;
break;
}


}
int main()
{
cout<<"欢迎使用计算器,请输入计算题目,例如1+1"<<endl;
cout<<"\n";

float a,b;
char oper;

while(1)
{

cout<<"请输入"<<endl;
cin>>a>>oper>>b;
Calc(a,oper,b);
cout<<"\n";

}


return 0;
}
...全文
704 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsit123 2010-01-20
  • 打赏
  • 举报
回复
ding...
maomaoxiong 2010-01-20
  • 打赏
  • 举报
回复
atof, atoi, _atoi64, atol
Convert strings to double (atof), integer (atoi, _atoi64), or long (atol).

Example

/* ATOF.C: This program shows how numbers stored
* as strings can be converted to numeric values
* using the atof, atoi, and atol functions.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
char *s; double x; int i; long l;

s = " -2309.12E-15"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = "7.8912654773d210"; /* Test of atof */
x = atof( s );
printf( "atof test: ASCII string: %s\tfloat: %e\n", s, x );

s = " -9885 pigs"; /* Test of atoi */
i = atoi( s );
printf( "atoi test: ASCII string: %s\t\tinteger: %d\n", s, i );

s = "98854 dollars"; /* Test of atol */
l = atol( s );
printf( "atol test: ASCII string: %s\t\tlong: %ld\n", s, l );
}


Output

atof test: ASCII string: -2309.12E-15 float: -2.309120e-012
atof test: ASCII string: 7.8912654773d210 float: 7.891265e+210
atoi test: ASCII string: -9885 pigs integer: -9885
atol test: ASCII string: 98854 dollars long: 98854

善用MSDN,呵呵~~
lsvine 2010-01-19
  • 打赏
  • 举报
回复
好好学 加油

问题上面都回答了
哈利路亚1874 2010-01-19
  • 打赏
  • 举报
回复
找个地方直接判断输入的是不是X,然后调用exit(0)就可以了
mcaok 2010-01-19
  • 打赏
  • 举报
回复
int atoi(const char *nptr);
用法
int n;
char *str = "12345.67";
n = atoi(str);
jyh_baoding 2010-01-19
  • 打赏
  • 举报
回复
不错,帮顶,ATOI看参数

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧