der sieht so aus:
|
|
C/C++-Quelltext |
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 |
#include <stdio.h> int eingabe; int passwort = 5769; int zufallszahl, eingabe; int durchgaenge; char auswahl; rand (time); int main(void) { while( 1 ) { printf( "Geben sie bitte das Passwort ein: (evt. seperat erwerblich)" ); scanf( "%d", &eingabe ); if( passwort == eingabe) { printf( "Passwort korrekt\n" ); printf("\nLustiges Zahlenraten"); printf("\n--------------------"); printf("\nErraten Sie die Zufallszahl in moeglichst wenigen Schritten!"); printf("\nDie Zahl kann zwischen 1 und 100 liegen"); do { zufallszahl = (rand() % 100 + 1); durchgaenge = 1; while(1) { printf("\nBitte geben Sie eine Zahl ein: "); scanf("%d", &eingabe); if(eingabe > zufallszahl) { printf("Leider falsch! Die zu erratende Zahl ist kleiner"); durchgaenge++; } else if(eingabe < zufallszahl) { printf("Leider falsch! Die zu erratende Zahl ist groeßer"); durchgaenge++; } else { printf("Glueckwunsch! Sie haben die Zahl in %d",durchgaenge); printf(" Schritten erraten."); break; } } printf( "\nNoch ein Spiel? (J/j für weiteres Spiel)" ); /* Rest vom letzten scanf aus dem Tastaturpuffer löschen */ while( ( auswahl = getchar() ) != '\n' && auswahl != EOF ); auswahl = getchar( ); } while( auswahl == 'j' || auswahl == 'J' ); break; } else { printf( "Das Passwort ist nicht korrekt\n" ); } printf( "Bitte versuchen sie es nochmal\n" ); } printf( "Bis Bald\n" ); return 0; } |
naja das ganze sollte nicht allzu schwer sein.
printf musst du durch System.out.println ersetzen. die eingabe bekommst du indem du einen scanner verwendest und scanner.next() aufrufst. das getchar() kannst du durch scanner.nextChar() ersetzen.
die main methode muss so aussehen public static void main(String [] args) und das include kommt weg. achja der randomizer muss natürlich auch von java verwendet werden (Math.random).
nimm dir einfach eine gute IDE wie zb eclipse und paste den code hinein. danach ersetzt du die von mir erwähnten funktionen, lässt eclipse die imports organisieren.
dann kannst du recht einfach sehen was noch gemacht werden muss.
jperl
printf musst du durch System.out.println ersetzen. die eingabe bekommst du indem du einen scanner verwendest und scanner.next() aufrufst. das getchar() kannst du durch scanner.nextChar() ersetzen.
die main methode muss so aussehen public static void main(String [] args) und das include kommt weg. achja der randomizer muss natürlich auch von java verwendet werden (Math.random).
nimm dir einfach eine gute IDE wie zb eclipse und paste den code hinein. danach ersetzt du die von mir erwähnten funktionen, lässt eclipse die imports organisieren.
dann kannst du recht einfach sehen was noch gemacht werden muss.
jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
ich hab deinen Anweisungen folge geleistet...
ABER: Anjuta (unter Linux) spuckt 2 Meldungenaus... Meldung 1: alles in Ordnung, Meldung 2: Fehler (Siehe Anhang)
PS: Der Code sieht jetzt so aus:
ABER: Anjuta (unter Linux) spuckt 2 Meldungenaus... Meldung 1: alles in Ordnung, Meldung 2: Fehler (Siehe Anhang)
PS: Der Code sieht jetzt so aus:
|
|
Java-Quelltext |
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 |
int eingabe; int passwort = 5769; int zufallszahl, eingabe; int durchgaenge; char auswahl; Math.random (time); int public static void main(String [] args) { while( 1 ) { System.out.println( "Geben sie bitte das Passwort ein: (evt. seperat erwerblich)" ); scanner.next( "%d", &eingabe ); if( passwort == eingabe)<br> { System.out.println( "Passwort korrekt\n" ); System.out.println("\nLustiges Zahlenraten"); System.out.println("\n--------------------"); System.out.println("\nErraten Sie die Zufallszahl in moeglichst wenigen Schritten!"); System.out.println("\nDie Zahl kann zwischen 1 und 100 liegen"); do { zufallszahl = (Math.random() % 100 + 1); durchgaenge = 1; while(1) { System.out.println("\nBitte geben Sie eine Zahl ein: "); scanner.next("%d", &eingabe); if(eingabe > zufallszahl) { System.out.println("Leider falsch! Die zu erratende Zahl ist kleiner"); durchgaenge++; } else if(eingabe < zufallszahl) { System.out.println("Leider falsch! Die zu erratende Zahl ist groeßer"); durchgaenge++; } else { System.out.println("Glueckwunsch! Sie haben die Zahl in %d",durchgaenge); System.out.println(" Schritten erraten."); break; } } System.out.println( "\nNoch ein Spiel? (J/j für weiteres Spiel)" ); while( ( auswahl = scanner.nextChar() ) != '\n' && auswahl != EOF ); auswahl = scanner.nextChar( ); } while( auswahl == 'j' || auswahl == 'J' ); break; } else { System.out.println( "Das Passwort ist nicht korrekt\n" ); } System.out.println( "Bitte versuchen sie es nochmal\n" ); } System.out.println( "Bis Bald\n" ); return 0; } |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »no-address« (23. April 2010, 16:12)
bin auch mal wieder da :)
2 Dinge:
- dein Java_Quellcode wie du ihn gepostet hast wird bei mir fast durchgehend mit Fehlermeldungen seitens der IDE kommentiert
- die Fehlermeldungen verwirren mich sehr, ist zwar schon ne weile her das ich Java in der Schule hatte, aber ich kann mich dabei an kein Install.sh, makefile und make erinnern, auch bei Verwendung von Java unter Linux nicht ... versuchst du JavaCode so zu compilieren das ein eigenständiges Programm daraus wird?
ich versuch mal den C_Code so umzuschreiben das der Programmablauf unter Java funktioniert
Gruß Ego
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Ego« (26. April 2010, 20:13)
so nicht, irgendwas muss ja das Programm zum Laufen bringen
Desshalb hat man sich doch die Mühe gemacht mit Java (nachteil: java braucht seine Laufzeitumgebung), compiliert du den Quelltext, läuft es zwar ohne Laufzeitumgebung, ABER nur unter Linux (oder für welches BS du das auch immer Compilierst)
mir ist kein Dritter Weg bekannt; ausser das Programm ins WWW auszulagern und dann im Browser ablaufen zu lassen
Vielleicht kennt jemand andres hier ne Lösung dazu.
Desshalb hat man sich doch die Mühe gemacht mit Java (nachteil: java braucht seine Laufzeitumgebung), compiliert du den Quelltext, läuft es zwar ohne Laufzeitumgebung, ABER nur unter Linux (oder für welches BS du das auch immer Compilierst)
mir ist kein Dritter Weg bekannt; ausser das Programm ins WWW auszulagern und dann im Browser ablaufen zu lassen

