简易计算器-编译出错
以下程序是一个简易计算器,编译时一直通不过。
编译时老是提示:Permission denied ld returned 1 exit status
我用的是dev-c++编译器, 希望大家帮我看看是什么原因????
#include<iostream>
#include<stdlib.h> //头文件用来支持exit()
#include<stdio.h> //头文件用来支持flush()
using namespace std;
int main()
{
float getData(void);
void printResult(float num1, float num2, float result, int option);
int getOption(void);
float calc(int option, float num1, float num2);
int option;
float num1, num2, result;
while((option=getOption())!=5)
{
num1=getData();
num2=getData();
result=calc(option, num1, num2);
printResult(num1, num2, result, option);
cin.sync();
//flush(stdin); //清除输入缓冲区
}
cout<<"\n谢谢使用这个程序!"<<endl;
system("pause");
return 0;
}
int getOption(void)
{
int option;
cout<<"\n";
cout<<"\n\t*****************";
cout<<"\n\t* 菜单 *";
cout<<"\n\t* *";
cout<<"\n\t* 1.加法 *";
cout<<"\n\t* 2.减法 *";
cout<<"\n\t* 3.乘法 *";
cout<<"\n\t* 4.除法 *";
cout<<"\n\t* 5.结束程序 *";
cout<<"\n\t* *";
cout<<"\n\t*****************";
cout<<"\n\n请输入你的选择然后按下回车键";
cin>>option;
return option;
}
float getData(void)
{ float data;
cout<<"\n输入一个值:";
cin>>data;
return data;
}
float calc(int option, float num1, float num2)
{
float add(float num1, float num2);
float sub(float num1, float num2);
float mul(float num1, float num2);
float dvd(float num1, float num2);
float result;
switch (option)
{
case 1: result=add(num1, num2);
break;
case 2: result=sub(num1, num2);
break;
case 3: result=mul(num1, num2);
break;
case 4: if(num2==0.0)
{
cout<<"\n\a\a错误计算:";
cout<<"分母为零***"<<endl;
exit(1);
}
else
result=dvd(num1, num2);
break;
default: cout<<"\a错误计算选择"<<endl;
exit(1);
}
return result;
}
float add(float num1, float num2)
{return (num1+num2);}
float sub(float num1, float num2)
{return (num1-num2);}
float mul(float num1, float num2)
{return (num1*num2);}
float dvd(float num1, float num2)
{return (num1/num2);}
void printResult(float num1, float num2, float res, int option)
{
cout<<endl<<num1;
switch(option)
{
case 1: cout<<"+"; break;
case 2: cout<<"-"; break;
case 3: cout<<"*"; break;
case 4: cout<<"/"; break;
}
cout<<num2<<"="<<res<<endl;
return;
}
#include<iostream>
#include<stdlib.h> //头文件用来支持exit()
#include<stdio.h> //头文件用来支持flush()
using namespace std;
int main()
{
float getData(void);
void printResult(float num1, float num2, float result, int option);
int getOption(void);
float calc(int option, float num1, float num2);
int option;
float num1, num2, result;
while((option=getOption())!=5)
{
num1=getData();
num2=getData();
result=calc(option, num1, num2);
printResult(num1, num2, result, option);
cin.sync();
//flush(stdin); //清除输入缓冲区
}
cout<<"\n谢谢使用这个程序!"<<endl;
system("pause");
return 0;
}
int getOption(void)
{
int option;
cout<<"\n";
cout<<"\n\t*****************";
cout<<"\n\t* 菜单 *";
cout<<"\n\t* *";
cout<<"\n\t* 1.加法 *";
cout<<"\n\t* 2.减法 *";
cout<<"\n\t* 3.乘法 *";
cout<<"\n\t* 4.除法 *";
cout<<"\n\t* 5.结束程序 *";
cout<<"\n\t* *";
cout<<"\n\t*****************";
cout<<"\n\n请输入你的选择然后按下回车键";
cin>>option;
return option;
}
float getData(void)
{ float data;
cout<<"\n输入一个值:";
cin>>data;
return data;
}
float calc(int option, float num1, float num2)
{
float add(float num1, float num2);
float sub(float num1, float num2);
float mul(float num1, float num2);
float dvd(float num1, float num2);
float result;
switch (option)
{
case 1: result=add(num1, num2);
break;
case 2: result=sub(num1, num2);
break;
case 3: result=mul(num1, num2);
break;
case 4: if(num2==0.0)
{
cout<<"\n\a\a错误计算:";
cout<<"分母为零***"<<endl;
exit(1);
}
else
result=dvd(num1, num2);
break;
default: cout<<"\a错误计算选择"<<endl;
exit(1);
}
return result;
}
float add(float num1, float num2)
{return (num1+num2);}
float sub(float num1, float num2)
{return (num1-num2);}
float mul(float num1, float num2)
{return (num1*num2);}
float dvd(float num1, float num2)
{return (num1/num2);}
void printResult(float num1, float num2, float res, int option)
{
cout<<endl<<num1;
switch(option)
{
case 1: cout<<"+"; break;
case 2: cout<<"-"; break;
case 3: cout<<"*"; break;
case 4: cout<<"/"; break;
}
cout<<num2<<"="<<res<<endl;
return;
}
刚开始运行,是可以运行的,出现了上面那个对话框后,就老报错。
用vs的时候 最好关闭相关杀毒软件和防火墙