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

Hallo..

Ich habe eine Aufgabe,die in C-Sprache gelöst werden muss(es geht um Call by Value) .Ich kenne mich aber mit c++ gut aus und habe keine ahnung von C !!

Ich bitte um ne sofortige hilfe und Danke im Voraus?

Die Aufgabenstellung:

Ich soll ein Programm schreiben, das eine Zahl einliest und ihr Signum und ob es sich um eine Ganzzahl oder Dezimalzahl handelt ausgibt. Zahlen, deren Nachkommastellen nur Nullen sind, gelten dabei als Ganzzahlen.

Das Programm soll so oft wiederholt werden bis der Nutzer auf die Frage "Weitere Eingaben? <j>/n" mit n oder N reagiert. Fehleingaben brauchen dabei nicht beachtet zu werden.

Vorgehensweise:

Ich soll die Zahleingabe als Funktion mit folgender Deklaration:

void eingabeDouble(double *);

und die Berechnung des Signums und Test auf Ganzahl oder Dezimalzahl mit dieser Deklaration:

int signumUndZahltyp(double, int *);

Dabei steht der Rückgabetyp für das Signum, der double-Parameter für den eingegebenen Wert und der int *-Parameter (call by reference) für Ganzahl (= 0) oder Dezimalzahl (= 1) .

L.Grüße

Hasan

Die Unterschiede dürften hier minimal sein. Mein Vorschlag: Du schreibst das Programm in C++, und wir schreiben es dir hier nach C um. Wie klingt das?

Das klingt super!

Mal sehen, ob ich das richtig verstanden habe:


void eingabeDouble(double *d)

{

	printf("Zahl:\t");

	scanf("%f", d);

}


int signumUndZahltyp(double d, int *i)

{

	if ((d%(int)d) != 1.0f)

	{

		(*(i)) = 1;

	}

	else (*(i)) = 0;


	return ((d < 0) ? (-1) : ((d == 0) ? 0 : 1));

}

So z.B.?

(Und ja, ich bin ein Klammermensch. :beagolisc)

Ich hab auch kein Plan von C.

Aber du macht da kein Call-by-Value sondern Call-by-Reference, wenn mich jetzt nicht alles täuscht.

Ich nehm an main() und die Funktionsaufrufe hast du absichtlich weggelassen?

Wenn ja, warum?

Aber du macht da kein Call-by-Value sondern Call-by-Reference, wenn mich jetzt nicht alles täuscht.

Die Funktionsdeklaration war ja so gegeben. :rolleyes:

Keine Ahnung was man da großartig mit CBV machen soll.

Ich nehm an main() und die Funktionsaufrufe hast du absichtlich weggelassen?

Wenn ja, warum?

Er soll ja auch was machen. ;)

oh^^

lesen hilft...hab dich grad irgendwie für den threadersteller gehalten TDM...sry^^

und bei CBR/CBV...hilft mir lesen auch weiter :mod:

naja...is noch früh am Morgen für mich und ich hatte noch keinen kaffee und keine kippe :old

In diesem Sinne...ich nehme alles zurück und behaupte das Gegenteil :floet:

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.