Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  7 1134
Hei, freaks!

Jeg holder på med litt nybegynnerprogrammering i C nå, og har glemt ut hvordan man "lager" user input. Det eneste jeg husker er at det er ett eller annet med scanf(""); Hvordan gjør jeg det med forskjellige variabler?
Prøv ihvertfall å søke litt før du spør oss da. http://stackoverflow.com/questions/1...s-to-use-scanf
Funksjons prototype:

Kode

scanf (const char * format, [...]);
Der "[...]" er argumentene som peker til variablene som dataen skal leses inn til.

Lese en tekst string til variabelen "text":

Kode

char * text;
scanf ( "%s", &text );
EDIT: scanf () funksjonen kommer fra stdio.h header filen, her har du en liste over funksjoner som finnes i stdio.h header filen. http://en.wikipedia.org/wiki/C_file_input/output
Trådstarter
Jeg lurer på en annen ting også: Hvis man har et program som dette for eksempel:

Kode

#include<stdio.h>

int main(int argc, const char *argv[])
{
int tall;
printf("Skriv et tall: ");
scanf("%d\n", &tall);
printf("Tallet er %d");
sleep(5);
return 0;
}
Hvordan kan man få programmet til å starte på nytt med en gang det er ferdig?
Sist endret av TPCG; 10. januar 2013 kl. 19:13.
Cowboy Coder
Sitat av TPCG Vis innlegg
Hvordan kan man få programmet til å starte på nytt med en gang det er ferdig?
Vis hele sitatet...
Wrappe det hele i en uendelig loop?:

Kode

while (1) { ... }
Sitat av TPCG Vis innlegg
Jeg lurer på en annen ting også: Hvis man har et program som dette for eksempel:

Kode

#include<stdio.h>

int main(int argc, const char *argv[])
{
  int tall;
  printf("Skriv et tall: ");
  scanf("%d\n", &tall);
  printf("Tallet er %d");
  sleep(5);
  return 0;
}
Hvordan kan man få programmet til å starte på nytt med en gang det er ferdig?
Vis hele sitatet...

Kode

#include<stdio.h>

int main(int argc, const char *argv[])
{
  int tall;

  while (1)
  {
    printf("Skriv et tall: ");
    scanf("%d\n", &tall);
    printf("Tallet er %d\n", tall);
    sleep(5);
  }

  return 0;
}
EDIT: Denne linjen vil skape errror:

Kode

  printf("Tallet er %d");
Denne skal være:

Kode

  printf("Tallet er %d\n", tall);
EDIT2: Du må også inkludere unistd.h, for å få sleep () funksjonen til å fungere. Hvis du bruker windows, så vet jeg ikkje om unistd.h fungerer, mulig du må finne et annet libary som har sleep funksjon da.
Sist endret av 0xFF; 10. januar 2013 kl. 19:28.
Trådstarter
Sitat av 0xFF Vis innlegg
[code]
EDIT2: Du må også inkludere unistd.h, for å få sleep () funksjonen til å fungere. Hvis du bruker windows, så vet jeg ikkje om unistd.h fungerer, mulig du må finne et annet libary som har sleep funksjon da.
Vis hele sitatet...

Jeg bruker Mac.
Fungerer stdio.h?
Sist endret av TPCG; 10. januar 2013 kl. 19:40.
Sitat av TPCG Vis innlegg
Jeg bruker Mac.
Fungerer stdio.h?
Vis hele sitatet...
Kan si med sikkerhet at du har stdio.h på OSX, mesteparten av platformene som har C kompilator har stdio.h header filen. Men hvis du skal bruke sleep ( ) funksjonen, så finner du ikkje denne i stdio.h filen. Den finnes i blant annet unistd.h header filen. stdio.h står for standard input/output, og inneholder funksjoner som brukes til å behandle, lese eller skrive til filpekere.

Sitat av Wikipedia
In the C and C++ programming languages, unistd.h is the name of the header file that provides access to the POSIX operating system API. It is defined by the POSIX.1 standard, the base of the Single Unix Specification, and should therefore be available in any conforming (or quasi-conforming) operating system/compiler (all official versions of Unix, including Mac OS X, Linux, etc.).
Vis hele sitatet...
Hvis du vil ha oversikt over de forskjellige header filene, så er google din venn.