[C] Functies gebruiken

Pagina: 1
Acties:
  • 492 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
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:
  • 0 Henk 'm!

  • NATStudent
  • Registratie: Augustus 2008
  • Laatst online: 14-08 13:46
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:
  • 0 Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
Dit is niet best :) dat ik daar de hele tijd overheen gekeken heb !

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


Acties:
  • 0 Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
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:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 00:16

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:
  • 0 Henk 'm!

  • Brian
  • Registratie: Oktober 2006
  • Laatst online: 05-08 14:09
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:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 00:16

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:
  • 0 Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
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:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

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.