Toon posts:

[C] Functies gebruiken

Pagina: 1
Acties:
  • 434 views

Onderwerpen


Acties:
  • 0Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
beste tweakers,

Ik volg via nu de CS50 course die hier te vinden is : http://cs50.tv/2010/fall/
ik ben nu met problemset1 bezig en ik wil graag gebruik maken van functies alleen ik weet niet of mijn manier van programmeren uberhaupt wel kan.
Het zit zo ik heb 5 variablen die ik één voor één aan een functie wil passen en dat de functie het resultaat op het scherm print. De functie hoeft dus zelf niks terug te geven. Ik heb al verschillende tutorials op intenet af zitten te struinen naar een goed werkend voorbeeld van een functie maar ik krijg alleen maar errors dus wie een idee heeft hoe ik dit moet aanpakken graag.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <cs50.h>
#include <stdio.h>
#include <stdlib.h>

float
display(float input);

int main()
{
    printf("M spotting F:");
    float MF = GetFloat();
    printf("F spotting M:");
    int FM = GetInt();
    printf("F spotting F:");
    int FF = GetInt();
    printf("M spotting M:");
    int MM = GetInt();
    printf("\n");
    printf("Who is spotting whom\n");
    printf("\n");
    printf("M spotting F\n");
    float input = MF;
    display(input);



   float display(float input)
    {
        int result = (int)input * 8; // 1% van de 80 karakters
        int i;
        for ( i = 1; i <= result ; i++ )
            printf("#");
            return 0;

    }
    return 0;
}

And this !! Is to go even further beyond!!!


Acties:
  • 0Henk 'm!

  • NATStudent
  • Registratie: Augustus 2008
  • Laatst online: 01-05 21:43
Vermoedelijk gaat het mis omdat je de functie display binnen de functie main definieert. Zet hem eens buiten de main functie.

Post ook even welke compiler je gebruikt en wat de errors zijn. Het is me ook niet echt duidelijk wat je probeert te doen, en waarom je dat zo doet.

Acties:
  • 0Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Dit is niet best :) dat ik daar de hele tijd overheen gekeken heb !

And this !! Is to go even further beyond!!!


Acties:
  • 0Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Ik wou het op deze manier doen :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <cs50.h>
#include <stdio.h>
#include <stdlib.h>

float
display(float input);

int main()
{
    printf("M spotting F:");
    float MF = GetFloat();
    printf("F spotting M:");
    int FM = GetInt();
    printf("F spotting F:");
    int FF = GetInt();
    printf("M spotting M:");
    int MM = GetInt();
    printf("\n");
    printf("Who is spotting whom\n");
    printf("\n");
    printf("M spotting F\n");
    float input = MF;
    display(input);
    float input = FM;
    display(input);
    float input = FF;
    display(input);
    float input = MM;
    display(input);

    return 0;
}

   float display(float input)
    {
        int result = (int)input * 8; // 1% van de 80 karakters
        int i;
        for ( i = 1; i <= result ; i++ )
            printf("#");
            return 0;

    }


Maar kennelijk mag dit niet aan de error te zien : redefinition of input van gcc
Mijn bedoeling is om zo kort en simpel mogelijk (efficiënt) dingen aan de functie te passen.

And this !! Is to go even further beyond!!!


Acties:
  • 0Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-06 15:57

Matis

Rubber Rocket

De foutmelding zegt letterlijk waar het probleem zit :s

float mag/moet je maar 1 keer voor de variabele zetten.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0Henk 'm!

  • Brian
  • Registratie: Oktober 2006
  • Laatst online: 22-05 21:43
lamko schreef op zondag 05 juni 2011 @ 16:14:
[...]

Maar kennelijk mag dit niet aan de error te zien : redefinition of input van gcc
Mijn bedoeling is om zo kort en simpel mogelijk (efficiënt) dingen aan de functie te passen.
float input = MF;
display(input);
float input = FM;
display(input);
float input = FF;
display(input);
float input = MM;
display(input);

Je defineert "float input" meerdere keren.

Edit: wat Matis zegt.

Acties:
  • 0Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-06 15:57

Matis

Rubber Rocket

Het is ook aan te raden om accolades te gebruiken in forloops en if-statements. Dat gaat je ooit kopzorgen besparen :)
Waarom returned display uberhaupt iets?

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 05-06 01:36
Sorry mensen dat ik niet zo duidelijk was. De fout snapte ik zelf ook dat was het probleem niet :)
Maar hoe zouden jullie bijv. zoiets doen een paar handige tips hoe met functies om te gaan. Misschien dat ik nu alweer te veel vraag voor dit forum, maar ik ben opzoek naar praktische voorbeelden

[Voor 21% gewijzigd door lamko op 05-06-2011 16:57]

And this !! Is to go even further beyond!!!


Acties:
  • 0Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 05-06 10:41

NMe

Quia Ego Sic Dico.

Nee, je bent op zoek naar een goed boek. Praktische voorbeelden heb je geen fluit aan op het moment dat je de absolute basis nog niet snapt. En no offense: die snap je nog niet. ;)

We zijn hier echt niet te beroerd om beginners te helpen, maar het achterliggende probleem hier is toch voornamelijk dat je niet helemaal lijkt te weten waarmee je bezig bent. Je hebt er dan véél meer aan om jezelf eerst de basis eigen te maken dan dat je voor elk wissewasje een nieuwe vraag in dit topic stelt. Ik ga dit topic dan ook sluiten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee