You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Monday, July 16th 2007, 10:28pm

[D-Beispiel] - 4-Arten-Rechner

Hallo.

Ich würde euch gerne zeigen, wie man einen 4-Wege-Rechner (Hauptrechnungsarten) in D schreibt. Der Code dazu sieht so aus:

D Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import std.stdio;
 
int main() {
 
int eins;
int zwei;
char wahl;
double div;
int erg;
 
writef("Wenn Sie Zahlen addieren wollen, drücken Sie bitte a, wenn Sie Subtrahieren wollen, drücken Sie bitte s! Für Dividieren wählen Sie d, für Multiplizieren m!");
scanf("%s", &wahl);
 
if (wahl == 'a') {
writef ("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &eins);
 
writef ("Bitte geben Sie eine zweite Zahl ein: ");
scanf("%d", &zwei);
 
erg = eins + zwei;
 
writefln ("Die Summe ist %d!",erg);
}
 
 
if (wahl == 's') {
writef ("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &eins);
 
writef ("Bitte geben Sie eine zweite Zahl ein: ");
scanf("%d", &zwei);
 
erg = eins - zwei;
 
writefln ("Die Differenz ist %d!",erg);
}
 
 
if (wahl == 'd') {
writef ("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &eins);
 
writef ("Bitte geben Sie eine zweite Zahl ein: ");
scanf("%d", &zwei);
 
if (zwei == '0') {
writefln("Bitte keine Division durch 0!");
return 0;
}
 
div = cast(double) eins / zwei;
 
writefln ("Der Quotient ist ",div," !");
}
 
 
if (wahl == 'm') {
writef ("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &eins);
 
writef ("Bitte geben Sie eine zweite Zahl ein: ");
scanf("%d", &zwei);
 
erg = eins * zwei;
 
writefln ("Das Produkt ist %d!",erg);
}
 
return 0;
}


Ich hoffe, angehende oder bereits fortgeschrittene D-Coder können damit was anfangen.

Grüße,
Waldi

2

Tuesday, July 17th 2007, 7:08am

bis auf das "writef" siehts genau so aus wenn man das programm in normalem c schreibt...
ich hab mit d bis jetzt noch keine erfahrungen gemacht... könnte mich jemand aufklären und mir sagen welche "unterschiede" es gibt??


thx, truespin

3

Tuesday, July 17th 2007, 7:53am

hm,

ganz ok, obwohl ich von der struktur her eher die "berechnung" in ner switch..case anweisung gebracht hätte. und eben nur einmal den code für die eingabe der zahlen etc.

aber das ist ja jedem selbst überlassen ;)

sag bescheid wenn du ein kompletten rechner fertig hast der mehr als eine rechenoperation und ohne vorherige auswahl der operatoren rechnen kann.

z.b:

eingabe -> 10*5/2
ausgabe -> 25


Mfg da BendIt

4

Tuesday, July 17th 2007, 12:59pm

Werd ich machen :)
Kann aber ein bisschen dauern, ich will mir erst mal alle Grundlagen aneignen, dann erst spiel ich mich mit eigenen Codes...
Beschäftigst du dich auch mit D?

@ truespin:
D benutzt viele Bibliotheken von C/C++. Die beiden Sprachen sind (noch?) sehr ähnlich...

Grüße

5

Tuesday, July 17th 2007, 1:26pm

hab mich jetzt auch mal kurz damit beschäfftig (bei mir is grad nicht so viel los in der arbeit...) und es kommt mir verdammt ähnlich vor...
thx @ waldi


thx, truespin


ps:
ich würde den code aber ne bisschen besser formatieren... mal was einrücken und so stimmt BendIt signatur ja noch xD

6

Tuesday, July 17th 2007, 1:28pm

Ja, werd ich eh machen. Ich finds nur komisch, gestern auf meinem Heim-Laptop hats geklappt (mit der Formatierng) und jetzt auf dem Firmen-PC nicht...

Na, auch bei der Arbeit? Was arbeitest gerade so? :D

7

Tuesday, July 17th 2007, 1:47pm

willst du das wirklich wissen xD
ich schreibe ein c programm zum steuer der hinteren rollos einer neuen fahrzeugtür... über den lin bus
und an was werkelst du gerade rum??


thx, truespin

8

Tuesday, July 17th 2007, 3:58pm

Mit D selbst (noch) nicht aber C/C++/C# eben.

Dachte eig das doch etwas mehr unterschiede zu C aufweisen würde...
das prinzip klang jedenfalls schon recht gut (soweit ich mich erinnern kann)

Wenn ich irgendwann mal die zeit aufbringen kann dann schau ich mir das mal an ;)

aber derzeit haben andere projekte den vorrang...wie immer halt :P

mfg da BendIt

9

Tuesday, July 17th 2007, 6:04pm

Das Stichwort das mir zu D einfällt heißt Garbage Collection... und das ist doch schonmal nicht schlecht ;-)

10

Tuesday, July 17th 2007, 6:08pm

Quoted from ""d0nUt""

Das Stichwort das mir zu D einfällt heißt Garbage Collection... und das ist doch schonmal nicht schlecht ;-)


Genau so ist es. Hab mich ausführlich über D informiert und da kamen die zwei Worte "recht oft" vor... ;)

@ truespin: Ich arbeite in einem Architektenbüro an einem Raumbuch... :D

Social bookmarks