C programmering :: Funktioner

Du vil lære at lave funktioner, funktioner er underrutiner (eng. subrutine).

Med funktioner kan du lave programstumper og anvende dem fra et andet sted i programmet. Årsagen til vi anvender funktioner er flere, en af dem er at genbruge og undgå at kode trivialiteter igen og igen, se følgende eksempel uden funktioner med trivialiteterne i.

1 /* moms.c - beregn moms af et beløb */ 2 #include <stdio.h> 3 4 main() 5 { 6 double beloeb; 7 8 beloeb=100.00; 9 printf("Momsen af %10.2f er %10.2f\n",beloeb,beloeb*0.25); 10 beloeb=200.00; 11 printf("Momsen af %10.2f er %10.2f\n",beloeb,beloeb*0.25); 12 beloeb=500.00; 13 printf("Momsen af %10.2f er %10.2f\n",beloeb,beloeb*0.25); 14 }
moms.c
  • indtast programmet eller download og gem på filen moms.c
  • Compilér og kør programmet
# gcc moms.c
# ./a.out
Momsen af 100.00 er 25.00
Momsen af 200.00 er 50.00
Momsen af 500.00 er 125.00
#

og dette omskrevne program der udfører nøjagtig den samme opgave men hvor en funktion anvendes.

1 /* moms2.c - beregn moms af et beløb */ 2 #include <stdio.h> 3 4 void beregn_og_udskriv(double indbeloeb) 5 { 6 printf("Momsen af %10.2f er %10.2f\n",indbeloeb,indbeloeb*0.25); 7 } 8 9 main() 10 { 11 beregn_og_udskriv(100.00); 12 beregn_og_udskriv(200.00); 13 beregn_og_udskriv(500.00); 14 }
moms2.c
  • indtast programmet eller download og gem på filen moms2.c
  • Compilér og kør programmet
# gcc moms2.c
# ./a.out
Momsen af 100.00 er 25.00
Momsen af 200.00 er 50.00
Momsen af 500.00 er 125.00
#

Jeg håber du ser ideen, med funktioner. main bliver mindre og mere overskuelig. Der er fordele ved at vedligeholde et sådant design, hvis momssatsen ændres er der kun ét sted i programmet der skal ændres. En anden grund er at koden bliver mere overskuelig, du bør bryde koden ned i flere funktioner hvis en kodeblok fylder mere end en A4 side (ca. 60 linier).

Hvis en funktion ikke skal returnere værdier, som i eksemplet med momsudregningen bruges typen void, der betyder tom eller intet.

 

Ressourcer C Library opslag The Single UNIX® Specification, Version 2 Copyright © 1997 The Open Group GNU C Library Engelsk, med masser af gode og dybe artikler. Danske søgeord Find selv de bedste danske søgeord til din hjemmeside.
Produkter Bookingsystem
System for reservation af tid for behandlinger, aftaler, lokaler, udstyr, personale. Tilpasset lektionstimer. Udskriver arbejdsplaner og ugeskema for opslag. Statistik. Danmarks bedste pris nu kun kr. 1.695,-
HelpdeskEffektiviser din support-organisation med et Helpdesksystem. Fjern tidrøvere der forhindrer fokus på problemløsning. Lektionsplan Formidling af generelle information og specifikke lektioner fra undervisere til studerende/elever. Medlemssystem Medlemssystem online med administration af medlemskartotek, kontingentbetalinger, flettefiler m.m.
Styr selv Styr selv indholdet på dine hjemmesider med Content Management System.
Citat Erfaring er ikke, hvad mennesker oplever. Det er, hvad mennesker bruger det oplevede til.

Aldous Huxley



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.