Vielleicht kennt jemand andres hier ne Lösung dazu.
hier der Java_Quelltext, funktioniert FAST genauso wie die C Variante
![]()
Java-Quelltext
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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * * @author Egoist */ public class Main { // c_Code: rand (time); public static void main(String[] args) { int eingabe; int passwort = 5769; int zufallszahl; int durchgaenge; char auswahl; while( true ) //endlos_Schleife??? { System.out.print( "Geben sie bitte das Passwort["+passwort+"] ein: (evt. seperat erwerblich)" ); eingabe = Zahleingabe(); if( passwort == eingabe) { System.out.println("Passwort korrekt\n" ); System.out.println("Lustiges Zahlenraten"); System.out.println("--------------------"); System.out.println("Erraten Sie die Zufallszahl in moeglichst wenigen Schritten!"); System.out.println("Die Zahl kann zwischen 1 und 100 liegen"); do { zufallszahl = (int) (Math.random() *99) + 1; durchgaenge = 1; do { System.out.print("\nBitte geben Sie eine Zahl ein: "); eingabe=Zahleingabe(); if(eingabe > zufallszahl) { System.out.println("Leider falsch! Die zu erratende Zahl ist kleiner"); durchgaenge++; } if(eingabe < zufallszahl) { System.out.println("Leider falsch! Die zu erratende Zahl ist groeßer"); durchgaenge++; } }while(eingabe!=zufallszahl); System.out.println("Glueckwunsch! Sie haben die Zahl in "+durchgaenge +" Schritten erraten."); System.out.print( "Noch ein Spiel? (Ja für weiteres Spiel)" ); auswahl = Eingabe().charAt(0); //Auchtung, problematisch wenn nur Enter gedrückt wird; Scanner mal anschauen } while( auswahl == 'j' || auswahl == 'J' ); break; } else { System.out.println( "Das Passwort ist nicht korrekt" ); System.out.println( "Bitte versuchen sie es nochmal" ); } } System.out.println( "Bis Bald\n" ); } public static String Eingabe() { String Result=null; BufferedReader b = new BufferedReader(new InputStreamReader(System.in)); try { Result=b.readLine(); } catch (IOException e) { e.printStackTrace(); } return Result; } public static int Zahleingabe() { int zahl=0; try { zahl=Integer.parseInt(Eingabe()); } catch (NumberFormatException e) { System.out.print("Fehler - keine Zahl! Eingabe wiederholen! "); zahl=Zahleingabe(); } return zahl; } }
Moin no-address!
Die erste Meldung von Anjuta gilt wohl für den 'configure' des Compilerlaufs - das scheint zu funktionieren.
Die zweite Meldung bedeutet, daß er den Java-Compiler (javac) nicht findet. Da musst Du mal schauen, wo der sich versteckt und ihn im Pfad eintragen. Das sollte ja eigentlich bei der Installation passiert sein.
-Sicher, daß die Java-Entwicklungsumgebung auch installiert ist? (und eben nicht nur die Laufzeitumgebung?)
Bei so kleinen Programmen ist eine IDE wie Anjuta echt Overkill, bringt - wie Du siehst - mehr aufwand, als es einem nützt
Ein Weg, ein Programm auf jedem System lauffähig zu machen (ohne Laufzeitumgebung) ist mir leider auch nich bekannt.
Dann müsstest Du wohl in Assembler direkt für den Prozessor Programmieren (also ohne irgendwelche Hilfe von Betriebssystem oder Bibliotheken) aber selbst dann bräuchtest Du einen Ladecode, der das Programm startet.
Das Resultät wär dann ne Art Bootdiskette
Ne mal ernsthaft, Java dürfte da der Beste Weg sein. Java im Web-Browser dürfte noch verbreiteter sein.
Wegen der Laufzeitumgebung würd ich mir keine Sorgen machen, für viele Windows-Programme muß mittlerweile ja auch .Net installiert sein. Ausserdem ist Java wohl fast immer vorhanden.
Wenn es ohne gehen soll, machs wie ich:
Benutze C/C++ und achte darauf, daß Du nur Biliotheken benutzt, welche für alle Zielplattformen existieren. Auf dem Weg musst Du zwar mehrere Versionen anbieten, aber hast dann keine Probleme mehr.
Per Cross-Compiling kannst Du alle Versionen in einem Aufwasch auf einem einzelnem System kompilieren.
Gtk ist zum Beispiel für die meisten Systeme erhältlich, damit kann man schon sehr viel machen.
(Arbeitest ja scheinbar unter Linux, Gtk dürftest Du dann ja vielleicht kennen)
OpenGL (für Grafik) und OpenCV (Bildverarbeitung und -Analyse/ maschinelles Lernen), OpenAL (Sound) sind nur ein paar weitere Bibliotheken, welche recht portable sind. (Bei OpenGL Hilft einem die GLUT dabei sehr)
Das sowas prima geht, sieht man zum Beispiel an Programmen wie GIMP, oder auch vielen Spielen von ID-Software.
(Die Linux-Version ihrer Spiele kann man sich, wenn man die Windows-Version hat, herunterladen.)
Naja, soll nur ne Anregung sein. Gutes C++ sollte portabel sein.
MfG, Marcus
Die erste Meldung von Anjuta gilt wohl für den 'configure' des Compilerlaufs - das scheint zu funktionieren.
Die zweite Meldung bedeutet, daß er den Java-Compiler (javac) nicht findet. Da musst Du mal schauen, wo der sich versteckt und ihn im Pfad eintragen. Das sollte ja eigentlich bei der Installation passiert sein.
-Sicher, daß die Java-Entwicklungsumgebung auch installiert ist? (und eben nicht nur die Laufzeitumgebung?)
Bei so kleinen Programmen ist eine IDE wie Anjuta echt Overkill, bringt - wie Du siehst - mehr aufwand, als es einem nützt

Ein Weg, ein Programm auf jedem System lauffähig zu machen (ohne Laufzeitumgebung) ist mir leider auch nich bekannt.
Dann müsstest Du wohl in Assembler direkt für den Prozessor Programmieren (also ohne irgendwelche Hilfe von Betriebssystem oder Bibliotheken) aber selbst dann bräuchtest Du einen Ladecode, der das Programm startet.
Das Resultät wär dann ne Art Bootdiskette

Ne mal ernsthaft, Java dürfte da der Beste Weg sein. Java im Web-Browser dürfte noch verbreiteter sein.
Wegen der Laufzeitumgebung würd ich mir keine Sorgen machen, für viele Windows-Programme muß mittlerweile ja auch .Net installiert sein. Ausserdem ist Java wohl fast immer vorhanden.
Wenn es ohne gehen soll, machs wie ich:
Benutze C/C++ und achte darauf, daß Du nur Biliotheken benutzt, welche für alle Zielplattformen existieren. Auf dem Weg musst Du zwar mehrere Versionen anbieten, aber hast dann keine Probleme mehr.
Per Cross-Compiling kannst Du alle Versionen in einem Aufwasch auf einem einzelnem System kompilieren.
Gtk ist zum Beispiel für die meisten Systeme erhältlich, damit kann man schon sehr viel machen.
(Arbeitest ja scheinbar unter Linux, Gtk dürftest Du dann ja vielleicht kennen)
OpenGL (für Grafik) und OpenCV (Bildverarbeitung und -Analyse/ maschinelles Lernen), OpenAL (Sound) sind nur ein paar weitere Bibliotheken, welche recht portable sind. (Bei OpenGL Hilft einem die GLUT dabei sehr)
Das sowas prima geht, sieht man zum Beispiel an Programmen wie GIMP, oder auch vielen Spielen von ID-Software.
(Die Linux-Version ihrer Spiele kann man sich, wenn man die Windows-Version hat, herunterladen.)
Naja, soll nur ne Anregung sein. Gutes C++ sollte portabel sein.
MfG, Marcus
Danke für den java-code und die Antworten
aber nun: wie kann ich das am einfachsten so tun, dass er in allen betriebssystemen läuft?
und wie kann ich es auf eine website mit html einbinden?
damit es auf jedem os läuft, kannst du eine .jar datei erstellen.
http://wiklet.javacore.de/index.php/Jar_…baren_Jar-Datei
damit es in einem browser läuft musst du ein applet daraus machen.
dazu musst du aber einiges an code umwandeln.
http://www.wikiservice.at/dse/wiki.cgi?JavaApplets
jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Ein Nachtrag noch zum Übersetzen von C/C++ in Java. Sieh dir mal das hier an
http://www.tangiblesoftwaresolutions.com/
http://www.tangiblesoftwaresolutions.com/
c /c++ --> java
Zum glück ist Java eine sagen wir mal Sammlung von Programmiersprachen und unteranderem c/c++ daher lässt sich hier charakteristika erkennen und c code mit ein wenig umdenken meisten in java code umwandeln. Da java jedoch PLattform unabhängig ist können in java manche Sachen garnicht oder nur sehr kompliziert über Umwege durchgeführt werden (z.b. Die Registry von Windows ändern) und viele weite Windows oder allgemein Betriebssystem bezogene dinge.
Ähnliche Themen
-
Archiv: Software »-
Alles was mit Java zu tun hat funzt nich mehr!
(24. Dezember 2003, 22:19)
-
PHP »-
Verschlüsselungen
(3. August 2003, 16:32)
-
(X)HTML & CSS & DHTML & Javascript »-
Javascript funktioniert nicht
(30. Dezember 2002, 07:34)
-
Allgemeines Forum »-
Browser
(13. Dezember 2002, 23:11)


