Du bist nicht eingeloggt.

B2B-Realm Status

Social Networks

B2B auf Twitter
B2B auf Facebook

Bugtracker

1

Mittwoch, 9. April 2014, 17:20

c++ Funktionen Hilfe!

Ich muss für die uni ein Programm schreiben für einen poti widerstand und die berechnung des spannungsverältnisses soll in einer seperaten .cpp datei durchgeführt werden, dass heisst ich muss die main.cpp und uteiler.cpp verbinden über eine header datei soweit ich weis.
Ich poste mal meine verschiedenen Codes:
Von meiner main.cpp:

#include <iostream>
#include "uteiler.h" //header vom uteiler
using namespace std;


int main (void)
{
float UzuUq, x, RpzuRL=0;
cout << "Geben Sie das Widerstandverhältnis Rp/RL ein:" << endl;
cin >> RpzuRL;
cout << endl << "x | U/Uq";


for (x=0.0;x<1.1;x=x+0.1)
{
cout << endl << "----+----------";

UzuUq = uteiler (x, RpzuRL); // Verweis auf die ausgegliederte Funktion

cout << endl << x;
(x<0.1)? cout<< " " : cout;
(x>1)? cout<< " |" : cout << " |";
cout << " " << UzuUq;
}
system ("pause");
}

Uteiler.cpp:

#include <iostream>
#include "uteiler.h"
using namespace std;

float uteiler (float a, float b)
{
return a/(a*(1-a)*b+1);
}


uteiler.h:

#ifndef __uteiler_H
#define __uteiler_H

float uteiler (float, float);
#endif

wenn sich jemand mit c++ auskennt und weiss wies geht würde ich mich freuen wenns jemand schreibt^^ gerne auch über skype für bildschirmübertragung ^^



Daxter

Geselle

Beiträge: 92

Registrierungsdatum: 22.10.2011

Wohnort: Hessen

Hauptcharakter: Daxter

  • Private Nachricht

2

Mittwoch, 9. April 2014, 19:22

Was funktioniert da denn genau nicht?

Soweit ich das noch in errinnerung habe, musst du insofern du die Funktion nicht über die Main Funktion schreibst, bekannt geben. Also float uteiler (float a, float b) einfach nochmal ganz oben hin Kopieren.
Über int main (void)

C++ ist aber jetzt schon ein bisschen her

Zitat

cout << endl << x;

(x<0.1)? cout<< " " : cout;

(x>1)? cout<< " |" : cout << " |";

cout << " " << UzuUq;
Das Rotmarkierte ist auch falsch. Du kannst vor ein cout nichts schreiben. Müsste wenn dann so aussehen: cout << (x<0.1): << endl; aussehen. Das untere genau so
Sometimes when my mom isn't home, I like to go into her garden, cover myself with dirt and pretend I'm a potato.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Daxter« (9. April 2014, 19:31)


3

Mittwoch, 9. April 2014, 19:58

(x<0.1)? cout<< " " : cout; is scho richtig is ne verkürtzte if else funktion^^
Das problem liegt darin das da die uteiler.cpp ja in einem anderem prjektordner liegt
#include
#include "uteiler.h"
using namespace std;</iostream>
float uteiler (float a, float b)
{
return a/(a*(1-a)*b+1);
}
Bei dieser uteiler.cpp gibt er nen fehler aus. Einen anderen den ich gefragt hatte meint das man so ein programm nicht ohne eine mainfunktion im selben projektordner schreiben kann weil uteiler hat ja nur diese datei plus die header



Daxter

Geselle

Beiträge: 92

Registrierungsdatum: 22.10.2011

Wohnort: Hessen

Hauptcharakter: Daxter

  • Private Nachricht

4

Mittwoch, 9. April 2014, 20:27

Ok gut wusste ich nicht, hab ich noch nie so gesehen :D

Was spricht den dagegen, die Funktion in der selben Projektdatei zu schreiben?
Sometimes when my mom isn't home, I like to go into her garden, cover myself with dirt and pretend I'm a potato.

5

Mittwoch, 9. April 2014, 20:39

naja dagegen spricht die aufgabe vom Proff :D