Widerstände in Parallelschaltung rechnen in C Programmieren?
Hallo, ich habe ein Problem in der Aufgabe soll ich ein Programm schreiben um Widerstände zu berechen. Ich weiß das ich eine while-Schleife brauche.
Meine Frage ist, im Beispieldialog sind die Widerstände neben einander als Eingabe eingelesen und ich weis nicht wie man das macht.
Also z.B. Geben sie 4 Widerstaende ein: 3.4 4.5 4 ...
Was ich auch net versteh, ich weiß ja nicht wie viele Widerstände eingegeben werden also wie soll man da eine Rechnung für den Gesamtwiderstand machen.
Hoffe ihr könnt mir weiter Helfen
Vielen Dank
1 Antwort
also, ich denke mal das Ganze soll so ablaufen, dass Du Widerstandswerte eingeben kannst, bis die Eingabe gleich 0 ist...
das würde man dann eben über eine while-Shleife realisieren (while(inp > 0))...
alle Werte vorher speicherst Du in einem Array und damit rechnest Du dann, wenn die Schleife verlassen wurde...
bzw. kannst Du auch direkt in der Schleife rechnen und nachdem sie verlassen wurde das Egebnis anzeigen, dann spart man sich das Array...
ne, das ist so nicht ganz logisch gelöst...
ich würde das eher so schreiben:
float rGesamt = 0;
float rEinzel;
printf("Bitte geben sie die Widerstandswerte ein (0 zum berechnen)\n");
do{
printf("Widerstand = ");
scanf("%f", &rEinzel);
if(rEinzel > 0.0) rGesamt += (1.0 / rEinzel);
}while(rEinzel > 0.0);
if(rGesamt > 0.0)
printf("Gesamtwiderstand = %f\n", 1.0 / rGesamt);
else
printf("Es wurde kein Widerstand angegeben\n");
Hab es anders gemacht , aber er Rechnet es nicht aus er behält den letzten Wert den ich eingebe und gibt ihn aus.
#include<stdio.h>
int main()
{
float Rges=0, i = 0, x; //x ist für den Wert der Widerstände
int N;
printf_s("Geben sie die Anzahl an Widerstaenden ein: ");
scanf_s("%d", &N);
printf("Geben sie %d pos. Widerstand Werte ein:\n ", N);
while (i<N)
{
if (i>=0)
{
scanf_s("%f", &x);
Rges = (1 / x);
Rges = 1 / Rges;
i++;
}
if (i < 0)
{
printf_s("fehler\n");
i = N + 1;
}
}
printf_s("Rges:%f", Rges);
}