"Troels Thomsen" <troels.thomsen@mailteledk> skrev i en meddelelse
news:3f6b0ba0$0$54827$edfadb0f@dread11.news.tele.dk...
>
>
> Hvad er input til funktionen, hvordan skal data komme ud af funktionen ?
>
Glem venligst den først sendte kode, den ikke virker. Det gør denne, men kan
man ikke gøre det noget mere elegant, frem for denne bulldozer-metode?
//--------------------------------------------------------------------------
-
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
//--------------------------------------------------------------------------
-
#pragma argsused
int main(int argc, char* argv[])
{
int bit7=0, bit6=0, bit5=0, bit4=0, bit3=0, bit2=0, bit1=0, bit0=0;
int ind=0;
int a=0, b=0, c=0, d=0, e=0, f=0, g=0;
printf("%s","Indtast heltal mellem 0 og 255!\n");
scanf("%d", &ind);
if (ind >= 128)
{
a = (ind - 128);
bit7 = 1;
}
if ((a >= 64) || (ind >= 64) && (ind < 128))
{
b = (a - 64);
bit6 = 1;
}
else
b=a;
if ((b >= 32) || (ind >= 32) && (ind < 64))
{
c = (b - 32);
bit5 = 1;
}
else
c=b;
if ((c >= 16) || (ind >= 16) && (ind < 32))
{
d = (c - 16);
bit4 = 1;
}
else
d=c;
if ((d >= 8) || (ind >= 8) && (ind < 16))
{
e = (d - 8);
bit3 = 1;
}
else
e=d;
if ((e >= 4) || (ind >= 4) && (ind < 8))
{
f = (e - 4);
bit2 = 1;
}
else
f=e;
if ((f >= 2) || (ind >= 2) && (ind < 4))
{
g = (f - 2);
bit1 = 1;
}
else
g=f;
if ((g == 1) || (ind == 1))
{
bit0 = 1;
}
printf("%d%d%d%d%d%d%d%d\n", bit7, bit6, bit5, bit4, bit3, bit2, bit1,
bit0);
getch();
return 0;
}
//--------------------------------------------------------------------------
-
Mvh.
Anders - nybegynder i C
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com).
Version: 6.0.520 / Virus Database: 318 - Release Date: 18-09-2003