|
| hjælp C++ Fra : Dr.Iskold |
Dato : 11-03-01 14:06 |
|
hej læser!
hvad går der galt her, jeg får 7 af de samme fejl
'=' : cannot convert from 'double (__cdecl *)(double,char)' to 'double'
There is no context in which this conversion is possible
hilsen Dr.Iskold
#include <iostream.h>
#include <conio.h> //getch
//#include <iomanip.h> //setw
#include "textlib.h" //setreal
#include "tstring.h" //char
int main()
{
double taxOwed(double income, char taxStatus); //Prototype
double income;
char taxStatus;
double taxOwed;
cout<<"\nIndtast S for sinkel og M for gift: ";
cin>>taxStatus;
cout<<"Indtast den indkomst der skal betale skat af ialt: ";
cin>>income;
cout<<"\nDen skat der skal betales ialt er på
:"<<setreal(10,2)<<taxOwed<<endl;
double taxOwed(double income, char taxStatus);
{
if(taxStatus == 's' || 'S')
if(income < 20000)
{
(income/100) *15 = taxOwed;
}
else if(income >= 20000 && income <= 50000)
{
((income - 20000) /4) +3000 = taxOwed;
}
else
{
(((income - 50000) /100) *32)+12500 = taxOwed;
}
else
if(income < 35000)
{
(income/100)*15 = taxOwed;
}
else if(income >= 35000 && income <= 70000)
{
((income - 35000) /4) +5250 = taxOwed;
}
else
{
(((income - 70000) /100) *32) +18750 = taxOwed;
}
return taxOwed;
}
return 0;
}
| |
Dr.Iskold (11-03-2001)
| Kommentar Fra : Dr.Iskold |
Dato : 11-03-01 18:33 |
|
har nu fundet næsten alle fejl på nær en
C:\DevStudio\MyProjects\henrik\6.53\6_53.cpp(13) : error C2040: 'taxOwed' :
'double' differs in levels of indirection from 'double (double,char)'
den findes i denne linie double taxOwed;
#include <iostream.h>
#include <conio.h> //getch
//#include <iomanip.h> //setw
#include "textlib.h" //setreal
#include "tstring.h" //char
int main()
{
double taxOwed(double income, char taxStatus); //Prototype
double income;
char taxStatus;
double taxOwed;
cout<<"\nIndtast S for sinkel og M for gift: ";
cin>>taxStatus;
cout<<"Indtast den indkomst der skal betale skat af ialt: ";
cin>>income;
cout<<"\nDen skat der skal betales ialt er på
:"<<setreal(10,2)<<taxOwed<<endl;
double taxOwed(double income, char taxStatus);
{
if(taxStatus == 's' || 'S')
if(income < 20000)
{
taxOwed = (income/100) *15;
}
else if(income >= 20000 && income < 50000)
{
taxOwed = ((income - 20000) /4) +3000;
}
else
{
taxOwed = (((income - 50000) /100) *32) +12500;
}
else
if(income < 35000)
{
taxOwed = (income/100)*15;
}
else if(income >= 35000 && income < 70000)
{
taxOwed = ((income - 35000) /4) +5250;
}
else
{
taxOwed = (((income - 70000) /100) *32) +18750;
}
return taxOwed;
}
return 0;
}
| |
R. A. Larsen (11-03-2001)
| Kommentar Fra : R. A. Larsen |
Dato : 11-03-01 22:14 |
|
"Dr.Iskold" <hep@worldonline.dk> wrote:
>
> har nu fundet næsten alle fejl på nær en
> C:\DevStudio\MyProjects\henrik\6.53\6_53.cpp(13) : error C2040: 'taxOwed' :
> 'double' differs in levels of indirection from 'double (double,char)'
> den findes i denne linie double taxOwed;
Har du tidligere programmeret i Pascal?
Dit problem er, at C/C++ har problemer med at skelne mellem funktionen 'taxOwed' og
variablen 'taxOwed'. Du er nødt til at omdøbe den ene af dem.
Det er heller ikke smart at bruge den globale variabel 'taxOwed' til at gemme en
midlertidig værdi i. Opret i stedet en lokal variabel i funktionen 'taxOwed' til at
gemme værdien i.
MVH, René
--
Using Virtual Access
http://www.vamail.com
| |
Dr.Iskold (11-03-2001)
| Kommentar Fra : Dr.Iskold |
Dato : 11-03-01 22:12 |
|
hej RAL!
havde selv set det, elleres tak, der er stadig problemer med if/else, min
prototype lå oxo forkert.
henrik
#include <iostream.h>
#include <conio.h> //getch
//#include <iomanip.h> //setw
#include "textlib.h" //setreal
#include "tstring.h" //char
double taxOwed(double income, char taxStatus); //Prototype
int main()
{
double income;
char taxStatus;
cout<<"\nIndtast S for sinkel og M for gift: ";
cin>>taxStatus;
cout<<"Indtast den indkomst der skal betale skat af ialt: ";
cin>>income;
cout<<"\nDen skat der skal betales ialt er på
:"<<setreal(10,2)<<taxOwed(income,taxStatus)<<" kr."<<endl;
getch();
return 0;
}
double taxOwed(double income, char taxStatus)
{
double taxOwed;
if(taxStatus == 's' || 'S')
{
if(income < 20000)
taxOwed = ((income/100) *15);
else if(income >= 20000) && (income < 50000)
taxOwed = (((income - 20000) /4) +3000);
else
taxOwed = ((((income - 50000) /100) *32) +12500);
else
if(income < 35000)
taxOwed = ((income/100)*15);
else if(income >= 35000) && (income < 70000)
taxOwed = (((income - 35000) /4) +5250);
else
taxOwed = ((((income - 70000) /100) *32) +18750);
}
return taxOwed;
}
"
| |
Dr.Iskold (11-03-2001)
| Kommentar Fra : Dr.Iskold |
Dato : 11-03-01 23:07 |
|
har fået det til at køre takker
"Dr.Iskold" <hep@worldonline.dk> skrev i en meddelelse
news:EWRq6.7271$A35.535314@news000.worldonline.dk...
> hej RAL!
>
> havde selv set det, elleres tak, der er stadig problemer med if/else, min
> prototype lå oxo forkert.
> henrik
>
>
>
> #include <iostream.h>
> #include <conio.h> //getch
> //#include <iomanip.h> //setw
> #include "textlib.h" //setreal
> #include "tstring.h" //char
>
>
> double taxOwed(double income, char taxStatus); //Prototype
>
> int main()
> {
> double income;
> char taxStatus;
>
> cout<<"\nIndtast S for sinkel og M for gift: ";
> cin>>taxStatus;
> cout<<"Indtast den indkomst der skal betale skat af ialt: ";
> cin>>income;
>
> cout<<"\nDen skat der skal betales ialt er på
> :"<<setreal(10,2)<<taxOwed(income,taxStatus)<<" kr."<<endl;
>
> getch();
> return 0;
> }
>
>
> double taxOwed(double income, char taxStatus)
> {
> double taxOwed;
> if(taxStatus == 's' || 'S')
> {
> if(income < 20000)
>
> taxOwed = ((income/100) *15);
>
> else if(income >= 20000) && (income < 50000)
> taxOwed = (((income - 20000) /4) +3000);
>
> else
> taxOwed = ((((income - 50000) /100) *32) +12500);
>
> else
> if(income < 35000)
> taxOwed = ((income/100)*15);
>
> else if(income >= 35000) && (income < 70000)
> taxOwed = (((income - 35000) /4) +5250);
>
> else
> taxOwed = ((((income - 70000) /100) *32) +18750);
>
> }
> return taxOwed;
> }
>
>
>
> "
>
>
| |
|
|