Kode spørgsmål

Tags:    c++

<< < 12 > >>
Hej, har et lille problem med mig program

Fold kodeboks ind/udKode 


umiddelbart har jeg fundet ud af problemet er p4 = p4 + p5;.. eller i p5 udregningen med at den ikke udregner.
Har i nogen bud?

På forhånd tak.




Indlæg senest redigeret d. 09.01.2008 21:48 af Bruger #7638
19 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg har ingen idé om hvad dala eller p2 er på det sted i koden, eller hvad koden skal gøre.

Måske skulle du prøve at skrive dem ud for at se om de indeholder det du forventer.


p2 er en indtastning som angiver et skæringspunkt på en x akse..

dala, den er lidt halv svær at forklare, men den gør sådan at
Fold kodeboks ind/udKode 


den tager p1 det første skæringspunkt, som "nulpunktet" og derved skal den gå 0.000001 op til p8.

men dala bliver så også brugt i en udregning samme tid, så hver gang den går 0.000001 op, laver den en udregning som så bliver lagret i p4, og næste omgang gør den det samme, men bare med et andet dala da den er gået 0.000001 op, det ligges til det gamle resultat i p4.



Skal lige notere at det helt korrekt skal være if(abs(dala-p1) < epsilon)


det er bare et problem, hvis jeg laver abs, vil den have det i int, det gør jo så jeg ikke kan have komma tal. kan ikke kompilere den uden i int nærmere sagt.



Skal lige notere at det helt korrekt skal være if(abs(dala-p1) < epsilon)


det er bare et problem, hvis jeg laver abs, vil den have det i int, det gør jo så jeg ikke kan have komma tal. kan ikke kompilere den uden i int nærmerej sagt.


Ja der ogsaa rigtigt. Du skal bruge fabs i stedet.



Skal lige notere at det helt korrekt skal være if(abs(dala-p1) < epsilon)


det er bare et problem, hvis jeg laver abs, vil den have det i int, det gør jo så jeg ikke kan have komma tal. kan ikke kompilere den uden i int nærmerej sagt.


Ja der ogsaa rigtigt. Du skal bruge fabs i stedet.


if(fabs(dala) < epsilon)

den skal være uden p1 :), men der kommer ikke noget resultat ud på "skærmen"... hmm



nej den skal ikke vare uden p1. If(fabs(dal-p1) mindre end epsilon).



nej den skal ikke vare uden p1. If(fabs(dal-p1) mindre end epsilon).


Fold kodeboks ind/udKode 
Sådan ser den ud lige nu... men får bare nogle mærkelige resultater :'( nogle tal i e-008 og 7..



Ieet har ret. Du burde omstrukturere din kode. Lige nu er det umuligt for os at se hvad de enkelte dele gør, da du bare har en stor blok kode med en masse gotos.

Brug i stedet nogle funktioner for de enkelte dele og kald dem. Og kommenterer de enkelte dele af koden. I sin nuværende form er det ikke let at følge programmets flow.



er det mig eller vil koden ikke blive meget mere overskuelig, hvis man valgte at bruge vectors eller arrays.
og så nogle switch statements



Ved switch er man naturligvis nødt til at bruge break. Men alle andre steder er break og dens fætter continue, en uskik, fordi det bryder med det naturlige program flow, fordi det gør koden svær at læse og fordi de er skyld i mange fejl.
Der findes langt bedre og mere elegante måder at afbryde en loop på.



<< < 12 > >>
t