C taal probleem

J

JoKKeR

Guest
Hoi!

Im gebruik van functie (s) voor aangifte.Dat is de reden im getting samenstellen fout.

Aan de andere kant reden waarom im gebruik van dergelijke programma bouwen is, dat ik graag houden logisch, althans op wiskunde niveau (wetenschappelijke vergelijkingen).Dus zijn er technieken hoe een probleem op te lossen im hebben?Code:

# include <stdio.h>

# include <stdlib.h>

# include <math.h>dubbel L = 59,10 / / breedtedubbele declinatie () / / declinatie 583 539 87

(

double d;

d = declinatie (); / / declinatie ();

dubbele N = 0;N = 100;d = 23,45 * sin (360 / 365 * (284 N));return d;/ / D = declinatie

/ / N = dag nummer een 1 = dag 1)dubbele hour_angle () / / Uur hoek

(

dubbele Al;

Al = altitude_angle ();

dubbel L = L;

dubbele D;

D = declinatie ();

dubbele H = 0;

dubbele Hoogte = 0;H = acos (-1 * (sin (L) * sin (D) - sin (-0,8333 - 0,0347 * (sqrt (Hoogte)))) / (COS (L) * cos (O)));

/ / H = cos-1 [-1 * (sin (L) * sin (D) - sin (-0,8333 - 0,0347 (sqrt (Hoogte)))) / (COS (L) * cos (D))];
/ / Al = Solar hoogte hoek

/ / L = Breedtegraad (negatief voor het zuidelijk halfrond)

/ / D = declinatie (negatief voor het zuidelijk halfrond)

/ / H = uurhoek)dubbele altitude_angle () / / Altidue hoek

(

dubbele Al = 0;

dubbel L = L;

dubbele D;

D = declinatie ();

dubbele H;

H = hour_angle ();/ / sin (Al) = (cos (L) * cos (D) * cos (H)) (SIN (L) * sin (D));

Al = sin ((cos (L) * cos (D) * cos (H)) (SIN (L) * sin (O)));/ / Al = Solar hoogte hoek

/ / L = Breedtegraad (negatief voor het zuidelijk halfrond)

/ / D = declinatie (negatief voor het zuidelijk halfrond)

/ / H = uurhoek)dubbele azimuth_angle ()

(dubbele AZ = 0;

dubbele Al;

Al = altitude_angle ();

dubbel L = L;

dubbele D;

D = declinatie ();
/ / cos (AZ) = (sin (Al) * sin (L) - sin (D)) / (cos (Al) * COS (L));

Az = cos ((sin (Al) * sin (L) - sin (D)) / (cos (Al) * COS (L)));
/ / Az = Solar azimut hoek

/ / Al = Solar hoogte hoek

/ / L = Breedtegraad (negatief voor het zuidelijk halfrond)

/ / D = declinatie (negatief voor het zuidelijk halfrond))

dubbele EOT () / / Vergelijking van de tijd

(

dubbele N = 100;

dubbele B = 0;

dubbele E = 0;B = (360 * (N - 81)) / 365;E = (9,87 * sin (2 * B)) - (7,53 * cos (B)) - (1.5 * sin (B));terugkeer E;/ / N = dag nummer een 1 = dag 1

)
int main ()

(systeem ( "PAUSE");

return 0;

)
 
De eerste functie is recursief, roept hij zelf?Een recursieve functie moet zijn van een beëindiging staat, kan ik niet zien?
Het wordt nog erger!
De functie 'hour_angle ()' gesprekken 'altitude_angle ()', waarin wordt opgeroepen 'hour_angle ()',
dubbele recusion?En ze zowel telefonisch recursieve functie 'declinatie ()'.
Ik wouldnt worden verrast om te zien een wiff van rook ontstaan van de computer die probeert om het programma te draaien.

 
betreffende de volgorde van de functies gebruiken vooruit verklaring:
Code:

# include <stdio.h>

# include <stdlib.h>

# include <math.h>/ / Vooruit-verklaring van functies

dubbele declinatie ();

dubbele hour_angle ();

dubbele altitude_angle ();

dubbele azimuth_angle ();

dubbele EOT ();dubbel L = 59,10 / / breedtedubbele declinatie () / / declinatie 583 539 87

(

double d;

d = declinatie (); / / declinatie ();

dubbele N = 0;N = 100;d = 23,45 * sin (360 / 365 * (284 N));return d;/ / D = declinatie

/ / N = dag nummer een 1 = dag 1).

.

.
 
Dank u voor echt goede antwoorden!

Ik denk dat mijn vaardigheid niveau elementaire manier, moet ik meer ervaring.cmon werkte ik op deze code voor een dag ...Er zijn eigenlijk pone aantal in reacties

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />Ill probeer opnieuw bouwen hele ding, want ik heb niet veel ervaring ...Kan ik wat advies hoe te combineren vele vergelijkingen en hun verbinding met de tijd resolutie effect als ding.

Bedankt!

 
Wat is d = declinatie () te doen, behalve dan dat het programma in een niet-beëindiging van lus en de stack gaan rampaging via programma geheugen totdat u een 'out of memory "boodschap?Ook hoop ik dat je je realiseert dat de C-programma's starten met main (), en niet de eerste die zijn omschreven in de broncode, omdat uw main () doet niets.Het is waarschijnlijk een goede praktijk om alle functies in een bestand een verklaring doen toekomen,
maar maakt de code leesbaarder.Of beter nog, doe ze in een header bestand en #
include zij aan de top van het bestand.

 

Welcome to EDABoard.com

Sponsor

Back
Top