/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Hjælp til C
Fra : Michael


Dato : 19-11-07 22:18

Hej

Jeg skal have lavet et program som tæller til 100, og når den når til 50
skal den skrive "Nu er vi halvvejs".

Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at det
sidste.
#include <stdio.h>

int main()

{
int i=1;
while(i<51)
{
printf("%d\n", i);
i=i+1;
}
if(i==51)
printf("%s\n", "Nu er vi halvvejs");




return 0;
}



 
 
Kim Schulz (19-11-2007)
Kommentar
Fra : Kim Schulz


Dato : 19-11-07 22:21

On Mon, 19 Nov 2007 22:17:44 +0100
"Michael" <overblik@hotmail.com> wrote:

> Hej
>
> Jeg skal have lavet et program som tæller til 100, og når den når til
> 50 skal den skrive "Nu er vi halvvejs".
>
> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud
> at det sidste.
> #include <stdio.h>
>
> int main()
>
> {
> int i=1;
> while(i<51)
> {
> printf("%d\n", i);
> i=i+1;
> }
> if(i==51)
> printf("%s\n", "Nu er vi halvvejs");
>
>
>
>
> return 0;
> }
>
>
lyder som en skoleopgave? vil tro de står iblandt de først 20-25 sider
af din undervisningsbog.


--
Kim Schulz | Blog: http://www.schulz.dk/
Email: Kim@schulz.dk | Work: http://www.devteam.dk/
Phone: +45 5190 4262 | Fun : http://www.chilifan.dk/


Michael (19-11-2007)
Kommentar
Fra : Michael


Dato : 19-11-07 22:28

Det er nu ikke en skole opgave, jeg prøver at lære mig selv C sproget, og
har fået fingre i bogen C/C++ grundbog i programmering


"Kim Schulz" <kim@schulz.dk> skrev i en meddelelse
news:20071119222110.7f79abea@laptopia...
On Mon, 19 Nov 2007 22:17:44 +0100
"Michael" <overblik@hotmail.com> wrote:

> Hej
>
> Jeg skal have lavet et program som tæller til 100, og når den når til
> 50 skal den skrive "Nu er vi halvvejs".
>
> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud
> at det sidste.
> #include <stdio.h>
>
> int main()
>
> {
> int i=1;
> while(i<51)
> {
> printf("%d\n", i);
> i=i+1;
> }
> if(i==51)
> printf("%s\n", "Nu er vi halvvejs");
>
>
>
>
> return 0;
> }
>
>
lyder som en skoleopgave? vil tro de står iblandt de først 20-25 sider
af din undervisningsbog.


--
Kim Schulz | Blog: http://www.schulz.dk/
Email: Kim@schulz.dk | Work: http://www.devteam.dk/
Phone: +45 5190 4262 | Fun : http://www.chilifan.dk/



Peter Makholm (19-11-2007)
Kommentar
Fra : Peter Makholm


Dato : 19-11-07 22:32

"Michael" <overblik@hotmail.com> writes:

> #include <stdio.h>
>
> int main()
>
> {
> int i=1;
> while(i<51)
> {
> printf("%d\n", i);
> i=i+1;
> }
> if(i==51)
> printf("%s\n", "Nu er vi halvvejs");

Hvad forventer du at der sker mellem ovenstående linje ...

>
>
>
>

.... og nedenstående?

> return 0;
> }

Ikke meget vel?

N (19-11-2007)
Kommentar
Fra : N


Dato : 19-11-07 22:33

> Jeg skal have lavet et program som tæller til 100, og når den når til 50
> skal den skrive "Nu er vi halvvejs".
>
> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at
> det sidste.

Dette kunne være en måde. Der er mange andre.

#include <stdio.h>

const int max=100;

void main()
{

int i;

for(i=0; i<max; i++)
{
printf("%d\n",i);
if(max/2 == i)
puts("halvvejs");
}
}



Kent Friis (19-11-2007)
Kommentar
Fra : Kent Friis


Dato : 19-11-07 22:50

Den Mon, 19 Nov 2007 22:32:54 +0100 skrev N:
>> Jeg skal have lavet et program som tæller til 100, og når den når til 50
>> skal den skrive "Nu er vi halvvejs".
>>
>> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at
>> det sidste.
>
> Dette kunne være en måde.

Nej.

> void main()

Manden er totalt nybegynder, og så forsøger du at lære ham at gøre
tingene forkert...

DER ER IKKE NOGET DER HEDDER "void main".

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Michael (19-11-2007)
Kommentar
Fra : Michael


Dato : 19-11-07 23:06

Ja, jeg var rimelig lost der hehe

Måske en anden har et bud?


