"We are back" « oc.at

c-programmierer da?

Duron 16.01.2002 - 12:30 1560 17
Posts

Duron

Here to stay
Avatar
Registered: Aug 2000
Location: /home
Posts: 3182
Wer könnte mir in ca. 3 Stunden ein C-Programm für meinen Test schreiben?
Würde die aufgabenstellung per pm schicken und das eventuel der jenige den Sourcecode des Programms als .txt Datei anhängen?

Ich könnte mich dann mit demjenigen bei einem six-pack Bier darüber freuen;)

mfg

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
wann ? bis wann ? schicks ma

cy

Duron

Here to stay
Avatar
Registered: Aug 2000
Location: /home
Posts: 3182
von 15:25 - 17:15 ungefähr!
Ich poste es dann da rein, ok?
Falls kein Post kommt hat der Lehrer entweder das i-net gesperrt oder ich kann es selbst!

thx daweil!

mfg

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
*lol* geniale idee.
ich werd online sein ;) :D

Und falls er dich erwischt, sag erm du gibtst dem Test nur etwas Praxisbezug (Teamarbeit und so) :cool:

Duron

Here to stay
Avatar
Registered: Aug 2000
Location: /home
Posts: 3182
Schreiben sie ein C-Programm welches ganze Zahlen die von der Tastatur eingelesen werden auswertet.
Die Eingabe wird mit 0 beendet.
Die Zahlen sollen in dem Wertebereich -100 bis 100 liegen.
Bei grösseren oder kleineren Zahlen Fehlermeldung ausgeben.
Die grösste und kleinste Zahl soll bestimmt werden.
Es soll weiters festgestellt werden ob nur positive, negative oder gemischte Zahlen eingegeben wurden.
Ergebnisse anschliessend ausgeben.

mfg

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
#include <stdio.h>
#include <limits.h>

int main(int argc, char* argv[])
{
int min = INT_MAX, max = INT_MIN, pos = 0, neg = 0, v;
do
{
scanf("%d", &v);
if (v)
{
if (v<-100 || v>100)
printf("Zahl liegt ausserhalb des Wertebereichs\n");
else
{
if (v < min)
min = v;
if (v > max)
max = v;
if (v > 0)
pos = 1;
if (v < 0)
neg = 1;
}

}
} while (v);
if (min != INT_MAX)
{
printf("Minimum: %d, Maximum: %d\n", min, max);
if (pos)
if (neg)
printf("Gemischte Zahlen\n");
else
printf("Nur positive Zahlen\n");
else
printf("Nur negative Zahlen\n");
}
return 0;
}

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Schnell genug? :D

tintifax

Bloody Newbie
Registered: Mar 2001
Location: A
Posts: 2267
und hats funktioniert? ?

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Zitat von Ringding
Schnell genug? :D

zu schnell - wollt grad den gcc anwerfen da hab ich deinen post gesehen :D

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Bin ich eigentlich der einzige, der "0" als Abbruchbedingung bled findet? ich meine was spricht gegen "exit", "done" oder "da kommt nix mehr" :confused: :D

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Na sicher is das bled, aber so steht's in der Angabe. Die einzige richtige Abbruchbedingung ist EOF! :D

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Wenigstens muss man sich dann keine Gedanken über die Definition von "positiven" Zahlen machen, wenn 0 nicht vorkommen kann.

Duron

Here to stay
Avatar
Registered: Aug 2000
Location: /home
Posts: 3182
habbhab vergessen zu schreiben dass es mit unterprogrammen geschrieben werden muss!!!

schnell nochmal ibtte!

thx

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
#include <stdio.h>
#include <limits.h>

void readnumbers (int *min, int *max, int *pos, int *neg)
{
int v;
printf ("Bitte geben Sie Zahlen zwischen 100 und -100 ein.\nEnde mit 0!\n");
do
{
scanf("%d", &v);
if (v)
{
if (v<-100 || v>100)
printf ("Zahl %d liegt ausserhalb des Wertebereichs -100 und 100\n", v);
else
{
if (v < *min)
*min = v;
if (v > *max)
*max = v;
if (v > 0)
*pos = 1;
if (v < 0)
*neg = 1;
}
}
} while (v != 0);
}

void evaluate (int min, int max, int pos, int neg)
{
if (min != INT_MAX)
{
printf("Minimum: %d, Maximum: %d\n", min, max);
if (pos)
if (neg)
printf("Gemischte Zahlen\n");
else
printf("Nur positive Zahlen\n");
else
printf("Nur negative Zahlen\n");
}
else
printf("Es wurde keine Zahl eingegeben\n");
}

int main(int argc, char* argv[])
{
int min = INT_MAX, max = INT_MIN, pos = 0, neg = 0, v;
readnumbers (&min, &max, &pos, &neg);
evaluate (min, max, pos, neg);
return 0;
}

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
Das
, v
in Zeile 49 kannst du löschen!
regards
PHaX
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz