Ersatzwiderstandsberechnung mit Hilfe eines C Programms...
-
tanGERra schrieb:
Vllt findest du ja noch die Zeit um nen kurzen Kommentar neben die Zeilen zu schreiben:
char *value_as_text (double value, double mult) { static char txt[256]; // speicher für fprintf reservieren if (value == DBL_MAX) // wenn der wert riesengross ist... return "Weglassen"; // 'weglassen' zurückgeben und funktion verlassen if (value <= DBL_MIN) // wenn der wert total klein ist... return "Drahtbruecke"; // 'drahtbrücke' zurückgeben und funktion verlassen sprintf (txt, "%1.1lf", mult*value); // sonst: wert hochrechnen und als string in txt speichern... return txt; // und txt zurückgeben und funktion verlassen
weil du die funktion nicht ohne kommentare entziffern kannst: dir scheinen die elementarsten C-grundlagen zu fehlen? such mal bei google 'c programming filetype:pdf' da findest du genug material. falls du was handfestes brauchst: http://www.oreilly.com/catalog/cinanut/ (ich finde das ist das beste c-buch, für einsteiger und fortgeschrittene, was es zur zeit gibt). ...und lass dir bloss nicht das 'pronix' machwerk aufschwatzen
-
THX :xmas2:
-
Hallo!
Ich wollte mir auch gerade mal die Funktion des Programmes klar machen.Leider versteh ich nicht was diese Zeile bringt:
double mult = pow(10,floor(log10(x)));Wenn wir zb. ein x = 400.12 haben.
Dann haben wir dort :
double mult = pow(10,floor(log10(400.12)));
double mult = pow(10,floor(2.602...));
double mult = pow(10,2.0);
mult = 10²richtig soweit?
Das macht dann 100.
Nun kommt:
double norm = x/mult;
double norm = 400.12/100;Das macht dann 4.0012.
Nur was bringt uns das? Was passiert dann mit dieser Zahl?
VIELEN DANK an euch!
MfG
Joker
-
Mit den beiden von dir angesprochenen Zeilen wird erreicht, das der beliebig eingegebene Widerstandswert immer in den Bereich von 1.0 bis 9.99 gebracht wird und man so die Ersatzschaltung aus den im Array gespeicherten Werten berechnen kann!
Vielen Dank noch mal an alle hier für die nette Hilfe.