| Autor |
Nachricht |
agent60
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.04.2012
Beiträge: 10
|
agent60 Mitglied
12:15:46 15.04.2012 Titel: |
Einschalten einer Gluehbirne |
Zitieren |
Hey Leute,
habe ein Programm für die Uni welches ich leider nicht mehr zum Laufen krieg.
Es geht um eine Glühbirne. Weder Dev++ noch Visual krieg ich nicht hin
Das Programm ist aber schon fertig, kann mal bitte eben jemand schauen was für ein Fehler angezeigt wird ? Danke schonmal im v******.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
// Anfang Definition der beteiligten Elemente
FILE *datei;
double
// Eigenschaften des Drahtes
l = 0.45, // Länge des Drahtes in m
r = 0.00002, // Radius des Drahtes in m
Ob, // Oberfläche Draht
A, // Querschnittsfläche des Drahtes
V, // Volumen des Drahtes
Rspe = 0.0000000528,// Spezifischer Wiederstand Wolfram in Ohm*m
Rhod = 19300, // Dichte von Wolfram in kg/m3
md, // Masse des Drahtes
Rd, // Wiederstand des Drahtes
Rel, // Elektrischer Wiederstand des Drahtes bei T
Rt, // Spezifische-elektrische Wiederstand des Drahtes in Abhängigkeit von der Temperatur
Rhalte=3.5, // Widerstand des Haltedrahtes und des Gehäuses
Tschmelz = 3695.15, // Schmelztemperatur des Drahtes in °K
// Temperaturkonstanten/variablen
Tr = 293.15, // Raumtemperatur in K / Temperatur des Drahtes bei t=0
T, // Temperatur des Drahtes in Abhängigkeit von der Zeit
Tc, // Temperatur des Drahtes in Celsius
Td, // Temperaturdifferenz Raum-Draht in °C
Ter, // Erwärmung des Drahtes
alpha = 0.0041, // Linearer Temperaturkoeffizient in 1/°C
beta = 0.000001, // Linearer Temperaturkoeffizient in 1/°C
lambda = 163, // Wärmeleitfähigkeit Wolfram
c = 134, // spezifische Wärmekapazität Wolfram in J/(kg*°C)
// Allgemeine Variablen / Konstanten
iterationen = 100000000, // Anzahl der maximalen Iterationen der Simulation
lambdamax, // Maximum der Strahlungsintensität in Nanometern
Ug = 230, // Spannung
U, // Spannung die am Draht anliegt in V
I, // Stromstärke die am Draht anliegt in A
f = 50, // Frequenz der Wechselspannung in Hz
P, // Leistung im Draht
Pg, // Aufgenommene Leistung Pgesamt
C, // Wärmekapazität
Bk = 0.000000056704, // Stefan-Boltzmann-Konstante
Pstr, // Strahlungsleistung des Drahtes
deltat = 0.000001, // Zeitschritt pro Iteration in Sekunden
epsilon, // Näherung des Gesamtemmisionsgrades
quiet = 0, // Nur Daten ausgeben, keine weiteren Informationen
stat = 1, // Stationäre Werte erreicht falls stat==0
Im, // Memory der Werte für stat()
statvar = 1.00000001, // Faktor um den P variieren darf um als stat. zu gelten
k=10, // Zähler für Wellenlaenge(), Startwert der Spannung/10 für UI-Diagramm
//Längenänderung Draht
deltal, // Länge
deltar, // Radius
deltaT, // Temperatur
ausdkoeff = 0.0000045, // Ausdehnungskoeffizient
la, // Länge nach Ausdehnung
ra, // Radius nach Audehnung
t, // Zeitpunkt in Sekunden nach dem einschalten
// Ausgabevariablen
custom=0, // Kündigt eigene Ausgabe an:
uout=0, // Spannung U wird ausgegeben
iout=0, // Stromstärke I wird ausgegeben
lambdamaxout=0, // Wellenlänge mit max. Strahlungsintensität wird ausgegeben
pout, // Aufgenommene Leistung ausgeben
tout=0, // Temperatur in C° wird ausgegeben
wechselstrom=0, // Wird der Wechselstorm beachtet?
freq = 50,
timeout=0; // Laufzeit in s wurd ausgegeben
int type;
// Ende Definition der beteiligten Elemente
// Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem
void Mem()
{
if (wechselstrom==1) // Falls mit Wechselstrom simuliert wird:
{
if (Ug == 325 ); // Es wird die Stromstärke bei der Maximalspannung verglichen,
{ Im = I;}
}
if (wechselstrom ==0)
Im= I; //
}
// Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem
// Anfang Stationar Anfang Stationar Anfang Stationar Anfang Stationar Anfang Stationar
void Stationaer() // Überprüfung auf Stationäre Werte
{
if (wechselstrom==0) // Ohne Wechselstrom:
{
if (I >= Im){
if(I<=Im*statvar){ stat = 0;}} // Hier wird bei jeder Iteration verglichen
else if (I <= Im){
if(I*statvar>=Im){ stat = 0;}}
}
else // Mit Wechselstrom:
{ if (Ug==325) // Hier wird nur bei der <Maximalspannung verglichen
{
if (I >= Im){
if(I<=Im*statvar){ stat = 0;}}
else if (I <= Im){
if(I*statvar>=Im){ stat = 0;}}
}
}
}
// Ende Stationaer Ende Stationaer Ende Stationaer Ende Stationaer Ende Stationaer
// Anfang Wechselstrom Anfang Wechselstrom Anfang Wechselstrom Anfang Wechselstrom
void Wechselstrom()
{
Ug=325*sin((M_PI*t)/((1/freq))); // Simmuliet eine Sinusförmige Wechselspannung
}
// Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom
// Anfang Laengenaenderung Anfang Laengenaenderung Anfang Laengenaenderung Anfang Laengenaenderung
void Laengenaenderung() // Simuliert die Temperaturanhängige Ausdehnung des Drahtes
{
deltaT = T - Tr; // Temperaturdifferenz Draht - Raum
deltal = l*ausdkoeff*deltaT; // Längenänderung des Drahtes
deltar = r*ausdkoeff*deltaT; // Änderung des Drahtradius
la = l + deltal; // Drahtlänge nach Ausdehnung
ra = r + deltar; // Drahtradius nach Ausdehnung
Ob = 2*ra*M_PI*la; // Neue Oberfläche des Drahtes
}
// Ende Laengenaenderung Ende Laengenaenderung Ende Laengenaenderung Ende Laengenaenderung
// Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe
void Farbe() // Beschreibt die Farbe mit der max. Strahlungsleistung
{
if (lambdamax > 780 && lambdamax < 1000000) printf("Infrarot\n");
else if (lambdamax > 0 && lambdamax <380) printf("Ultraviolett\n");
else if (lambdamax > 380 && lambdamax <450) printf("der Farbe Pupurblau\n");
else if (lambdamax > 450 && lambdamax <482) printf("der Farbe Blau\n");
else if (lambdamax > 482 && lambdamax <487) printf("der Farbe Grünlich-Blau\n");
else if (lambdamax > 487 && lambdamax <492) printf("der Farbe Cyan\n");
else if (lambdamax > 492 && lambdamax <497) printf("der Farbe Bläulich-Grün\n");
else if (lambdamax > 497 && lambdamax <530) printf("der Farbe Grün\n");
else if (lambdamax > 530 && lambdamax <560) printf("der Farbe Gelblich-Grün\n");
else if (lambdamax > 560 && lambdamax <570) printf("der Farbe Gelb-Grün\n");
else if (lambdamax > 570 && lambdamax <575) printf("der Farbe Grünlich-Gelb\n");
else if (lambdamax > 575 && lambdamax <580) printf("der Farbe Gelb\n");
else if (lambdamax > 580 && lambdamax <585) printf("der Farbe Gelblich-Orange\n");
else if (lambdamax > 585 && lambdamax <595) printf("der Farbe Orange\n");
else if (lambdamax > 595 && lambdamax <620) printf("der Farbe Rötlich-Orange\n");
else if (lambdamax > 620 && lambdamax <780) printf("der Farbe Rot\n");
}
// Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe
// Anfang Konstantenberechnung Anfang Konstantenberechnung Anfang Konstantenberechnung
void Konstantenberechnung()
{// Hier werden die im Laufe der Rechnung benoetigten Konstanten berechnet
T = Tr; // T Temperatur des Drahtes ist Raumtemperatur Tr
A = r*r*M_PI; // Querschnittflaeche des Drahtes
V = A*l; // Volumen des Drahtes
Ob = 2*r*M_PI*l; // Oberfläche des Drahtes
md = V*Rhod; // Masse des Drahtes
//Rel = (Rspe*l)/A; // elektrischer Widerstand des Drahtes
Rel = 58.5; // Widerstand laut Osram
C = c*md; // Wärmekapazität
t=0;
if (quiet == 0)printf(" Oberfläche %9.8fm² Gewicht %10.9fkg Rel %10.8fOhm C%10.9f\n" ,Ob,md,Rel,C);
}
// Ende Konstantenberechnung Anfang Konstantenberechnung Anfang Konstantenberechnung
// Anfang Berechnung Anfang Berechnung Anfang Berechnung Anfang Berechnung
void Berechnung() // Anfang: Berechnung eines Zeitabschnittes
{
if (wechselstrom==1) Wechselstrom();
Laengenaenderung(); // Beachten der Temperaturabhängigen Ausdehnung des Glühdrahtes
Td = T - 293.15; // Temperaturdifferenz Draht-Raumtemperatur
//Elektrische Eigenschaften-----------------
Rt = Rel*(1+alpha*(Td)+beta*pow(Td,2)); // Spezifische-elektrische Wiederstand des Drahtes
U = Ug - (Ug * Rhalte / (Rhalte + Rt)); // Spannung die am Glühdraht anliegt, //Haltedrahtwiderstand subtr.
P =0.98*((U*U)/Rt); // Aufgenommene Leistung
I = U / Rt; // Stromstaerke I wird berechnet
Pg= U * I; // vom Draht aufgenommene Leistung
//Gesamtemissionsgrad-----------------------------------
//epsilon = 0.05 + ((0.39/3300)*(T-273.153)); // Gesamtemissionsgrad linear
Tc = T - 273.15; // Temperatur von Kelvin in Celsius umrechnen
epsilon = -1*pow(10, -8)*Tc*Tc +0.0002*Tc + 0.0235; // Gesamtemissionsgrad polynomisch
if (epsilon > 0.39) // Lineare Naeherung mit 0.39 als Obergrenze
epsilon=0.39;
//Strahlung----------------------------------------------
Pstr = (pow(T,4)*Bk*Ob*epsilon); // Strahlungsleistung nach Stefan-Boltzmann-Gesetz
P = P-Pstr; // Summe der Leistungsaufnahme/abgabe
lambdamax = 2897800 / T; // Wiensches Verschiebungsgesetz
Ter = (P*deltat)/C; // Ter = Erwärmung des Drahtes
T = T + Ter; // Aktualisierung der Drahttemperatur
t = t + deltat; // Aktualisierung der Laufzeit
}
// Ende Berechnung Ende Berechnung Ende Berechnung Ende Berechnung Ende Berechnung
// Anfang Datenausgabe Anfang Datenausgabe Anfang Datenausgabe Anfang Datenausgabe
void DatenausgabeSim() // Für "Simulation()"
{
datei = fopen ("Simulation.dat", "a"); // Öffnen der Zeildatei
if (datei != NULL) // Falls fehlerfrei
if (quiet == 1) // Ausgabe ohne Einheiten
{
printf(" %8.3f %10.8f %10.9f %7.2f %8.6f\n"
,Pg,I,T-273.15,Pstr,t); // Ausgabe in der Console, ohne Einheiten
fprintf (datei," %8.3f %5.2f %10.9f %7.2f %8.6f\n"
,Pg,I,T-273.15,Pstr,t); // Hinzufügen einer Zeile, ohne Einheiten
}
else // Ausgabe mit Einheiten
{
printf(" P %15.10fW I %10.8fA T %8.2f°C Strahll. %7.2fW t %8.6fs\n"
,Pg,I,T-273.15,Pstr,t); // Ausgabe in der Console, mit Einheiten
fprintf (datei, " P %10.3fW I %5.2fA T %8.2f°C Strahll. %7.2fW t %8.6fs\n"
,Pg,I,T-273.15,Pstr,t);// Hinzufügen einer Zeile, mit Einheiten
}
fclose (datei); // Schließen der Zieldatei
}
void DatenausgabeUID() // Für UIDiagramm
{
datei = fopen ("UIDiagramm.dat", "a"); // Öffnen der Zeildatei
if (datei != NULL) // Falls fehlerfrei
if (quiet == 1) // Falls keine Einheuten ausgegeben werden sollen
{
fprintf (datei, "%5.1f %6.5f\n" ,Ug,I); // Hinzufügen einer Zeile, ohne Einheiten
printf("%5.1f %6.5f\n" ,Ug,I); // Ausgabe in der Console, ohne Einheiten
}
else // Falls Einheiten mit ausgegeben werden sollen
{
fprintf (datei, "%5.1fV %6.5fA\n" ,Ug,I); // Hinzufügen einer Zeile, ohne Einheiten
printf("%5.1fV %6.5fA\n" ,Ug,I); // Ausgabe in der Console, ohne Einheiten
}
fclose (datei); // Schließen der Zieldatei
}
// Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe
// Anfang Customout Anfang Customout Anfang Customout Anfang Customout Anfang Customout
void Customout() // Falls eine eigene Ausgabe gewünscht ist, wird diese hier entsprechend den Parametern erstellt
{
if (quiet == 0) // Einheiten werden ausgegeben
{
if (timeout==1){ printf ("%8.6fs ",t); fprintf (datei, "%8.6fs " ,t);} // Laufzeit
if (uout==1){ printf ("%5.1fV ",Ug); fprintf (datei, "%5.1fV " ,Ug);} // Spannung
if (iout==1){ printf ("%6.4fA ",I); fprintf (datei, "%6.4fA " ,I);} // Stromstärke
if (pout==1){ printf ("%6.4fW ",Pg); fprintf (datei, "%6.4f " ,Pg);} // Aufgenommene
//Leistung gesamt
if (lambdamaxout==1){ printf ("%5.1fnm ",lambdamax); fprintf (datei, "%5.1fnm " ,lambdamax);} // Wellenlänge mit max. Strahlungsleistung
if (tout==1){ printf ("%6.2f°C ",T-273.15); fprintf (datei, "%5.1f°C " ,T-273.15);}
// Temperatur in °C
printf ("\n"); fprintf (datei, "\n"); // Zeilenumbruch
fclose (datei);
}
else // Einheiten werden nicht ausgegeben
{
if (timeout==1){ printf ("%8.6f ",t); fprintf (datei, "%8.6f " ,t);} // Laufzeit
if (uout==1){ printf ("%5.1f ",Ug); fprintf (datei, "%5.1f " ,Ug);} // Spannung
if (iout==1){ printf ("%6.4f ",I); fprintf (datei, "%6.4f " ,I);} // Stromstärke
if (pout==1){ printf ("%6.4f ",Pg); fprintf (datei, "%6.4f " ,Pg);} // Aufgenommene // Leistung gesamt
if (lambdamaxout==1){ printf ("%5.1f ",lambdamax); fprintf (datei, "%5.1f" ,lambdamax);} // Wellenlänge mit max. Strahlungsleistung
if (tout==1){ printf ("%6.2f",T-273.15); fprintf (datei, "%6.2f " ,T-273.15);}
// Temperatur in °C
printf ("\n"); fprintf (datei, "\n"); // Zeilenumbruch
fclose (datei);
}
}
// Ende Customout Ende Customout Ende Customout Ende Customout Ende Customout
// Anfang Simulation Anfang Simulation Anfang Simulation Anfang Simulation Anfang Simulation
{
Konstantenberechnung();
int i;
for (i=0; i<iterationen*stat; i++) // Iteriert bis stationäre Werte erreicht sind
{
Mem(); // Speichert die Momentane Stromstärke um sie mit der nächsten zu vergleichen
Berechnung(); // Eigentliche Berechnung der Lampe
if (custom == 1) // Falls eigene Ausgabe gewünscht ist
{
datei = fopen ("Simulation.dat", "a");
Customout(); // Eigene Ausgabe
}
else if (custom == 0) // Ansonsten Standartausgabe
DatenausgabeSim(); // Gibt die Werte aus
Stationaer(); // Vergleicht die Werte aus Mem() mit den aktuellen
if (stat == 1 && i == iterationen-1) // Falls keine Stationären Werte erreicht werden und alle
// Schleifen durchgelaufen sind
printf(" Ende der Schleife\n Keine Stationären Werte erreicht\n");
}
if (quiet == 0)
{
if (T > Tschmelz) printf("Die Drahttemperatur überschreitet denn Schmelzpunkt. Der Draht versagt!\n");
printf ("Stationäre Werte erreicht bei %7.6fs, Änderung P < 0.01promille\n",t);
printf("Maximale Strahlungsleistung bei %8.6fnm, das entspricht " ,lambdamax);
Farbe(); printf("\n");
}
}
// Ende Simulation Ende Simulation Ende Simulation Ende Simulation Ende Simulation Ende Simulation
// Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm
void UIDiagramm()
{
int i;
if(quiet == 0) printf("UIDiagramm Start\n");
Konstantenberechnung();
datei = fopen ("UIDiagramm.dat", "a");
if (datei != NULL)
for (k; k<2301; k++) // Intervall für das die stationären Werte berechnet werden
{
Ug=k*0.1; // 0.1V Schritte
if (timeout==1) // Nur falls die Zeit bis zur Stationärität benötigt wird
{ // Andernfalls wird so die Rechenzeit verkürzt
T = Tr; // Widerherstellung der Ausgangswerte: Draht hat Raumtemperatur
Ob = 2*r*M_PI*l; // Oberfläche des Drahtes, Längenänderung zurücknehmen
t = 0; // Laufzeit auf 0
}
for (i=0; i<iterationen*stat; i++) // Widerholen bis stat. Werte erreicht sind
{
Mem(); // Speichert die Momentane Stromstärke um sie mit der nächsten zu vergleichen
Berechnung(); // Eigentliche Berechnung der Lampe
Stationaer(); // Vergleicht die Werte aus Mem() mit den aktuellen
}
stat=1; // stationär wider "unwahr" setzen
{
if (custom == 1) // Eigene Ausgabe
{
datei = fopen ("UIDiagramm.dat", "a");
Customout();
}
else if (custom == 0) // stan**** Ausgabe
{
DatenausgabeUID();
}
}
}
if(quiet == 0) printf("UIDiagramm Ende\n" ); // Statusmeldung
}
// Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm
// Anfang main Anfang main Anfang main Anfang main Anfang main Anfang main Anfang main
int main(int argc,char* argv[])
{
int gueltig=1; // Parameter für gültige Eingabe
int i = 1;
if (argc == 1) printf("Kein Parameter übergeben.\nDas Programm wurde beendet. \nSiehe Bericht: '5.Programmaufruf'."); // Falls kein Parameter übergeben wird
for(; i < argc*gueltig; ++i) // Überprüfung der Parameter, bis ein ungültiger auftritt
{
if (!strcmp( argv[i], "quiet" )) // Nur Daten werden ausgegeben,
quiet = 1; // Keine Einheiten/Statusmeldung
else if (!strcmp( argv[i], "U" )) // Spannung U ausgeben
{
custom = 1; // Benutzerdefienierte Ausgabe
uout = 1;
}
else if (!strcmp( argv[i], "I" )) // Stromstärke I ausgeben
{
custom = 1; // Benutzerdefienierte Ausgabe
iout = 1;
}
else if (!strcmp( argv[i], "L" )) // Gibt Wellenlänge mit maximaler
{ // Strahlungsleistung aus
custom = 1; // Benutzerdefienierte Ausgabe
lambdamaxout = 1;
}
else if (!strcmp( argv[i], "T" )) // Gibt die Temperatur in Grad Celsius aus
{
custom = 1; // Benutzerdefienierte Ausgabe
tout = 1;
}
else if (!strcmp( argv[i], "P" )) // GIbt die aufgenommene Leistung aus
{
custom = 1; // Benutzerdefienierte Ausgabe
pout = 1;
}
else if (!strcmp( argv[i], "speed" )) // Beschleunigt den Iterationsvorgang zu
{ // Lasten der Ergebnisse
statvar = ((statvar-1)*10)+1;
k = k+100; // Erhöht Anfang des UIDiagramms um 10V
}
else if (!strcmp( argv[i], "Z" )) // Gibt die Laufzeit aus
{
timeout = 1;
custom = 1; // Benutzerdefienierte Ausgabe
}
else if (!strcmp( argv[i], "wechsel" ))// Simuliert mit Wechselspannung
{
wechselstrom = 1;
statvar = 1.0001; // Verringert nötige Genauiggkeit
}
else if (!strcmp( argv[i], "S" ))
{
FILE *datei; // Erstellen bzw überschreiben des Textdokumentes
datei = fopen ("Simulation.dat", "w");
if (datei != NULL)
fprintf (datei, "");
fclose (datei);
Simulation(); // Eigentliche Berechnung
}
else if (!strcmp( argv[i], "W" ))
{
FILE *datei; // Erstellen bzw überschreiben des Textdokumentes
datei = fopen ("UIDiagramm.dat", "w");
if (datei != NULL)
fprintf (datei, "");
fclose (datei);
UIDiagramm(); // Eigentliche Berechnung
}
else // Ungültige Parameter abfangen
{
printf("Ungültiger Parameter '%s'\nDas Programm wurde beendet."
"\nBitte verwenden Sie nur gültige Parameter.",argv[i]);
gueltig=0; // Stoppt das Programm
}
}
return 0;
}
// Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main
// Ende des Programms |
|
|
|
 |
