Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: funktiot

Sivun loppuun

mrkebab [09.09.2003 17:46:52]

#

Terve.

Voisiko joku kommentoida nämä koodin pätkät tai siis kertoa että mitä milläkin rivillä tapahtuu kun mulle ei tuo funktioiden käyttö oikein aukene?.

/* Ohjelma laskee funktiota käyttämällä */
/* vastuksen ja tehon, kun jännite ja   */
/* virta annetaan funktiolle arvopara-  */
/* metreina. Lasketut vastus ja teho    */
/* välitetään pääfunktiolle muuttuja-   */
/* parametrien kautta			*/

#include <stdio.h>

void laske_vastus_teho(float u, float i, float *r, float *p);

void main(void)
{
    float jannite,virta,vastus,teho;

    jannite = 16.5;
    virta = 4.5;

    laske_vastus_teho(jannite,virta,&vastus,&teho);

    printf("\nVastus = %8.2f ohmia",vastus);
    printf("\nTeho = %8.2f wattia", teho);
}

void laske_vastus_teho(float u,float i,float *r,float *p)
{
    *r = u/i;
    *p = u*i;
}

arcatan [09.09.2003 19:18:43]

#

Toimiikohan tämä? Ei ole sen näköinen. En uskalla kommentoida, jos se ei ole toimivaa koodia.

mrkebab [09.09.2003 20:12:52]

#

Juu toimii tuo. Laittaa vain getch(); tuohon printf:n alle niin näkyy tuloksetkin.

thefox [09.09.2003 22:18:26]

#

Kooditagit!!

#include <stdio.h>

void laske_vastus_teho(float u, float i, float *r, float *p); /* funktion prototyyppi */

void main(void)
{
  float jannite,virta,vastus,teho;

  jannite = 16.5;
  virta = 4.5;

  /* annetaan funktiolle parametriksi jannite ja virta
     perus-flotareina, ja vastus ja teho osoittimina */
  laske_vastus_teho(jannite,virta,&vastus,&teho);

  printf("\nVastus = %8.2f ohmia",vastus);
  printf("\nTeho = %8.2f wattia", teho);
}

void laske_vastus_teho(float u,float i,float *r,float *p)
{
  /* lasketaan u/i ja u*i ja tökitään nämä "paluuarvot"
     osoittimien osoittamiin muistipaikkoihin */
  *r = u/i;
  *p = u*i;
}

edit: Laaksonen, jos luet tämän niin kooditagi bugaa.

Antti Laaksonen [10.09.2003 17:53:02]

#

Nyt kooditagin bugin #572 pitäisi olla korjattu...

arcatan [10.09.2003 17:59:52]

#

Antakaa nyt anteeksi offtopikkini, mutta oliko kyseessä oikeasti 572. bugi kooditageissa?

Antti Laaksonen [10.09.2003 19:56:57]

#

No 572 on (onneksi) kuvaannollinen ilmaus, oikeasti kooditagia on täytynyt paikata "vain" kymmenkunta kertaa.

mrkebab [11.09.2003 18:41:24]

#

Elikkäs meneekö näiden

lainaus:

*r = u/i;
*p = u*i;

sisältöoperaattoreiden arvot

tänne
laske_vastus_teho(jannite,virta,

lainaus:

&vastus,&teho

); osoitinoperaattoreiden viittaamiin muuttujiin?

Ja sen jälkeen tässä

lainaus:

printf("\nVastus = %8.2f ohmia",vastus);
printf("\nTeho = %8.2f wattia", teho);

vastus ja tehon on &vastus ja &teho sisältö??

Taisi tulla "hiukan" sekava kysymys, mutta kun ei tahdo upota tyhmään päähän.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta