Programm zur Berechnung von Widerständen???Hilfeeee in C



  • #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      int anzahl = 0, i = 0;
      int widerstandswert = 0;
      double gesamtwiderstand = 0.0;
    
      printf("Geben Sie die Anzahl der Widerstaende ein: ");
      scanf("%d",&anzahl);
      
      for (i = 1; i <= anzahl; i++)
      {
        printf("Geben Sie den Widerstandswert (in Ohm) des Widerstandes Nr. %d ein: \n",i);
        scanf("%d",&widerstandswert);
        gesamtwiderstand = gesamtwiderstand + (1.0/widerstandswert);
      }
    
    //	printf("Moechten Sie die Widerstaende parallel oder seriell berechnen:");
    	
    
    	gesamtwiderstand = 1.0/gesamtwiderstand;
     	printf("Der parallele Widerstand betraegt: %f Ohm \n\n", gesamtwiderstand);
    	
    
     	return 0;
    }
    

    Also ich habe hier so ein Programm geschrieben und wollte es erweitern. Leider weiß ich nicht wie.

    Ich will auch das das Programm danach fragt ob ich die Widerstandswerte parallel oder seriell rechnen soll und dann auch so rechnet.

    Zweitens will ich es mit Unterfunktionen gestalten also er soll bei einer Unterfunktion zwei Widerstände abfragen eingabe1 (float*, float*) und bei der anderen Unterfunktion drei Widerstände eingabe2(float*,float*,float*) und die Berechnung ebenfalls in einer anderen Unterfunktion zB float seriell (float zahl1,float zahl2).

    Einen Ansatz dazu habe ich schon aber konnte es nicht umsetzen

    void eingabe1 (float *zahl1, float *zahl2)
    {
         scanf("%f %f", zahl1, zahl2);
    }
    
    void eingabe2 (float *zahl1, float *zahl2,float *zahl3)
    {
         scanf("%f %f %f", zahl1, zahl2, zahl3);
    }
    void seriell (float zahl1, float zahl2)
    {
         summe = zahl1 + zahl2;
         printf("Summe seriell :%f",&summe);
    }
    

  • Mod

    Was ist deine Frage?

    Kommt es dir nicht ein bisschen komisch vor, Funktionen zu schreiben, deren einziger Zweck es ist, ihre Parameter an eine andere Funktion weiterzuleiten? Wieso nicht das Original (scanf) direkt aufrufen?



  • @HIitsme berechne in der Schleife einfach noch zusätzlich die Summe und gib beide Werte aus.

    Wenn du die Eingabe bei ungültigen Werten (0 oder negativ) abbrichst, sparst du die Frage nach der Anzahl.

    Zum lernen: lese die Werte in ein Array ein und Berechne die Werte in Funktionen (da scheinst du Probleme zu haben)


Anmelden zum Antworten