"Kent Friis" <nospam@nospam.invalid> skrev i en meddelelse
news:474204ec$0$90271$14726298@news.sunsite.dk...
> Den Mon, 19 Nov 2007 22:32:54 +0100 skrev N:
>>> Jeg skal have lavet et program som tæller til 100, og når den når til 50
>>> skal den skrive "Nu er vi halvvejs".
>>>
>>> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at
>>> det sidste.
>>
>> Dette kunne være en måde.
>
> Nej.
>
>> void main()
>
> Manden er totalt nybegynder, og så forsøger du at lære ham at gøre
> tingene forkert...
>
> DER ER IKKE NOGET DER HEDDER "void main".
>
> Mvh
> Kent
> --
> "So there I was surrounded by all these scary creatures
> They were even scarier than what Microsoft call features"
> - C64Mafia: Forbidden Forest (Don't Go Walking Slow).



N (19-11-2007)
Kommentar
Fra : N


Dato : 19-11-07 23:11

> DER ER IKKE NOGET DER HEDDER "void main".

Jo i min gamle "C" er der. Ellers brokker den sig pga manglende return



Nej ok, det var lige en hurtig een. Det var for ikke at han skulle have
diverse warnings, når nu han tilsyneladende er ny.

Og hvad pokker, et eller andet sted skal vi jo alle starte.
Og jeg "lærte" faktisk dette tilbage da jeg begyndte at rode med "C" (på
Amiga).

Og ja, der er løbet meget vand i søen siden (Læs: meget er ændret siden, men
jeg er IKKE fulgt med).

Sorry, en anden gang skal jeg nok lade Jer andre svarer. Jeg holder mig
passiv, da jeg er blevet "Obsolete" i C.




Mogens Hansen (20-11-2007)
Kommentar
Fra : Mogens Hansen


Dato : 20-11-07 08:22


"N" <nuller@goj.net> wrote in message
news:474209af$0$2108$edfadb0f@dtext02.news.tele.dk...

[8<8<8<]
> Jo i min gamle "C" er der. Ellers brokker den sig pga manglende return
>
>

C har aldrig tilladt "void main()".
Hvad diverse compilere har tilladt er en anden sag - det har blot ikke noget
med programmeringssproget C at gøre.

--
Venlig hilsen

Mogens Hansen



Kent Friis (20-11-2007)
Kommentar
Fra : Kent Friis


Dato : 20-11-07 17:42

Den Mon, 19 Nov 2007 23:10:30 +0100 skrev N:
>> DER ER IKKE NOGET DER HEDDER "void main".
>
> Jo i min gamle "C" er der. Ellers brokker den sig pga manglende return

Du har ikke overvejet den mulighed at den brokker sig over manglende
return netop *fordi* du mangler en return?

Compileren har jo ret.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Michael Zedeler (19-11-2007)
Kommentar
Fra : Michael Zedeler


Dato : 19-11-07 23:56

Michael wrote:
> Jeg skal have lavet et program som tæller til 100, og når den når til 50
> skal den skrive "Nu er vi halvvejs".
>
> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at det
> sidste.

Du kan finde fejlen hvis du lærer dig selv at indentere din kode.

Læs dette her:

http://en.wikipedia.org/wiki/Indent_style#K.26R_style

Mvh. Michael.

Kent Friis (20-11-2007)
Kommentar
Fra : Kent Friis


Dato : 20-11-07 17:44

Den Mon, 19 Nov 2007 23:56:02 +0100 skrev Michael Zedeler:
> Michael wrote:
>> Jeg skal have lavet et program som tæller til 100, og når den når til 50
>> skal den skrive "Nu er vi halvvejs".
>>
>> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at det
>> sidste.
>
> Du kan finde fejlen hvis du lærer dig selv at indentere din kode.

Nej, prøv at kigge på starten af hans while(). Det var også min første
tanke, men han er slet ikke nået så langt.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Michael Zedeler (20-11-2007)
Kommentar
Fra : Michael Zedeler


Dato : 20-11-07 21:39

Kent Friis wrote:
> Den Mon, 19 Nov 2007 23:56:02 +0100 skrev Michael Zedeler:
>> Michael wrote:
>>> Jeg skal have lavet et program som tæller til 100, og når den når til 50
>>> skal den skrive "Nu er vi halvvejs".
>>>
>>> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at det
>>> sidste.
>> Du kan finde fejlen hvis du lærer dig selv at indentere din kode.
>
> Nej, prøv at kigge på starten af hans while(). Det var også min første
> tanke, men han er slet ikke nået så langt.

Der er selvfølgelig lige det at løkken gennemløbes 50 gange, imens hans
forsøg på at skrive "Nu er vi halvvejs" sker når han når til nummer 51
(ikke ligefrem halvvejs igennem løkken), men det tror jeg ikke er så
vigtigt at pointere. Lige nu ser det ikke ud til at han har forstået den
grundliggende struktur i programmet - så er det for tidligt overhovedet
at snakke om hvilke parametre, der indgår.

Mvh. Michael.

Kent Friis (20-11-2007)
Kommentar
Fra : Kent Friis


Dato : 20-11-07 17:50

Den Mon, 19 Nov 2007 22:17:44 +0100 skrev Michael:
> Hej
>
> Jeg skal have lavet et program som tæller til 100, og når den når til 50
> skal den skrive "Nu er vi halvvejs".
>
> Jeg har skrevet dette, men det er kun til 50 kan ikke lige hitte ud at det
> sidste.
> #include <stdio.h>
>
> int main()
>
> {
> int i=1;
> while(i<51)
> {
> printf("%d\n", i);
> i=i+1;
> }
> if(i==51)
> printf("%s\n", "Nu er vi halvvejs");
>
> return 0;
> }

Når du når ned til if(i==51), ved du allerede at i er 51 (havde den
været mindre, ville while-løkken jo have kørt en gang til.

Der er to muligheder:

Den første er kopiere den øverste blok ned under printf, og simpelthen
tælle videre.

Den anden, som giver halvt så meget kode, og som dit check på if(i==51)
kunne tyde på du har tænkt i den retning, er at ændre din while
til while(i<101), og så flytte if(i==51) printf(...); op indenfor
den inderste { } blok.

Den sidste er den løsning en lærer vil se, cut'n'paste trækker ned
- og med god grund. Det er måske den nemmeste løsning når man skriver
koden, men når man senere er noget op på 10.000 linjer, og skal lave
en lille ændring, så er det ikke videre smart at skulle til at lave
den samme ændring 275 steder i programmet.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Søg
Reklame
Statistik
Spørgsmål : 177422
Tips : 31962
Nyheder : 719565
Indlæg : 6407884
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste