Avatar billede cpn80 Nybegynder
15. november 2005 - 11:44 Der er 7 kommentarer og
1 løsning

En kort hjælp til noget meget sompel c kode

Hejsa.
Jeg sidder og roder med lidt c kode.. Meget simpelt, da jeg kun lige er ved at begynde på det.. og der er lige lidt der driller. Ham jeg sidder og spørger til råds er væk lige de næste par timer, så tænkte at jeg lige ville prøve her..



--------------------------------------

#include<stdio.h>

main()
{

int x = 0;
int max = 0;
int i;
int j;


    printf("Please insert a few numbers\n");
    scanf("%d",x);

    while(max > 100)
    {
extern int calc(int x, int max);   
    }

    i = calc(x);
    j = calc(max);
    printf("x = %d\n", i);
    printf("max = %d\n", j);
    }   




int calc(int x, int max)
{   
    if (x < max)
    {
        printf("This number was too low to store\n");
        return x;
    }
       
    else (x > max);
    {
        max = x;
        return max;
    }

}
   
---------------------------------------------
Jeg leder efter en forklaring på hvor det går galt, og forhåbentlig lidt uddybende info, så jeg også kan lære lidt af det.
På forhånd tak
Avatar billede cpn80 Nybegynder
15. november 2005 - 11:48 #1
er lige til frokost
Avatar billede mollevp Nybegynder
15. november 2005 - 13:03 #2
Kan du ikke komme med en lille forklaring af, hvad koden gerne skulle gøre?
Avatar billede cpn80 Nybegynder
15. november 2005 - 13:18 #3
altså det er bare leg, med koden.. Der er ikke verdens største formål med dem.
Du skriver et tal ind, lagrer det i x, og sammenligner med max. Hvis det er større end max, overskrives med med den værdi. Hvis den er mindre skriver den en besked ud. Dette blir man ved med indtil max er 100... eller, det var ideen ihvertfald
Avatar billede snailwalker Nybegynder
15. november 2005 - 17:16 #4
du siger den skal blive ved indtil max er 100, men du skriver max > 100 altså at max skal være større end 100. Du burde nok også inkrementere max.

Tror det skal være således:

for (int max = 0; max < 100; max++)
calc (x, i);

Og så i stedet for at bruge den der extern kan du bare definere din funktion før main funktionen altså:

#include <stdio.h>

int calc (int x, int max);

int main ()
{...
Avatar billede mollevp Nybegynder
16. november 2005 - 10:44 #5
Jeg har prævet at skrive lidt om på din kode..

#include <stdio.h>

// Værdi x samt en pointer til max
int calc(int x, int max);  // funktions prototype

int main()
{

  int x = 0;
  int max = 0;

 
  // Så længe max er mindre end 100
  while(max < 100)
  {

      printf("Please insert a number\n");
     
      scanf("%d",&x); // scanf tager en adresse, derfor &x
     
      // Calc returnere enten x eller max alt efter hvilken var storst
      max = calc(x, max); 
      printf("x was: %d and max was: %d\n", x, max);

  }

  return 0;





int calc(int x, int max)

    // Hvis max storre eller lig med x
    if (x <= max)
    {
        printf("This number was too low to store\n");
        return max;
    }
    else
    {
        return x;
    }

}
Avatar billede cpn80 Nybegynder
16. november 2005 - 11:01 #6
jamen, det var jo præcis på den måde det skulle virke 8)

Smid et svar, så får du pointene
Avatar billede mollevp Nybegynder
16. november 2005 - 19:06 #7
Se bort fra kommentaren med "// Værdi x samt en pointer til max" der er self. ikke tale om en pointer.. bare en typo..
Avatar billede cpn80 Nybegynder
17. november 2005 - 08:29 #8
ja, kunne heller ik få det til at hænge sammen, men tak for hjælpen hr 8)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester