Viel wichtiger: Auf endungen.de wird angezeigt, dass das ein Shell-Skript ist.

Eine Shell ist auf jedem Linux-System installiert. Öffne ein Terminal / eine Konsole, bewege dich mit "cd" zu dem Verzeichnis, in dem deine Datei liegt, und starte sie einfach mit:

./meine_datei.bundle

Generell installiert man unter Linux allerdings Software üblicherweise über die Paketverwaltung, und gerade VMware ist mit Sicherheit als Paket für Mint verfügbar.

...zur Antwort

Niemand kümmert sich mehr darum, ob man einen qualifizierten Beruf hat oder überhaupt ein Beruf hat weil alle gleich verdienen

Keine Ahnung, woher du das hast, aber es ist zumindest eine sehr freie und oberflächliche Auslegung der Werke von Marx und Engels.

Überhaupt in Kategorien von Lohnarbeit und Verdienst zu denken zeigt, dass man sich noch lange nicht in der Nähe marxistischer Analyse befindet.

Der Marxismus beruht auf einer wissenschaftlichen Untersuchung der kapitalistischen Produktionsweise und der marktorganisierten Wirtschaftskonzeption. Die daraus abgeleiteten sozialistischen / kommunistischen Forderungen und Theorien (von denen es eine Menge verschiedene gibt, nicht bloß den Marxismus) sind so fundamental und grundlegend, dass man von Berufen, Qualifikationen, Verdiensten und ähnlichen systemischen Kategorien gar nicht sprechen kann.

Bevor man sich mit einem Pro & Contra "Marxismus" befasst, sollte man sich daher erstmal genau damit befassen, was Marx überhaupt geschrieben hat. Da sollte man nicht unbedingt damit anfangen, selbst das "Kapital" lesen zu wollen, sondern sich mit ein, zwei guten Einführungen langsam herantasten. (Unbedingt mehr als nur eine Einführung lesen, weil die Schriften von Marx sehr unterschiedlich interpretiert werden.)

...zur Antwort

Wenn ich mir deine Fragen aus den letzten Tagen so ansehe, habe ich das Gefühl, dass du das größte Problem an C++ schon am eigenen Leib erfahren hast: die flache Lernkurve.

Du scheinst schon ein paar Tage dranzusitzen, vielleicht mit Tutorials, vielleicht hast du sogar ein Buch, und du tippst fleißig deine Befehle ab und spielst damit rum, aber irgendwie sind die Ergebnisse unbefriedigend. Du hast nur diese schwarze Textbox, nur ganz simple Ein- und Ausgabewerkzeuge, und irgendwie ist das alles nicht das, was du dir vorgestellt hast, schließlich willst du doch schicke Fenster, so, wie du es von deinem Windows gewohnt bist.

Aber so langsam dämmert dir vielleicht, dass das so simpel alles gar nicht ist.

Nun, es ist so: Programmieren ist ein schönes, interessantes und spannendes Hobby, aber leider auch eine komplexe Angelegenheit. In dem Stadium, in dem du jetzt bist, kannst du das ganz gut mit dem Lernen einer natürlichen Sprache vergleichen. Stell dir vor, du lernst eine Fremdsprache, beispielsweise Italienisch.

Natürlich würdest du gern politische Diskussionen oder anregende Gespräche über aktuelle Kinofilme oder auch Fachsimpelei über Kochrezepte mit einer schicken Italienerin führen. Und das wirst du auch irgendwann können - aber der Weg dahin ist weit. Du wirst viele, viele Monate lang ganz simple Dialoge üben, die man im normalen Leben nie führen würde. Du übst, dich vorzustellen, deine Hobbys auf Italienisch auszudrücken, nach dem Weg zum Bahnhof zu fragen, und so weiter und so weiter.

Das ist trivial und langweilig und überhaupt nicht das, was du dir vorgestellt hast, als du dir deinen nächsten Italienurlaub vorgestellt hast. Aber es ist notwendig, um die Grammatik und die Eigenheiten der italienischen Sprache zu lernen, um deinen Wortschatz zu erweitern und um all das nicht nur zu "verstehen", sondern zu verinnerlichen. Erst, wenn bestimmte Dinge so sitzen, dass sie auch in deinem Unterbewusstsein jederzeit abrufbar sind und du ein Gefühl für die Sprache hast, bist du bereit, dich mit fortgeschritteneren Aspekten wie echten Gesprächen zu beschäftigen.

Nun gibt es sicherlich auch Programmiersprachen, die dir alles etwas vereinfachen und dich schneller ans Ziel kommen lassen. Unter Windows könntest du zum Beispiel Visual Basic lernen. Auch da musst du viel lernen, aber du arbeitest von Anfang an mit deinen Fenstern, die du auch nicht programmieren musst, sondern die du dir "zusammenklickst" und dann "nur noch" die Funktionalität selbst schreibst. Aber diese Sprachen schränken dich nunmal auch sehr ein. Du möchtest vermutlich kein "Reisewörterbuch", aus dem du vorgefertigte Sätze vorliest und dann hoffen musst, dass das Gespräch mit der Italienerin keine unvorhergesehene Wendung nimmt. Du möchtest vermutlich Italienisch lernen und dich frei mit deiner Italienerin unterhalten.

C++ ist eine der komplexesten Programmiersprachen überhaupt, und die Grundlagen müssen definitiv fest sitzen, bis du die Sprache wirklich zu etwas Sinnvollem benutzt. Das ist erstmal enttäuschend und frustrierend, aber du hast nunmal nur zwei Möglichkeiten: Entweder arrangierst du dich damit, dass du für mindestens ein Jahr lang keine schicken bunten Fenster mit Buttons und Menüs verwirklichen kannst, oder du verabschiedest dich von deinem Traum von der Italienerin und fährst in den Schwarzwald.

...zur Antwort

Ich kenne zwar Greenfoot und seine Klassen nicht, aber offensichtlich hat die Klasse "Leben" nur einen Konstruktor ohne Parameter, du aber übergibst ein Argument (deinen String "Leben: "). Das sagt jedenfalls die Fehlermeldung. (Compilerfehlermeldungen solltest du unbedingt lesen und verstehen lernen.)

...zur Antwort

Ich war früher mal dort angemeldet. Seriös ist sie, ja, aber wirklich Freude hat man auf der Seite mit einer kostenlosen Mitgliedschaft nicht. Die Bezahlmitgliedschaften sind aber nicht soooo teuer, und ich behaupte einfach mal, dass gerade das nicht unerheblich zur Seriosität beiträgt, weil es viele Faker schon von Anfang an fernhält.

Man kann die Seite aber auch mit einer kostenlosen Mitgliedschaft sinnvoll nutzen. Es fehlen dann nur ein paar Annehmlichkeiten.

Mein Urteil: Definitiv eine der besseren Internet-Kontaktbörsen.

...zur Antwort

Die zweite Frage zuerst: Die Logik hinter der Funktion verstehen zu wollen, ist ein ehrgeiziges Ziel, der Algorithmus dürfte nämlich ziemlich kompliziert sein. Auf Basis eines sich stetig verändernden Wertes, meistens der Systemzeit in Sekunden oder Milisekunden, wird über diesen komplizierten Algorithmus eine Zahl errechnet, die möglichst schwierig vorhersagbar ist. (Wer den genauen Algorithmus kennt, kann die Zahl natürlich theoretisch vorhersagen. Deshalb nennt man computergenerierte Zufallszahlen auch Pseudozufallszahlen.)

Es ist aber auch gar nicht nötig, die Logik genau zu kennen. Das ist ja (unter anderem) Sinn und Zweck der objektorientierten Programmierung. Du musst als Programmierer nur wissen, dass es die Funktion gibt, welche Eingangsdaten sie von dir erwartet, und welche Daten sie zurückgibt. Wie sie das macht, ist für dich unerheblich.

Damit kommen wir zur ersten Frage: Dir scheint die Nutzung nicht ganz klar zu sein. Math.random() gibt eine pseudozufällige Zahl zwischen 0 und nicht ganz 1 zurück. Da du in den meisten Anwendungsfällen keine 0-komma-irgendwas Zahl haben wollen wirst, sondern eine ganze Zahl, multiplizierst du diese Rückgabe mit der Zahl, die dein Maximum darstellt und castest das ganze nach int, damit der Nachkommaanteil abgeschnitten wird.

Da aber die zurückgegebene Zahl immer kleiner als 1 ist, wäre die multiplizierte und gecastete Zahl auch immer um 1 kleiner, als dein gewünschtes Maximum. Deshalb addierst du die 1.

Damit ist auch klar, warum dein "x 68 + 18" nicht wie gewünscht funktioniert. Das Verhalten, das du erreichen möchtest, dürfte nicht ganz so einfach zu realisieren sein. Eine Idee, die ich spontan hätte, wäre, dein Math.random() in eine Schleife zu stecken und so lange zu wiederholen, bis dein gewünschtes Minimum überschritten ist. Also ungefähr sowas:

meineZufallszahl = 0;
while (meineZufallszahl < 18) {
    meineZufallszahl = (int)(Math.random() * 68 + 1);
}

Nicht besonders sauber und wahrscheinlich gibt es auch viel effizientere und elegantere Möglichkeiten, würde aber funktionieren.

...zur Antwort

Da wirfst du aber ein bisschen was durcheinander.

  1. Ein Editor ist zunächst einmal nur ein Programm, mit dem man etwas bearbeitet (engl. "to edit" -> "bearbeiten"). In den meisten (aber nicht in allen!) Fällen meint man damit einen Texteditor, also ein Programm zum Bearbeiten von Textdateien. Die einzige Verbindung zum Programmieren ist hier, dass die Textdatei, die du bearbeitest, natürlich auch Programmtext einer Programmiersprache enthalten kann.

  2. "Einen Befehl schreiben" wird dich nicht viel weiterbringen. Du wirst schon ein komplettes Programm schreiben müssen - auch, wenn es nicht sehr umfangreich sein wird.

  3. Google ist kein Programm, sondern eine Webseite. Natürlich könntest du ein Programm schreiben, welches einen Browser öffnet, und in diesem Browser Google aufruft. Wozu das aber nützlich sein soll, müsstest du erstmal erklären.

  4. Programme, die wahllos andere Programme starten und schließen sind mindestens nervig, mit einem bisschen juristischen Geschick eventuell sogar Schadsoftware, für die du als Autor (zu recht!) zur Rechenschaft gezogen werden kannst.

  5. Wie du ein solches Programm schreiben müsstest, hängt stark von der verwendeten Programmiersprache ab; das kann man nicht so pauschal mit "einem Befehl" beantworten.

...zur Antwort

Die wird nicht übersprungen. cin liest den String in die *Name-Variablen ein und lässt dabei das Newline-Zeichen, das durch die ENTER-Taste ausgelöst wird, im Tastaturpuffer. Dann kommt getline() daher und denkt sich: 'Hey, cool, eine Eingabe. Die nehm' ich gleich mal mit.'

Du musst nach den cin-Befehlen den Tastaturpuffer leeren. Eine wirklich saubere, zuverlässige und portable Lösung ist leider keine ganz triviale Sache. Aber es sollte schon helfen, wenn du zwischen cin und getline() eine Dummy-Eingabe mit getline() einfügst, die das Newline-Zeichen abfängt, und dann erst dein 'richtiges' getline() benutzt.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.