lagalopex
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.01.2008
Beiträge: 317
|
lagalopex Mitglied
17:03:32 15.04.2012 Titel: |
|
Zitieren |
Es fehlen die cpp-tags.
Was genau ist dein Problem?
Übersetzen lässt sich das Program so nicht... |
|
|
|
 |
Mechanics
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 1368
|
Mechanics Mitglied
17:04:42 15.04.2012 Titel: |
Re: Einschalten einer Gluehbirne |
Zitieren |
| agent60 schrieb: | | // Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main Ende Main |
LOL |
|
|
|
 |
agent60
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.04.2012
Beiträge: 10
|
agent60 Mitglied
23:16:41 15.04.2012 Titel: |
|
Zitieren |
Also ich hab das ganze nicht selber geschrieben. Könnte ich auch nicht, weil ich absoluter Anfänger bin.
Was genau muss ich denn machen um die Konsole hier jetzt anzubekommen
Weiss nämlich nicht was ich mit der Aussage über cpp.tags anfangen soll.
Wäre echt nett wenn ihr mir eben helfen könnt. |
|
|
|
 |
Mechanics
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 1368
|
Mechanics Mitglied
23:31:49 15.04.2012 Titel: |
|
Zitieren |
Du sollst die cpp tags benutzen, damit dein Code halbwegs lesbar wird:
| C++: | 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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 | #include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
// Anfang Definition der beteiligten Elemente
FILE *datei;
double
// Eigenschaften des Drahtes
l = 0.45, // Länge des Drahtes in m
r = 0.00002, // Radius des Drahtes in m
Ob, // Oberfläche Draht
A, // Querschnittsfläche des Drahtes
V, // Volumen des Drahtes
Rspe = 0.0000000528,// Spezifischer Wiederstand Wolfram in Ohm*m
Rhod = 19300, // Dichte von Wolfram in kg/m3
md, // Masse des Drahtes
Rd, // Wiederstand des Drahtes
Rel, // Elektrischer Wiederstand des Drahtes bei T
Rt, // Spezifische-elektrische Wiederstand des Drahtes in Abhängigkeit von der Temperatur
Rhalte=3.5, // Widerstand des Haltedrahtes und des Gehäuses
Tschmelz = 3695.15, // Schmelztemperatur des Drahtes in °K
// Temperaturkonstanten/variablen
Tr = 293.15, // Raumtemperatur in K / Temperatur des Drahtes bei t=0
T, // Temperatur des Drahtes in Abhängigkeit von der Zeit
Tc, // Temperatur des Drahtes in Celsius
Td, // Temperaturdifferenz Raum-Draht in °C
Ter, // Erwärmung des Drahtes
alpha = 0.0041, // Linearer Temperaturkoeffizient in 1/°C
beta = 0.000001, // Linearer Temperaturkoeffizient in 1/°C
lambda = 163, // Wärmeleitfähigkeit Wolfram
c = 134, // spezifische Wärmekapazität Wolfram in J/(kg*°C)
// Allgemeine Variablen / Konstanten
iterationen = 100000000, // Anzahl der maximalen Iterationen der Simulation
lambdamax, // Maximum der Strahlungsintensität in Nanometern
Ug = 230, // Spannung
U, // Spannung die am Draht anliegt in V
I, // Stromstärke die am Draht anliegt in A
f = 50, // Frequenz der Wechselspannung in Hz
P, // Leistung im Draht
Pg, // Aufgenommene Leistung Pgesamt
C, // Wärmekapazität
Bk = 0.000000056704, // Stefan-Boltzmann-Konstante
Pstr, // Strahlungsleistung des Drahtes
deltat = 0.000001, // Zeitschritt pro Iteration in Sekunden
epsilon, // Näherung des Gesamtemmisionsgrades
quiet = 0, // Nur Daten ausgeben, keine weiteren Informationen
stat = 1, // Stationäre Werte erreicht falls stat==0
Im, // Memory der Werte für stat()
statvar = 1.00000001, // Faktor um den P variieren darf um als stat. zu gelten
k=10, // Zähler für Wellenlaenge(), Startwert der Spannung/10 für UI-Diagramm
//Längenänderung Draht
deltal, // Länge
deltar, // Radius
deltaT, // Temperatur
ausdkoeff = 0.0000045, // Ausdehnungskoeffizient
la, // Länge nach Ausdehnung
ra, // Radius nach Audehnung
t, // Zeitpunkt in Sekunden nach dem einschalten
// Ausgabevariablen
custom=0, // Kündigt eigene Ausgabe an:
uout=0, // Spannung U wird ausgegeben
iout=0, // Stromstärke I wird ausgegeben
lambdamaxout=0, // Wellenlänge mit max. Strahlungsintensität wird ausgegeben
pout, // Aufgenommene Leistung ausgeben
tout=0, // Temperatur in C° wird ausgegeben
wechselstrom=0, // Wird der Wechselstorm beachtet?
freq = 50,
timeout=0; // Laufzeit in s wurd ausgegeben
int type;
// Ende Definition der beteiligten Elemente
// Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem Anfang Mem
void Mem()
{
if (wechselstrom==1) // Falls mit Wechselstrom simuliert wird:
{
if (Ug == 325 ); // Es wird die Stromstärke bei der Maximalspannung verglichen,
{ Im = I;}
}
if (wechselstrom ==0)
Im= I; //
}
// Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem Ende Mem
// Anfang Stationar Anfang Stationar Anfang Stationar Anfang Stationar Anfang Stationar
void Stationaer() // Überprüfung auf Stationäre Werte
{
if (wechselstrom==0) // Ohne Wechselstrom:
{
if (I >= Im){
if(I<=Im*statvar){ stat = 0;}} // Hier wird bei jeder Iteration verglichen
else if (I <= Im){
if(I*statvar>=Im){ stat = 0;}}
}
else // Mit Wechselstrom:
{ if (Ug==325) // Hier wird nur bei der <Maximalspannung verglichen
{
if (I >= Im){
if(I<=Im*statvar){ stat = 0;}}
else if (I <= Im){
if(I*statvar>=Im){ stat = 0;}}
}
}
}
// Ende Stationaer Ende Stationaer Ende Stationaer Ende Stationaer Ende Stationaer
// Anfang Wechselstrom Anfang Wechselstrom Anfang Wechselstrom Anfang Wechselstrom
void Wechselstrom()
{
Ug=325*sin((M_PI*t)/((1/freq))); // Simmuliet eine Sinusförmige Wechselspannung
}
// Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom Ende Wechselstrom
// Anfang Laengenaenderung Anfang Laengenaenderung Anfang Laengenaenderung Anfang Laengenaenderung
void Laengenaenderung() // Simuliert die Temperaturanhängige Ausdehnung des Drahtes
{
deltaT = T - Tr; // Temperaturdifferenz Draht - Raum
deltal = l*ausdkoeff*deltaT; // Längenänderung des Drahtes
deltar = r*ausdkoeff*deltaT; // Änderung des Drahtradius
la = l + deltal; // Drahtlänge nach Ausdehnung
ra = r + deltar; // Drahtradius nach Ausdehnung
Ob = 2*ra*M_PI*la; // Neue Oberfläche des Drahtes
}
// Ende Laengenaenderung Ende Laengenaenderung Ende Laengenaenderung Ende Laengenaenderung
// Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe Anfang Farbe
void Farbe() // Beschreibt die Farbe mit der max. Strahlungsleistung
{
if (lambdamax > 780 && lambdamax < 1000000) printf("Infrarot\n");
else if (lambdamax > 0 && lambdamax <380) printf("Ultraviolett\n");
else if (lambdamax > 380 && lambdamax <450) printf("der Farbe Pupurblau\n");
else if (lambdamax > 450 && lambdamax <482) printf("der Farbe Blau\n");
else if (lambdamax > 482 && lambdamax <487) printf("der Farbe Grünlich-Blau\n");
else if (lambdamax > 487 && lambdamax <492) printf("der Farbe Cyan\n");
else if (lambdamax > 492 && lambdamax <497) printf("der Farbe Bläulich-Grün\n");
else if (lambdamax > 497 && lambdamax <530) printf("der Farbe Grün\n");
else if (lambdamax > 530 && lambdamax <560) printf("der Farbe Gelblich-Grün\n");
else if (lambdamax > 560 && lambdamax <570) printf("der Farbe Gelb-Grün\n");
else if (lambdamax > 570 && lambdamax <575) printf("der Farbe Grünlich-Gelb\n");
else if (lambdamax > 575 && lambdamax <580) printf("der Farbe Gelb\n");
else if (lambdamax > 580 && lambdamax <585) printf("der Farbe Gelblich-Orange\n");
else if (lambdamax > 585 && lambdamax <595) printf("der Farbe Orange\n");
else if (lambdamax > 595 && lambdamax <620) printf("der Farbe Rötlich-Orange\n");
else if (lambdamax > 620 && lambdamax <780) printf("der Farbe Rot\n");
}
// Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe Ende Farbe
// Anfang Konstantenberechnung Anfang Konstantenberechnung Anfang Konstantenberechnung
void Konstantenberechnung()
{// Hier werden die im Laufe der Rechnung benoetigten Konstanten berechnet
T = Tr; // T Temperatur des Drahtes ist Raumtemperatur Tr
A = r*r*M_PI; // Querschnittflaeche des Drahtes
V = A*l; // Volumen des Drahtes
Ob = 2*r*M_PI*l; // Oberfläche des Drahtes
md = V*Rhod; // Masse des Drahtes
//Rel = (Rspe*l)/A; // elektrischer Widerstand des Drahtes
Rel = 58.5; // Widerstand laut Osram
C = c*md; // Wärmekapazität
t=0;
if (quiet == 0)printf(" Oberfläche %9.8fm² Gewicht %10.9fkg Rel %10.8fOhm C%10.9f\n" ,Ob,md,Rel,C);
}
// Ende Konstantenberechnung Anfang Konstantenberechnung Anfang Konstantenberechnung
// Anfang Berechnung Anfang Berechnung Anfang Berechnung Anfang Berechnung
void Berechnung() // Anfang: Berechnung eines Zeitabschnittes
{
if (wechselstrom==1) Wechselstrom();
Laengenaenderung(); // Beachten der Temperaturabhängigen Ausdehnung des Glühdrahtes
Td = T - 293.15; // Temperaturdifferenz Draht-Raumtemperatur
//Elektrische Eigenschaften-----------------
Rt = Rel*(1+alpha*(Td)+beta*pow(Td,2)); // Spezifische-elektrische Wiederstand des Drahtes
U = Ug - (Ug * Rhalte / (Rhalte + Rt)); // Spannung die am Glühdraht anliegt, //Haltedrahtwiderstand subtr.
P =0.98*((U*U)/Rt); // Aufgenommene Leistung
I = U / Rt; // Stromstaerke I wird berechnet
Pg= U * I; // vom Draht aufgenommene Leistung
//Gesamtemissionsgrad-----------------------------------
//epsilon = 0.05 + ((0.39/3300)*(T-273.153)); // Gesamtemissionsgrad linear
Tc = T - 273.15; // Temperatur von Kelvin in Celsius umrechnen
epsilon = -1*pow(10, -8)*Tc*Tc +0.0002*Tc + 0.0235; // Gesamtemissionsgrad polynomisch
if (epsilon > 0.39) // Lineare Naeherung mit 0.39 als Obergrenze
epsilon=0.39;
//Strahlung----------------------------------------------
Pstr = (pow(T,4)*Bk*Ob*epsilon); // Strahlungsleistung nach Stefan-Boltzmann-Gesetz
P = P-Pstr; // Summe der Leistungsaufnahme/abgabe
lambdamax = 2897800 / T; // Wiensches Verschiebungsgesetz
Ter = (P*deltat)/C; // Ter = Erwärmung des Drahtes
T = T + Ter; // Aktualisierung der Drahttemperatur
t = t + deltat; // Aktualisierung der Laufzeit
}
// Ende Berechnung Ende Berechnung Ende Berechnung Ende Berechnung Ende Berechnung
// Anfang Datenausgabe Anfang Datenausgabe Anfang Datenausgabe Anfang Datenausgabe
void DatenausgabeSim() // Für "Simulation()"
{
datei = fopen ("Simulation.dat", "a"); // Öffnen der Zeildatei
if (datei != NULL) // Falls fehlerfrei
if (quiet == 1) // Ausgabe ohne Einheiten
{
printf(" %8.3f %10.8f %10.9f %7.2f %8.6f\n"
,Pg,I,T-273.15,Pstr,t); // Ausgabe in der Console, ohne Einheiten
fprintf (datei," %8.3f %5.2f %10.9f %7.2f %8.6f\n"
,Pg,I,T-273.15,Pstr,t); // Hinzufügen einer Zeile, ohne Einheiten
}
else // Ausgabe mit Einheiten
{
printf(" P %15.10fW I %10.8fA T %8.2f°C Strahll. %7.2fW t %8.6fs\n"
,Pg,I,T-273.15,Pstr,t); // Ausgabe in der Console, mit Einheiten
fprintf (datei, " P %10.3fW I %5.2fA T %8.2f°C Strahll. %7.2fW t %8.6fs\n"
,Pg,I,T-273.15,Pstr,t);// Hinzufügen einer Zeile, mit Einheiten
}
fclose (datei); // Schließen der Zieldatei
}
void DatenausgabeUID() // Für UIDiagramm
{
datei = fopen ("UIDiagramm.dat", "a"); // Öffnen der Zeildatei
if (datei != NULL) // Falls fehlerfrei
if (quiet == 1) // Falls keine Einheuten ausgegeben werden sollen
{
fprintf (datei, "%5.1f %6.5f\n" ,Ug,I); // Hinzufügen einer Zeile, ohne Einheiten
printf("%5.1f %6.5f\n" ,Ug,I); // Ausgabe in der Console, ohne Einheiten
}
else // Falls Einheiten mit ausgegeben werden sollen
{
fprintf (datei, "%5.1fV %6.5fA\n" ,Ug,I); // Hinzufügen einer Zeile, ohne Einheiten
printf("%5.1fV %6.5fA\n" ,Ug,I); // Ausgabe in der Console, ohne Einheiten
}
fclose (datei); // Schließen der Zieldatei
}
// Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe Ende Datenausgabe
// Anfang Customout Anfang Customout Anfang Customout Anfang Customout Anfang Customout
void Customout() // Falls eine eigene Ausgabe gewünscht ist, wird diese hier entsprechend den Parametern erstellt
{
if (quiet == 0) // Einheiten werden ausgegeben
{
if (timeout==1){ printf ("%8.6fs ",t); fprintf (datei, "%8.6fs " ,t);} // Laufzeit
if (uout==1){ printf ("%5.1fV ",Ug); fprintf (datei, "%5.1fV " ,Ug);} // Spannung
if (iout==1){ printf ("%6.4fA ",I); fprintf (datei, "%6.4fA " ,I);} // Stromstärke
if (pout==1){ printf ("%6.4fW ",Pg); fprintf (datei, "%6.4f " ,Pg);} // Aufgenommene
//Leistung gesamt
if (lambdamaxout==1){ printf ("%5.1fnm ",lambdamax); fprintf (datei, "%5.1fnm " ,lambdamax);} // Wellenlänge mit max. Strahlungsleistung
if (tout==1){ printf ("%6.2f°C ",T-273.15); fprintf (datei, "%5.1f°C " ,T-273.15);}
// Temperatur in °C
printf ("\n"); fprintf (datei, "\n"); // Zeilenumbruch
fclose (datei);
}
else // Einheiten werden nicht ausgegeben
{
if (timeout==1){ printf ("%8.6f ",t); fprintf (datei, "%8.6f " ,t);} // Laufzeit
if (uout==1){ printf ("%5.1f ",Ug); fprintf (datei, "%5.1f " ,Ug);} // Spannung
if (iout==1){ printf ("%6.4f ",I); fprintf (datei, "%6.4f " ,I);} // Stromstärke
if (pout==1){ printf ("%6.4f ",Pg); fprintf (datei, "%6.4f " ,Pg);} // Aufgenommene // Leistung gesamt
if (lambdamaxout==1){ printf ("%5.1f ",lambdamax); fprintf (datei, "%5.1f" ,lambdamax);} // Wellenlänge mit max. Strahlungsleistung
if (tout==1){ printf ("%6.2f",T-273.15); fprintf (datei, "%6.2f " ,T-273.15);}
// Temperatur in °C
printf ("\n"); fprintf (datei, "\n"); // Zeilenumbruch
fclose (datei);
}
}
// Ende Customout Ende Customout Ende Customout Ende Customout Ende Customout
// Anfang Simulation Anfang Simulation Anfang Simulation Anfang Simulation Anfang Simulation
{
Konstantenberechnung();
int i;
for (i=0; i<iterationen*stat; i++) // Iteriert bis stationäre Werte erreicht sind
{
Mem(); // Speichert die Momentane Stromstärke um sie mit der nächsten zu vergleichen
Berechnung(); // Eigentliche Berechnung der Lampe
if (custom == 1) // Falls eigene Ausgabe gewünscht ist
{
datei = fopen ("Simulation.dat", "a");
Customout(); // Eigene Ausgabe
}
else if (custom == 0) // Ansonsten Standartausgabe
DatenausgabeSim(); // Gibt die Werte aus
Stationaer(); // Vergleicht die Werte aus Mem() mit den aktuellen
if (stat == 1 && i == iterationen-1) // Falls keine Stationären Werte erreicht werden und alle
// Schleifen durchgelaufen sind
printf(" Ende der Schleife\n Keine Stationären Werte erreicht\n");
}
if (quiet == 0)
{
if (T > Tschmelz) printf("Die Drahttemperatur überschreitet denn Schmelzpunkt. Der Draht versagt!\n");
printf ("Stationäre Werte erreicht bei %7.6fs, Änderung P < 0.01promille\n",t);
printf("Maximale Strahlungsleistung bei %8.6fnm, das entspricht " ,lambdamax);
Farbe(); printf("\n");
}
}
// Ende Simulation Ende Simulation Ende Simulation Ende Simulation Ende Simulation Ende Simulation
// Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm Anfang UIDiagramm
void UIDiagramm()
{
int i;
if(quiet == 0) printf("UIDiagramm Start\n");
Konstantenberechnung();
datei = fopen ("UIDiagramm.dat", "a");
if (datei != NULL)
for (k; k<2301; k++) // Intervall für das die stationären Werte berechnet werden
{
Ug=k*0.1; // 0.1V Schritte
if (timeout==1) // Nur falls die Zeit bis zur Stationärität benötigt wird
{ // Andernfalls wird so die Rechenzeit verkürzt
T = Tr; // Widerherstellung der Ausgangswerte: Draht hat Raumtemperatur
Ob = 2*r*M_PI*l; // Oberfläche des Drahtes, Längenänderung zurücknehmen
t = 0; // Laufzeit auf 0
}
for (i=0; i<iterationen*stat; i++) // Widerholen bis stat. Werte erreicht sind
{
Mem(); // Speichert die Momentane Stromstärke um sie mit der nächsten zu vergleichen
Berechnung(); // Eigentliche Berechnung der Lampe
Stationaer(); // Vergleicht die Werte aus Mem() mit den aktuellen
}
stat=1; // stationär wider "unwahr" setzen
{
if (custom == 1) // Eigene Ausgabe
{
datei = fopen ("UIDiagramm.dat", "a");
Customout();
}
else if (custom == 0) // stan**** Ausgabe
{
DatenausgabeUID();
}
}
}
if(quiet == 0) printf("UIDiagramm Ende\n" ); // Statusmeldung
}
// Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm Ende UIDiagramm
// Anfang main Anfang main Anfang main Anfang main Anfang main Anfang main Anfang main
int main(int argc,char* argv[])
{
int gueltig=1; // Parameter für gültige Eingabe
int i = 1;
if (argc == 1) printf("Kein Parameter übergeben.\nDas Programm wurde beendet. \nSiehe Bericht: '5.Programmaufruf'."); // Falls kein Parameter übergeben wird
for(; i < argc*gueltig; ++i) // Überprüfung der Parameter, bis ein ungültiger auftritt
{
if (!strcmp( argv[i], "quiet" )) // Nur Daten werden ausgegeben,
quiet = 1; // Keine Einheiten/Statusmeldung
else if (!strcmp( argv[i], "U" )) // Spannung U ausgeben
{
custom = 1; // Benutzerdefienierte Ausgabe
uout = 1;
}
else if (!strcmp( argv[i], "I" )) // Stromstärke I ausgeben
{
custom = 1; // Benutzerdefienierte Ausgabe
iout = 1;
}
else if (!strcmp( argv[i], "L" )) // Gibt Wellenlänge mit maximaler
{ // Strahlungsleistung aus
custom = 1; // Benutzerdefienierte Ausgabe
lambdamaxout = 1;
}
else if (!strcmp( argv[i], "T" )) // Gibt die Temperatur in Grad Celsius aus
{
custom = 1; // Benutzerdefienierte Ausgabe
tout = 1;
}
else if (!strcmp( argv[i], "P" )) // GIbt die aufgenommene Leistung aus
{
custom = 1; // Benutzerdefienierte Ausgabe
pout = 1;
}
else if (!strcmp( argv[i], "speed" )) // Beschleunigt den Iterationsvorgang zu
{ // Lasten der Ergebnisse
statvar = ((statvar-1)*10)+1;
k = k+100; // Erhöht Anfang des UIDiagramms um 10V
}
else if (!strcmp( argv[i], "Z" )) // Gibt die Laufzeit aus
{
timeout = 1;
custom = 1; // Benutzerdefienierte Ausgabe
}
else if (!strcmp( argv[i], "wechsel" ))// Simuliert mit Wechselspannung
{
wechselstrom = 1;
statvar = 1.0001; // Verringert nötige Genauiggkeit
}
else if (!strcmp( argv[i], "S" ))
{
FILE *datei; // Erstellen bzw überschreiben des Textdokumentes
datei = fopen ("Simulation.dat", "w");
if (datei != NULL)
fprintf (datei, "");
fclose (datei);
Simulation(); // Eigentliche Berechnung
}
else if (!strcmp( argv[i], "W" ))
{
FILE *datei; // Erstellen bzw überschreiben des Textdokumentes
datei = fopen ("UIDiagramm.dat", "w");
if (datei != NULL)
fprintf (datei, "");
fclose (datei);
UIDiagramm(); // Eigentliche Berechnung
}
else // Ungültige Parameter abfangen
{
printf("Ungültiger Parameter '%s'\nDas Programm wurde beendet."
"\nBitte verwenden Sie nur gültige Parameter.",argv[i]);
gueltig=0; // Stoppt das Programm
}
}
return 0;
} | |
Aber ich glaub nicht, dass mit dem Code jemand was anfangen kann. |
|
|
|
 |
agent60
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.04.2012
Beiträge: 10
|
agent60 Mitglied
23:44:30 15.04.2012 Titel: |
|
Zitieren |
Ah danke, jetzt siehts echt besser aus.
Naja es geht ja nicht direkt um den Inhalt bzw. die elektrotechnischen Aspekte des Programms.
Ich erklärs mal so. Wenn ich diesen Quellquode jetzt sowie er da steht kopiere und ich MS Visual C++ in eine neue Konsolenanwendung einfüge. Dann müsste er sich doch kompilieren lassen ?
Aber stattdessen bekomme ich einige so Fehlermeldungen wie:
| Zitat: | warning C4627: "#include <stdlib.h>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
|
Wie kann ich das beseitigen ? |
|
|
|
 |
Mechanics
Mitglied
Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 1368
|
Mechanics Mitglied
23:58:37 15.04.2012 Titel: |
|
Zitieren |
Das ist ja erstmal nur eine Warnung und kein Fehler. Vorkompilierte Header kannst in den Projekteinstellungen deaktivieren, die sind in dem Fall glaub ich ziemlich egal.
Ansonsten musst halt schauen ob sich das kompilieren lässt und evlt. alle Compilerfehler beheben |
|
|
|
 |
agent60
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.04.2012
Beiträge: 10
|
agent60 Mitglied
00:07:47 16.04.2012 Titel: |
|
Zitieren |
Danke für die schnellen Antworten.
Auch ohne vorkompilierten Header funktioniert es leider nicht
Weiss jetzt leider auch nicht, was genau ich machen muss damit das Ganze läuft.
Kann das denn jemand mal ändern wenns nicht soviel zu Tun ist ? Kann das leider nicht einschätzen. |
|
|
|
 |
