Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Halli hallo,

ich soll zu einer alten Aufgabe, die bereits als C-programm von mir existiert, zu einem Java-Programm mit eclipse machen und ich habe meine lieben schwierigkeiten, wie das gehen soll...erstmal die Aufgabenstellung:

Es ist ein lauffähiges Programm in C zu erstellen, das die Grundrechenarten auf

rationalen Zahlen (Bruch-Zahlen) ausführt.

Im einzelnen gelten folgende Anforderungen an das Programm:

· Mögliche Grundrechenarten sind Addieren, Subtrahieren, Multiplizieren und

Dividieren.

· Die Grundrechenarten soll durch die Zeichen '+', '-', '*' bzw. '/' eingegeben

werden.

· Jede Grundrechenart ist auf die Verarbeitung von zwei rationalen Zahlen

beschränkt.

· Jede rationale Zahl ist mit Zähler und Nenner einzugeben.

· Bei der Eingabe eines unzulässigen Wertes ist ein Fehler zu melden und das

Programm zu beenden.

· Das Resultat wird als ungekürzte, rationale Zahl errechnet.

· Der Resultat-Bruch ist zusätzlich in eine reelle Zahl zu konvertieren.

· Nach einer erfolgreichen Berechnung sind die Operanden, die Grundrechenart

und die berechnete rationale Zahl in einer Zeile auszugeben.

· Weiterhin ist der errechnete reelle Wert, gerundet auf zwei Nachkommastellen,

auszugeben.

· Strukturieren Sie das Programm in abgegrenzte Bereiche für jede

Grundrechenart und kennzeichnen Sie die abgrenzten Bereiche durch

Kommentare.

Übersetzen Sie Ihr Programm und testen Sie es mit verschiedenen Eingabedaten(auch mit unzulässigen Werten!).

Hier der C-Code:

#include <stdio.h>

#include <math.h>

int main(){

int n1;

int n2;

int z1;

int z2;

int Z;

int N;

char ra;

double y;

//Eingabe

printf("Moegliche Rechenarten: +,-,*,/\n");

printf("Geben Sie eine Rechenart ein:\n");

scanf("%c",&ra);

//Berechnung

if (ra=='+'){

printf("z1=");

scanf("%d",&z1);

printf("z2=");

scanf("%d",&z2);

printf("n1=");

scanf("%d",&n1);

printf("n2="),

scanf("%d",&n2);

if (n1==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else if (n2==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else {

Z=(z1*n2+z2*n1);

N=(n1*n2);

y=(Z/N);

printf("(%d/%d)+(%d/%d)=(%d/%d)\n",z1,n1,z2,n2,Z,N);

printf("(%d/%d)+(%d/%d)=%.2f\n",z1,n1,z2,n2,(double)Z/(double)N);

}

}

else if (ra=='-'){

printf("z1=");

scanf("%d",&z1);

printf("n1=");

scanf("%d",&z2);

printf("z2=");

scanf("%d",&n1);

printf("n2=");

scanf("%d",&n2);

if (n1==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else if (n2==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else{

Z=(z1*n2-z2*n1);

N=(n1*n2);

y=(Z/N);

printf("(%d/%d)-(%d/%d)=(%d/%d)\n",z1,n1,z2,n2,Z,N);

printf("(%d/%d)-(%d/%d)=%.2f\n",z1,n1,z2,n2,(double)Z/(double)N);

}

}

else if (ra=='*'){

printf("z1=");

scanf("%d",&z1);

printf("n1=");

scanf("%d",&z2);

printf("z2=");

scanf("%d",&n1);

printf("n2=");

scanf("%d",&n2);

if (n1==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else if (n2==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else{

Z=(z1*z2);

N=(n1*n2);

y=(Z/N);

printf("(%d/%d)*(%d/%d)=(%d/%d)\n",z1,n1,z2,n2,Z,N);

printf("(%d/%d)*(%d/%d)=%.2f\n",z1,n1,z2,n2,(double)Z/(double)N);

}

}

else if (ra=='/'){

printf("z1=");

scanf("%d",&z1);

printf("n1=");

scanf("%d",&z2);

printf("z2=");

scanf("%d",&n1);

printf("n2=");

scanf("%d",&n2);

if (n1==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else if (n2==0){

printf("Der Nenner darf nicht 0 sein!\n");

}

else{

Z=(z1*n2);

N=(n1*z2);

y=(Z/N);

if (N==0){

printf ("Der Nenner darf nicht 0 sein!\n");

}

else{

printf("(%d/%d)/(%d/%d)=(%d/%d)\n",z1,n1,z2,n2,Z,N);

printf("(%d/%d)/(%d/%d)=%.2f\n",z1,n1,z2,n2,(double)Z/(double)N);

}

}

return 0;

}

}

Und hier jetzt mein kläglicher Versuch das ganze mit Eclipse in Java zu gestalten:

import java.io.IOException;

public class Rechner {

private int z1;

private int z2;

private int n1;

private int n2;

private int Z;

private int N;

private double ergebnis;

private char c;

public Rechner() throws IOException{

System.out.println("Wählen Sie eine Grundrechenart aus");

System.in.read();

System.out.println("z1=");

System.in.read();

System.out.println("z2=");

System.in.read();

System.out.println("n1=");

System.in.read();

System.out.println("n2=");

System.in.read();

}

public void addiere() {

if (n1 != 0 && n2 != 0) {

Z = (z1 * n2 + z2 * n1);

N = (n1 * n2);

ergebnis = (Z / N);

}

}

public void subtrahiere() {

if (n1 != 0 && n2 != 0) {

Z = (z1 * n2 - z2 * n1);

N = (n1 * n2);

ergebnis = (Z / N);

}

}

public void multipliziere() {

if (n1 != 0 && n2 != 0) {

Z = (z1 * z2);

N = (n1 * n2);

ergebnis = (Z / N);

}

}

public void dividiere() {

if (n1 != 0 && n2 != 0) {

Z = (z1 * n2);

N = (n1 * z2);

ergebnis = (Z / N);

}

}

public static void main(String[] args) {

new Rechner();

}

}

Meine Fragen: Ist das Ansatzweise richtig? Was brauch ich um die Ausgabe zu gestalten, also wie geht das und wo kommt die Ausgabe überhaupt hin? XD

Bin für jede Hilfe dankbar...

uiih da hab ich ja noch einiges vor mir!

Ich sag dann nur mal dankeschön ^^

Ich empfehle aber, dass Du es zunächst einmal selbst versuchst und eben bei Problemen Dir die Code anschaust. Es macht keinen Sinn meine Codes zu kopieren, denn wenn man Dich dann über die Codes quizzed wird man schnell herausfinden, ob Du es selbst gemacht hast oder eben nicht

HTH Phil

P.S.: Falls Fragen sind, einfach posten

Keine Sorge, ich habe nicht vor die Quellcodes zu kopieren, es ist ja nicht so das man mir nur fragen dazu stellen könnte, deine Seite ist ja auch für jedermann sichtbar, von daher ist das Risiko noch größer....der C-Code wurde mir so auch schon abgenommen(auch wenn nicht so elegant wie deiner), aber in Java hapert es noch XD

Ich komme gerne auf dein Angebot zurück, falls noch Fragen bestehen sollten.

Dankeschön nochmal ^^

Bearbeitet von freak13

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.