Erklärung eines leichten Qeullcodes C++ für Noob
-
Moin!
Hab da von meinem Lehrer ne bekloppte Aufgabe bekommen, eine Programm (c++) zu kommentieren. Das Problem bei der Geschichte ist, das selbst mein Lehrer ne 1/2 std gebraucht hat um wenigstens mir mal zu zeigen wozu es dienen soll LoL. Das ist vom Prinzip her nen Rechner der aus einem mitgegebenen Wert das Binär, Oktät oder Hex ausrechnet und es dann ausgibt. Soweit sogut, leider konnten mir selbst die besten in C++ aus meiner Klasse net erläutern, was für was zuständig ist. Ich möchte hier mal jemanden höfflichst bitten, mir die Funktionsweise der einzelnen Schritte zu erläutern. Wäre sehr verbunden
Es ist Teilweise schon kommentiert und als ich dann mich mal an die Erklärung von "main(int argc, char *argv[])" gemacht habe, ist mir das alles zu bunt geworden, das versteht doch keiner der bis jetzt mal grade nen Taschenrechner mit -,+,*,/ geschrieben hat.Vielen Dank, hoffe das hier jemand n Herz für geqäualte Nooby Schüler hat...
Hier mal das Prog:
/* chsys gibt fr eine als Kommandoparameter eingebene positive ganze dezimale
Zahl wahlweise ihr bin?res, oktales oder hexadezimales ?quivalent aus
Programmaufruf-Beispiel: chsys 100 hex */#include <stdio.h>
#include <string.h> /* strcmp /
#include <stdlib.h> / atol, exit */main(int argc, char *argv[])
{
int i;
long num;if (argc != 3) /* Falsche Parameterzahl /
{
printf("\n\nSyntax: chsys zahl system");
exit(1);
}
else
{
num = atol(argv[1]); / Konvertieren /
if (!strcmp("bin", argv[2])) / bin?r /
{
if (num > 65535) / 4 Bytes /
{
printf("\n\nDie Eingabezahl lautet bin?r:\n\n\t");
for (i = 31; i >= 0; i--)
{
printf("%d", (num >> i) & 1);
if (!(i%8))
printf(" ");
}
}
else / 2 Bytes /
{
printf("\n\nDie Eingabezahl lautet bin?r:\n\n\t");
for (i = 15; i >= 0; i--)
{
printf("%d", (num >> i) & 1);
if (!(i%8))
printf(" ");
}
}
}
else if (!strcmp("okt", argv[2])) / oktal /
printf("\n\nDie Eingabezahl lautet oktal: %lo", num);
else if (!strcmp("hex", argv[2])) / hexadezimal */
printf("\n\nDie Eingabezahl lautet hexadezimal: %lx", num);
else
printf("\n\nFalsches Zahlensystem.");
} /*Ende oberstes else */
}
-
Bist du sicher, das das C++ sein soll? Das sieht mit eher nach C aus. Bitte verwende auch Code-Tags und Einrückungen, dann sieht es sich evtl. auch jemand an.
-
Bin auch nen Noob in C++ aber das ist kein C++ sondern C.
Oh da war einer schneller!
-
THX, werd das ganze nochmal einrücken, das hat er bei copy n paste nicht übernommen und veschieb das ganze mal ins board c

ALSO THEMA AN DIESER STELLE DICHT !!! SETZ ES UNTER THEMA C WIEDER EIN!!!