Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Funktionen in C. Bräuchte dringendst eure Hilfe!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.11.2004, 23:06 Uhr
~cn00b3
Gast


Hallo,

Bei mir sieht der code mal so aus:

C++:
double func1(double x)


{
    
    sum=0.1*x*x + 0.5*x - 20.0;
    round=floor(sum + 0.5);

    return round;
}

double func2(double x)
{

    sum=0.7 + 0.05*x*x*x;
    round=floor(sum + 0.5);
    return round;
}

double func3(double x)
{

    sum=1.0+8.0*sin(x/9.0);
    round=floor(sum + 0.5);
    return round;


Ich habe 3 Funktionen und runde den Wert mit der Formel
round=floor(sum + 0.5);

Da die Formel gleich ist möchte ich alle 3 Funktionen in dieser zusammenfassen. nur wie mach ich das? Also so würd ich mir das vorstellen

C++:
double func1, func2, func3 (double x)
round=floor(sum + 0.5);



aber das geht ja so nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.11.2004, 00:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das geht gar nicht...
du könntest höchstens das runden aus der funktion herausnehmen und nach der rechnung runden... oder du übergibts der funktoin noch eine zweite variable die festlegt was mit dem x zu tun ist...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.11.2004, 00:48 Uhr
Hans
Library Walker
(Operator)


Hi,

Ich hab mir mal erlaubt, ein paar änderungen vorzunehmen:

C++:
double func1(double x)
{
    double sum; // Datentyp deklarieren, sonst wird der Compiler böse ;-)  

    sum=0.1*x*x + 0.5*x - 20.0;
    return sum;
}

double func2(double x)
{
    /* Oder, wenn Du Variablen sparen willst, mach es gleich so: */
    return (0.7 + 0.05*x*x*x);
}

double func3(double x)
{
    // Oder in C++ manier so:
    double sum=1.0+8.0*sin(x/9.0);
    return sum;
}


Das sind die Funktionen, der Aufruf muss dann immer so erfolgen:

C++:
    double sum, x;
//...
    sum = func1(x);
    round=floor(sum + 0.5);

/* oder so: */
   round=floor(func2(x) + .5);



Zitat:

Da die Formel gleich ist möchte ich alle 3 Funktionen in dieser zusammen fassen. nur wie mach ich das?

Nun, dazu hab ich Dir jetzt ein paar Varianten vorgestellt. Was Du davon am besten geeignet findest, das nimmst Du.

Hans

Bearbeitung:

Mist, da war der Windalf schneller...

--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 11.11.2004 um 00:53 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: