PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hall of fame



zao
29.09.2007, 09:16
Hier werde ich die Gewinner der enzelnen Wettewerbe eintragen.

Der September Wettbewerb

Ich möchte hier noch etwas los werden, ich war wirklich enttäuscht, dass sich soviele angemeldet haben, sich dann nicht abgemeldet haben und dann auch nichts abgegeben haben. Teilweise bin ich Leuten hinterher gelaufen um an die sources zu kommen, das war ein Fehler. Vielleicht habe ich noch einen Fehler gemacht, dass ich kein festes Datum genannt habe, sondern nur in genau 3 wochen gesagt habe, das werde ich beim nächsten mal anders machen.

Abgegeben haben

c4pone
cen
Chris K.
Viper.At
Gaara

Der Gewinner ist c4pone
....

er hat in meinen Augen den besten Funktionsumfang, und der Rechner ist auch vom visuellen her top.


Hier ist der Gewinnersource

(an die andern Teilnehmer, bitte uppt eure sources und posted die links hier.)



#include <iostream>

#include <math.h>

using namespace std;



int main()

{

char i;

int eingabe = -1;

long double zahl1,zahl2;



if (eingabe !=0)

{

do{

system("CLS");

cout << "\n\t <--------Taschenrechner------->"<< endl;

cout << "\n\t 0.Programm beenden <0> ";

cout << "\n\t 1.Addieren <1> ";

cout << "\n\t 2.Subtrahieren <2> " ;

cout << "\n\t 3.Multiplizieren <3> ";

cout << "\n\t 4.Dividieren <4> ";

cout << "\n\t 5.Potenz <5> ";

cout << "\n\t 6.Wurzel <6> ";

cout << "\n\t <---Copyright-by-C4ponnEEee--->";

cout << endl;

cout << "\n\t Auswahl : ";

cin >> eingabe;







switch(eingabe)

{

case 1: cout << "\n\t Geben sie Zahl eins ein : ";

cin >> zahl1;

cout << "\n\t Geben sie Zahl zwei ein : ";

cin >> zahl2;

cout << "\n\t Addition : ";

cout << zahl1 << "+" << zahl2 << " = " << zahl1+zahl2;

break;

case 2: cout << "\n\t Geben sie Zahl eins ein : ";

cin >> zahl1;

cout << "\n\t Geben sie Zahl zwei ein : ";

cin >> zahl2;

cout << "\n\t Subtraktion : ";

cout << zahl1 << "-" << zahl2 << " = " << zahl1-zahl2;

break;

case 3: cout << cout << "\n\t Geben sie Zahl eins ein : ";

cin >> zahl1;

cout << "\n\t Geben sie Zahl zwei ein : ";

cin >> zahl2;

cout << "\n\t Multiplikation : ";

cout << zahl1 << "*" << zahl2 << "=" << zahl1*zahl2;

break;

case 4: cout << "\n\t Geben sie Zahl eins ein : ";

cin >> zahl1;

cout << "\n\t Geben sie Zahl zwei ein : ";

cin >> zahl2;

cout << "\n\t Division : ";

cout << zahl1 << ":" << zahl2 << "=" << zahl1/zahl2;

break;



case 5: cout << "\n\t Geben sie eine Zahl ein : ";

cin >> zahl1;

cout << "\n\t " << zahl1 << " zum quadrat ist = " << zahl1*zahl1 << endl;

break;

case 6: cout << "\n\t Geben sie eine Zahl ein : ";

cin >> zahl1;

cout << "\n\t Die Wurzel von " << zahl1 << " = " << sqrt(zahl1) << endl;

break;

case 0: cout << "\n Programm wird beendet . . . ";

break;



default: cout << endl;

cout <<"\a\n\t Ungueltige Eingabe" << endl;

break;

}//ende von switch

if(eingabe !=0)

{

cout << endl;

cout << endl;

cout << "\n\t Wollen Sie nochmal Rechnen? (j/n)" << endl;

cout << "\n\t Antwort: ";

cin >> i;

} //ende von if

}//ende von do

while (i == 'j');

cin.get(); cin.get();

return 0;

}//ende von if



return 0;

}//ende von main


Die Rechner waren alle sehr ähnlich, deshalb war es sehr schwer einen Gewinner zu finden, außer der Rechner von Gaara, er wollte es wirklich professionel machen was ihm auch teilweise gelungen ist, aber es zog leider auch ein paar nachteile mit sich.
Noch etwas um eine ungültige eingabe abzufangen benutzt try und catch, ich habe keinen rechner gesehen der sich bei einer falschen eingabe nicht aufhängte oder abschmierte.


mfg

zao

http://www.wer-kennt-wen.de/person.php?id=vgyi443d

Gaara
29.09.2007, 13:26
so hier mal mein source+exe

is 100% clean da ich nicht mit trojanern spiele.

is im großen und ganzen nix besonderes und die variabel benennung is unsauber ich weis =D. hab das ganze in einer nacht gemacht und war auch total außer übung, mit funktionen wäre das um einiges besser gewesen. trotz allem funzt er einwandfrei und sieht nicht schlecht aus =P

man kann ihn nicht einfach öffnen, man muss ihn per cmd öffnen das heist per cd in den ordner switchen in dem er sich befindet und dann z.b. "rechner.exe + 10 10 10 10 10 10" eingeben, um alle befehle zu sehen einfach "rechner.exe" eingeben.

http://rapidshare.com/files/59062133/Gaaras_rechner_source.rar.html

Viper.aT
29.09.2007, 14:31
Hier mein Souce + .exe
http://lix.in/8f824d
EDIT: GZ an c4pone^^

c4pone
29.09.2007, 15:40
juhu ich hab gewonne :D , das glück ist mit den dummen^^ , aber kannste vielleicht nen beispiel machen wie man try und catch benutzt ?

Sens0r
29.09.2007, 22:28
lol?


try
{
//...mein code
}
catch(Exception e) // für alle exceptions, kann aber auch angepasst werden
{
//...mein code falls eine Exception eointritt
//Schlechte coder schreiben hier exit(1) hin, _SEHR_ schlechter Stil
}

Anstatt von "Exception e" kann man auch die genaue Exception hinschreiben die man Catchen will, so zB IOException, was es dann möglichmacht bei verschidenen Exceptions anders zu reagieren...

Alles klar? Sollte eigentlich jedem Coder klar sein...

mfg
Sens0r

BiTV
30.09.2007, 10:16
Herzlichen GLückwunsch!
Kannst du den Rechner mal uppen, ich habe im moment kein compiler drauf.
Danke.

Citystar
30.09.2007, 11:00
mom, ich compilier ihn grad und uppe ihn dann

edit//

http://rapidshare.com/files/59256743/Taschenrechner_by_C4pone.exe.html

100% clean und so :roll:

errox
05.10.2007, 22:02
Ich hätt gewonnen aber ich spaßt hab Tischtennis gespilet und trozdem verloren -.-

Ich freu mich auf den nächsten wettbewerb :)

The Desert
08.10.2007, 22:24
sagen sie alle xD
naja ich hatte mich zu sehr aufs menü konzentriert was dann aber auch bombe aussah xD und dann den termin verpennt und en source verschlampt xD meiner konte add/sub/multi/div standard eben und wurzel / quadrat / würfel alle möglichen formen ich wollte eig noch so einbauen das ers ausgibt wie mans in der schule brauch :P aber das hab ich dann wohl verpennt XP

zao
11.11.2007, 15:23
Gewinner der 2. C++ Wettbewerbs ist/sind f0gx und Jack McRIDER

Beide haben wirklich sehr schöne Programme abgeliefert. Ich bitte euch diese noch hier zu uppen und vlt noch etwas dazu zu sagen.

mfg

Zao

l0dsb
11.11.2007, 18:11
So, erst einmal mein Source, inklusive der bereits kompilierten Dateien: SendSpace-Mirror (http://www.sendspace.com/file/8ud4fi).

.oaz-tsetnoC-++C-tpyrCf tsi trowssaP

Ich paste hier einfach mal die ReadMe:



fCrypt 1.0 for free-hack.com - Simple Encryption Utility by f0Gx


Mithilfe von fCrypt können Textdateien mit persönlichem Inhalt
wie z.B. Passwörtern schnell und einfach verschlüsselt werden.

Das Programm besitzt ein übersichtliches grafisches Interface.
Nach drei Schritten befindet sich die verschlüsselte Datei auf
Ihrer Festplatte! Die verschlüsselte Datei wird innerhalb von
einer ausführbaren Datei gespeichert.

So benötigt der Benutzer, der die Datei entschlüsseln möchte,
kein weiteres Programm als die ausführbare Datei, die er
sowieso schon hat (Ausnahme beim PlugIn-Support).

Desweiteren ist das Interface dieser ausführbaren Datei noch
einmal simpler gehalten, als das des Hauptprogramms. So sollte
jeder in der Lage sein, ihre verschlüsselten Texte (natürlich
nur in Kenntniss des richtigen Passwortes) zu entschlüsseln.

Die einzigste Ausnahme bildet der PlugIn-Support: Die DLL mit
dem Algorithmus muss mitgeliefert werden.

Achtung: PlugIns werden beim Ent- und Verschlüsseln natürlich
ausgeführt, achten Sie also darauf, dass sie diese nur aus
vertrauenswürdigen Quellen herunterladen!

Features:

- Simples, grafisches Interface für Hauptprogramm und
verschlüsseltes File.

- Instance Limitation - Hauptprogramm und die erzeugten
Programme überprüfen, ob sie schon ausgeführt werden.

- Möglichst klein gehaltener Stub (10 Kilobyte).

- Hauptprogramm ebenfalls sehr klein (~100 Kilobyte).

- Passwortlänge bis zu 250 Zeichen.

- Professionelles Desing durch Unterstützung von
Themes unter Windows XP.

- PlugIn-Support. Sie können den Verschlüsselungsalgo-
rithmus auswählen, um noch mehr Sicherheit zu er-
langen.

- Fest integrierter, symmetrischer Verschlüsselungs-
algorithmus.


Ich habe das Design extra so "offen" gehalten, sprich, die Datei
tmepl8.bin und die DLLs werden nicht in die Ressourcen der ver-
schlüsselten Datei integriert.

Somit kann man zB. mit einem Ressourceneditor die templ8.bin
seinen Wünschen anpassen, ohne dass das Projekt neu kompiliert
werden müsste.

Desweiteren kann man so auch noch einmal die PlugIns zusätzlich
komprimieren (unter Verwendung eines Exe-Packers). Ein weiterer
Vorteil an nicht gebindeten PlugIns ist die Downloadgröße. So
muss man sich das PlugIn, wenn es nicht gebindet ist, nur einmal
downloaden.

Deshalb habe ich mich offen gegen das Feature des Bindens der
PlugIns und des Templates entschieden.

Das Hauptprogramm wurde mithilfe des kostenlos erhältlichen
Packers FSG 2.0 komprimiert. Somit wurden ca. 70 Kilobyte einge-
spart. Ich würde empfehlen, die verschlüsselten Dateien
ebenfalls mit einem Exe-Packer wie FSG oder UPX zu packen, um
die Größe drastisch zu verringern.

Achtung: Die minimale Passwortlänge ist 10. Passwörter, die aus
der Wiederholung eines einzelnen Zeichens bestehen (zB. 10 a's),
sind unsicher und bieten keine Basis für eine sichere Ver-
schlüsselung.

Programmiert anlässlich des C++ Contests von zao auf dem Forum
free-hack.com.


E-Mail des Autors: fogx@land.ru
Fragen zum Source, Anregungen und/oder Kritik via PM bitte. :] Wollte eigentlich noch viel mehr PlugIns schreiben (und auch noch einen Unhandled Exception Filter integrieren), aber da war die Zeit schon um... :)

Zum Wettbewerb selbst: Ich finde es schlichtweg schei-e, um es so grob auszudrücken, dass sehr viele Leute gesagt haben, dass sie mitmachen, aber im Nachhinein es nicht geschafft haben, sich innerhalb dieser Woche (bzw. durch den f-h Ausfall sogar rund 2,5 Wochen!) bei zao abzumelden. Das wäre absolut kein Problem gewesen, so hätte zao auch gewusst, wer nun abgibt und wer nicht. Für die SysFu*ker kam bei zao nichts an!Schließlich hat zao entschieden, dass es nun mal keine Sinn macht, zwischen zwei Einsendungen zu entscheiden. Und damit hat er in meinen Augen auch Recht.

Naja, soviel dazu, ich hoffe im nächsten Contest auf mehr Beteiligung, dafür, dass sich zao diese Mühe macht.

In diesem Sinne.

rob00n
11.11.2007, 19:32
Wie ist denn das Passwort zum Archiv?

l0dsb
11.11.2007, 19:47
.oaz-tsetnoC-++C-tpyrCf tsi trowssaP
Denke mal in die andere Richtung. :P

-[RiDER]-
11.11.2007, 20:26
http://nopaste.free-hack.com/index.php?id=773dd9632d
Ich sag morgen was dazu... grad keine Zeit.
Freu mich, dass ich auch gewonnen habe ;)

MfG RiDER

Free-Hacks NoPaste sieht zum Kotzen aus...
http://nopaste.com/p/aFq889rJW

l0dsb
11.11.2007, 20:37
Falls der SendSpace-Mirror down ist, ihr findet das Programm auch nochmal auf meiner Page (aktueller Link siehe immer Signatur). Und congratz an Rider! :)

-[RiDER]-
23.11.2007, 15:38
Hi :D

Also ich fang dann mal an, über mein Prog zu referieren ;)

Das Programm hält sich so ziemlich an den ANSI-C89 Standard und ist eigentlich mit jedem C-Compiler kompilierbar.
Ich habs mit dem gcc gemacht.
das sah dann so aus:
gcc -o prog prog.cFür die Bohnen unter euch: prog.c sollte die Sourcedatei sein, unter Windows müsst ihr an den namen der executable (option -o) ein .exe hängen ;)

Es ist ein Konsolenprogramm (für Bohnen: cmd. sonst schließt sich die Konsole ohne, dass das Programm etwas gemacht hat...).
Ich würde dann mal ein prog --help machen, damit ihr seht, was nicht alles möglich ist... Die Bedienung des Programms will ich nicht näher erläutern, is an sich selbsterklärend ;)

Nur noch das:
Die Option -b respektive --binary ist nur implementiert, weil die Mehrheit der Member hier Windows benutzt und dieses nicht Binärdateien von Textdateien unterscheiden kann... unter anderen Betriebssystemen ist diese Option also überflüssig und kann beruhigt weggelassen werden ;)

Wenns noch Fragen gibt: Fragt!!! Dafür is der Wettbewerb (imho) da!!!
Können auch fundamentalste b00n-Fragen sein, is mir in dem Zusammenhang mal egal, weil irgendwie ist das Verstehen der Source krass wichtig für angehende Programmierer: Sources lesen, sie verstehen, daraus lernen, ein bisschen selber coden... wieder Sources lesen, sie verstehen, daraus lernen, ein bisschen selber coden... das solange, bis man Pro ist! Beste Lernmethode überhaupt!!! Will gerne Stütze sein

MfG RiDER

Panta666
02.12.2007, 10:57
Rider habs mit Visual C++ 2005 Express versucht und da sagta mir nen fehler^^ werds ma mit Visual 6.0 versuchen XD

€dit... okay er sagt mir bei beiden nen Includ erroer... aber imemr verschieden. oO

-[RiDER]-
03.12.2007, 18:04
Hi!

Poste mal die Compilerausgabe, plz.
Vielleicht kann ich dir dann weiterhelfen ;)

Ich dachte VS benutzt den mingw32-Compiler, der ja eigentlich (wie der Name "Minimalist GNU for Windows schon sagt) GCC-kompatibel sein müsste... O_o

Naja... poste mal die Fehlermeldung, das hilft auf jeden Fall schonmal ;)

GreetZ RiDER :D :D :D

EDiT:
Ersetze vielleicht mal alle EXIT_FAILURE durch 1. Kann ein, dass diese Konstante unter Windows garnicht gesetzt ist O_o
Zumindest erinnere ich mich da ganz schwach, mal etwas derartiges gelesen zu haben

GreetZ RiDER