首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

简易计算器-编译失误

2013-09-14 
简易计算器-编译出错以下程序是一个简易计算器,编译时一直通不过。编译时老是提示:Permission deniedld ret

简易计算器-编译出错
以下程序是一个简易计算器,编译时一直通不过。
编译时老是提示: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的时候 最好关闭相关杀毒软件和防火墙

热点排行