009
14.09.2006, 09:13 Uhr
J-jayz-Z
Perl Crack ala Carte (Operator)
|
Zum einen stimmt es nicht, weil du EXIT_SUCCESS zurückgibst und main nicht sagst, das ein int zurückkommt und zum anderen löst es das Problem nicht. Mach einfach mal ein getchar(); ans Ende (vor return EXIT_SUCCESS). Und wenn du C++ schreiben willst, das les auch ein Tutorial oder ein Buch, von dem der Author auch weiß, wo der Unterschied zwischen C und C++ liegt !
Hans hat da bestimmt einen Vorschlag für dich
EDIT: Mir fällt gerade auf: Vorher hat er konsequent C geschrieben und (wahrscheinlich mit Ausnahme vom Compiler) mit C++ überhaupt nichts am Hut gehabt. EXIT_SUCCESS ist allerdings eine Konstante, die es in C nicht gibt, sondern nur in C++. Wenn du return EXIT_SUCCESS; schreibst, vermischst du beide Sprachen. Schreibe lieber return 0; ans Ende und lass das EXIT_SUCCESS weg. Dann hast du ein C Programm
Und hier ist mal die C++ Variante:
C++: |
#include <iostream> #include <cstdio>
int main(const int argc, const char* argv[]) { int z,n,a; float x; std::cout << "Zu teilende Zahl: "; std::cin >> z; std::cout << "Teiler: "; std::cin >> n; std::cout << "Angezeigte Stellen: "; std::cin >> a; x = (float)z/n; std::cout.precision( a ); std::cout << "Ergebniss: " << x << std::endl; std::cin.clear(); //Eingabepuffer leeren, sonst geht getchar nicht std::cin.sync();
getchar(); return EXIT_SUCCESS; }
|
-- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"' Dieser Post wurde am 14.09.2006 um 09:55 Uhr von J-jayz-Z editiert. |