Widerstände in Parallelschaltung rechnen in C Programmieren?

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

onepiece1best 
Fragesteller
 09.04.2018, 19:22

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

0
JupStrunk  09.04.2018, 19:47
@onepiece1best

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

0