merano
Mitglied
Benutzerprofil
Anmeldungsdatum: 21.12.2006
Beiträge: 411
|
merano Mitglied
00:12:39 16.04.2012 Titel: |
|
Zitieren |
Die vorkompilierten Header lassen sich beim Anlegen eines Projekts abschalten.
Die Fehler lassen darauf schliessen, das es eigentlich so nie gelaufen sein
kann.
1>warning C4390: ';': Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt?
Bei if (Ug == 325 ); kann man sich alle if-Teile auch ganz sparen,
siehe Kommentar "Speichert die Momentane Stromstärke"
1>error C2065: 'M_PI': nichtdeklarierter Bezeichner
es fehlt ganz oben
1>error C2668: 'pow': Mehrdeutiger Aufruf einer überladenen Funktion
| C++: | | epsilon = -1*pow((double)10, -8)* ... | |
1> error C3861: "Simulation": Bezeichner wurde nicht gefunden.
1> error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?
Es fehlt wohl (mindestes)
vor Konstantenberechnung();
Danach lässt es sich kompilieren.
---
Eine Hilfe wäre angebracht; z.B:
| Code: | 1 2 3 4 5 6 7 8 | "U" Spannung U ausgeben
"I" Stromstärke I ausgeben
"L" Gibt Wellenlänge mit maximaler Strahlungsleistung aus
"T" Gibt Temperatur in Grad Celsius aus
"P" Gibt aufgenommene Leistung aus
"S" Eigentliche Berechnung
Erstellen bzw überschreiben des Textdokumentes "Simulation.dat" | |
----
Wenn man es jetzt startet z.B. mit
gibt es sehr viele 230.0V aus (Screen und Datei!)
PS: Ob es elektrotechnisch Sinn macht habe ich nicht geprüft ... |
|
|
|
 |
agent60
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.04.2012
Beiträge: 10
|
agent60 Mitglied
21:50:08 16.04.2012 Titel: |
|
Zitieren |
Kannst du (oder jmd anderes) mir das per Teamviewer eben machen bitte ?
Habe die Änderungen die du genannt hast vorgenommen, bekomme jetzt aber erneut ganz andere Meldungen. |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum nicht antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|