07. februar 2001 - 21:21Der er
14 kommentarer og 2 løsninger
Hvordan ændrer man fortegn?
Heysa!
Jeg har kodet et lille newbie program til at beregne den potentielle energi i et objekt (noget 1-gs fysik pensum sjov)
og programmet ser sådan ud:
#include <iostream.h> #include <string.h>
// Dette program skal beregne den potientelle energi oplagret i et objekt
int masse; int hoejde;
void beregn_joule(int masse, int tyngde, int hoejde) {
long ePot; ePot = masse * tyngde * hoejde; cout << \"Den potientielle energi der er oplagret er \" <<ePot<< \"Joule\" <<endl; }
char objekt[100];
void find_fortegn(void) { int fortegn;
cout << \"Falder objektet eller bliver det hevet opad? (skriv \'1=fald\' eller \'2=hiv\')\" <<endl; cin >> fortegn; if (fortegn = 1) hoejde = -hoejde; else hoejde = +hoejde; }
void main(void) { int tyngde; tyngde = 9,82;
cout << \"Epot beregner BETA 1 by Pacroon\\nDette program skal beregne den potientelle energi oplagret i et objekt.\" <<endl; cout << \"\\nHvilket objekt er der tale om?\" <<endl; cin >> objekt; cout << \"Der er altsaa tale om en \" << objekt << \"\\nHvor meget vejer \" << objekt <<\"en? (i kg)\" <<endl; cin >> masse; cout << objekt << \"en vejer altsaa \" << masse << \"kg\" <<endl; cout << \"Hvor hoej er \" << objekt << \"? (i meter)\" <<endl; cin >> hoejde; cout << objekt << \" er \" << hoejde << \" meter hoej\" <<endl;
// Dette program skal beregne den potientelle energi oplagret i et objekt
int masse; int hoejde;
void beregn_joule(int masse, int tyngde, int hoejde) {
long ePot; ePot = masse * tyngde * hoejde; cout << \"Den potientielle energi der er oplagret er \" <<ePot<< \"Joule\" <<endl; }
char objekt[100];
void find_fortegn(void) { int fortegn;
cout << \"Falder objektet eller bliver det hevet opad? (skriv \'1=fald\' eller \'2=hiv\')\" <<endl; cin >> fortegn; if (fortegn = 1) hoejde = -hoejde; else hoejde = +hoejde; }
void main(void) { int tyngde; tyngde = 9,82;
cout << \"Epot beregner BETA 1 by Pacroon\\nDette program skal beregne den potientelle energi oplagret i et objekt.\" <<endl; cout << \"\\nHvilket objekt er der tale om?\" <<endl; cin >> objekt; cout << \"Der er altsaa tale om en \" << objekt << \"\\nHvor meget vejer \" << objekt <<\"en? (i kg)\" <<endl; cin >> masse; cout << objekt << \"en vejer altsaa \" << masse << \"kg\" <<endl; cout << \"Hvor hoej er \" << objekt << \"? (i meter)\" <<endl; cin >> hoejde; cout << objekt << \" er \" << hoejde << \" meter hoej\" <<endl;
find_fortegn();
beregn_joule(masse, tyngde, hoejde); }
Alt efter om objektet falder eller bliver hevet op ad, skal højden være negativ eller positiv.
Jeg vil gerne have det lavet sådan, at når den har fået værdierne til både masse og højde (ikke tyngde fordi den er konstant) skal den lave hoejde til negativ eller positiv... hvordan gør jeg???
soepro>> Der ændrer du dog kun fortegn hvis \'Tal\' er positiv...!
En gangeoperation er ganske rigtig normalt ret \'dyr\', da den i virkeligheden udfører et antal operationer, fx:
3*4 = 3+3+3+3 (3 operationer)
I dette tilfælde (operator er 1) udføres kun én operation, nemlig Tal = -Tal, og så er vi vist lige vidt?
Desuden tror jeg ikke der er i denne type program, vi skal lede efter optimeringer af så lille format! (måske vi så skulle manipulere fortegnsbitten direkte...)
Nej tyngde er lig med 82. Der står jo ikke 9.82, men 9,82. I C betyder kommaet, at der udregnes to udtryk, nemlig 9 og derefter 82. Og det sidst udregnede er værdien. 9.82 ville have givet en oversætterfejl.
Synes godt om
Slettet bruger
09. februar 2001 - 20:14#14
Hey wow tak for det! Især med float og tyngde værdien, det ANEDE jeg ikke! Derfor at den laver lidt lort i den når den skal komme med facit..!
Synes godt om
Slettet bruger
10. februar 2001 - 11:31#15
Jeg siger tak! Jeg har allerede udvidet det rigtig meget med min viden fra denne post =)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.