Zum Inhalt springen

Hilfe!! (Call by Value..)


Empfohlene Beiträge

Geschrieben

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

Geschrieben
Ich kenne mich aber mit c++ gut aus und habe keine ahnung von C !!
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?
Geschrieben
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!

Geschrieben

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)

Geschrieben

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?

Geschrieben

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. ;)

Geschrieben

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:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...