Gå til innhold

Hjelp! Hva gjør jeg feil?


Anbefalte innlegg

Hei alle sammen, jeg er som dere alle vell har vært en gang i tiden, en nybegynner i programering.

 

Jeg satt og fikla med et lite program der jeg ville legge inn et tall som skal telles ned til 0. men det virket ikke helt. er det noen som kunne se over programmet og fortelle meg hva det er jeg har gjort feil, og evt. hva jeg kan gjøre bedre, eller gjøre for og bli en bedre programerer?

 

blir veldig glad for all respons:)

 

#include <stdio.h>

#define stop 0

 

int counter;

int startpoint;

 

main(void)

{

printf("\n=======count program==========\n");

printf("Type eny positv number and lock watts happends\n");

scanf("%d",startpoint);

 

counter = startpoint;

while(counter >= stop)

{

printf("%d\n", counter);

counter--;

}

}

 

tusen takk;)

Lenke til kommentar
Videoannonse
Annonse

Du burde bruke en for løkke istedet for en while løkke, ikke fordi det er noen stor forskjell i funksjon, men fordi hensikten med koden blir klarere.

 

Men feilen du gjør her er en ganske enkel feil å gjøre.

I scanf gir du bare verdien i funksjonen til scanf, istedet for addressen.

 

Så legg til en & foran startpoint and you're set.

 

For løkke:

scanf("%d", &startpoint);
for(count = startpoint; counter >= stop; counter--)
 printf("%d\n", counter);

 

Vær også obs på at det ikke er lov å skrive en funksjon som har en implisitt datatype i C++; det er lov i C, og den vil være int hvis du ikke spesifiserer noe annet.

Skriv derfor heller int main() fremfor bare main()

Dette gjør at programmet vil kunne kompilere uten problemer i C++ også.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...