C++编程:main函数带命令行参数的使用
假设程序编译后生成的可执行文件为mycal.exe.在命令行提示符下,通过在windows开始菜单执行cmd命令,出现:c:\>,键入mycal+100200运行的结果为...
假设程序编译后生成的可执行文件为mycal.exe. 在命令行提示符下,通过在windows开始菜单执行cmd命令,出现:c:\>,键入mycal + 100 200 运行的结果为 300;键入mycal * 100 200 运行的结果为20000 等。
(1)要求生成的计算器能做+、-、*、/ 四种运算。
要求定义和调用函数int max(int a,int b);找出并返回a,b中较大的数
(2)做除法运算的时候要求判断除数是否为零。
为什么我写的代码能在C++中运行,却不能通过在windows开始菜单执行cmd命令进行操作?????
#include<iostream>
using namespace std;
double max(double a,double b)
{
return a>b?a:b;
}
int main(int argc,char *argv[])
{
double c,d;
char e;
cin>>e>>c>>d;
cout<<"较大的数是:"<<max(c,d)<<endl;
double result;
switch(e)
{
case '+':
result=c+d;
cout<<result<<endl;
break;
case'-':
result=c-d;
cout<<result<<endl;
break;
case'*':
result=c*d;
cout<<result<<endl;
break;
case'/':
if(d==0)
{
cout<<"错误!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
break;
}
else
{
result=c/d;
cout<<result<<endl;
break;
}
default:
cout<<"错误"<<endl;
}
return 0;
} 展开
(1)要求生成的计算器能做+、-、*、/ 四种运算。
要求定义和调用函数int max(int a,int b);找出并返回a,b中较大的数
(2)做除法运算的时候要求判断除数是否为零。
为什么我写的代码能在C++中运行,却不能通过在windows开始菜单执行cmd命令进行操作?????
#include<iostream>
using namespace std;
double max(double a,double b)
{
return a>b?a:b;
}
int main(int argc,char *argv[])
{
double c,d;
char e;
cin>>e>>c>>d;
cout<<"较大的数是:"<<max(c,d)<<endl;
double result;
switch(e)
{
case '+':
result=c+d;
cout<<result<<endl;
break;
case'-':
result=c-d;
cout<<result<<endl;
break;
case'*':
result=c*d;
cout<<result<<endl;
break;
case'/':
if(d==0)
{
cout<<"错误!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
break;
}
else
{
result=c/d;
cout<<result<<endl;
break;
}
default:
cout<<"错误"<<endl;
}
return 0;
} 展开
3个回答
展开全部
应该是先输入mycal(注意正确路径)回车运行后再输入+ 100 200
而通过命令行输入的参数在 argv[][]数组中。
比如输入命令行是mycal + 100 200,那么 argv[1]="+" argv[2]="100" argv[3] = "200"
而且都是字符串,要先转换成数值。
而通过命令行输入的参数在 argv[][]数组中。
比如输入命令行是mycal + 100 200,那么 argv[1]="+" argv[2]="100" argv[3] = "200"
而且都是字符串,要先转换成数值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询