Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

no-address

Mitglied

Dabei seit: 29.03.2010

Beiträge: 41

 

1 Zum Seitenanfang

Mittwoch, 31. März 2010, 14:05

c zu java

Hallo

Kann mir jemand einen einfachen C Code in Java übersetzten?
 

Ego

Routinier

Dabei seit: 22.07.2009

Beiträge: 322

 

2 Zum Seitenanfang

Sonntag, 4. April 2010, 21:43

Hallo,

man kann es zumindest versuchen. Aber erst mal sollte man den Code sehen.

Gruß
Ego
 

no-address

Mitglied

Dabei seit: 29.03.2010

Beiträge: 41

 

3 Zum Seitenanfang

Samstag, 17. April 2010, 16:34

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;
  	}
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

4 Zum Seitenanfang

Sonntag, 18. April 2010, 06:37

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
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

no-address

Mitglied

Dabei seit: 29.03.2010

Beiträge: 41

 

5 Zum Seitenanfang

Freitag, 23. April 2010, 16:12

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:


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", &amp;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", &amp;eingabe);
 	if(eingabe &gt; zufallszahl)
 	{
		System.out.println("Leider falsch! Die zu erratende Zahl ist kleiner");
   	durchgaenge++;
 	}
 	else if(eingabe &lt; 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' &amp;&amp; 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;
 	}
»no-address« hat folgende Bilder angehängt:
  • zahlenraten.png
  • zahlenraten2.png

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »no-address« (23. April 2010, 16:12)

 

Ego

Routinier

Dabei seit: 22.07.2009

Beiträge: 322

 

6 Zum Seitenanfang

Montag, 26. April 2010, 19:15

bin auch mal wieder da :)

2 Dinge:
  1. dein Java_Quellcode wie du ihn gepostet hast wird bei mir fast durchgehend mit Fehlermeldungen seitens der IDE kommentiert
  2. 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)

 

no-address

Mitglied

Dabei seit: 29.03.2010

Beiträge: 41

 

7 Zum Seitenanfang

Montag, 26. April 2010, 19:34

Ja, ich möchte, dass man dieses Programm einfach so starten kann, egal welches Betriebssystem man verwendet. Geht das?
 

Ego

Routinier

Dabei seit: 22.07.2009

Beiträge: 322

 

8 Zum Seitenanfang

Montag, 26. April 2010, 20:19

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.

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;
    }
}
 

eMKay

Eroberer

Dabei seit: 19.07.2009

Beiträge: 52

 

9 Zum Seitenanfang

Dienstag, 27. April 2010, 02:29

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
 

no-address

Mitglied

Dabei seit: 29.03.2010

Beiträge: 41

 

10 Zum Seitenanfang

Dienstag, 27. April 2010, 20:20

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?
»no-address« hat folgende Datei angehängt:
  • zahlenraten.java (3,35 kB - 35 mal heruntergeladen - zuletzt: 5. Februar 2012, 06:00)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »no-address« (27. April 2010, 20:20)

 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

11 Zum Seitenanfang

Mittwoch, 28. April 2010, 05:33

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.
 

Red_Ninja

Mitglied

Dabei seit: 15.10.2006

Beiträge: 42

 

12 Zum Seitenanfang

Mittwoch, 28. April 2010, 17:08

Ein Nachtrag noch zum Übersetzen von C/C++ in Java. Sieh dir mal das hier an
http://www.tangiblesoftwaresolutions.com/
 

xerox4thew1n

Grünschnabel

Dabei seit: 20.05.2010

Beiträge: 8

 

13 Zum Seitenanfang

Freitag, 21. Mai 2010, 20:58

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