Stromberechnung
-
Hallo Leute bin noch ein Anfänger und stehe vor einem für mich großem Problem.
Kann mir vielleicht jemand einen Tipp geeb wie ich Ströme berechne?
Aus Widerständen die die Werte 100 bis 1000 in hunderter Schritten haben und einen Spannung von 40 Volt. Es sollen nur 100 Werte eingegeben werden können, bei Werten die da zwischen leigen, das heisst ungerade Zahlen oder Zahlen unter 100 oder über 1000, soll das Programm abgbrochen werden.Hoffe mir kann jemand helfen!!!
Vorab schon mal dankeGruß Daniel
-
Hallo
woran scheiterst du denn
- an der Berechnung
- an der Umsetzung
- ...Mfg
Klaus
-
Hallo
U = R * I daraus folgt:
I = U / R
I1 = 40 / 100
I2 = 40 / 200 usw.Ist das das Problem gewesen ?
Grüße
-
Danke erst mal für die Antworten!
Es liegt noch an der Umsetzung. Weiß leider nicht wie ich das programm schreiben soll. Vielleicht hättet ja jemand eine Idee.Mfg Daniel
-
Hallo
dann zeig/erklaer uns dochmal was du schon hast
Mfg
Klaus
-
Ich habe es mir so vorgestellt aber irgendwie will es nicht so wie ich es gern hätte! :-). Denke mal das man es auch bestimmt noch einfacher machen kann. Das ist der Anfang bis jetzt.
Wie gesagt bin leider noch blutiger Anfänger.
Vielleicht hast Du ja eine Idee.#include <stdio.h>
#include <conio.h>
#include <vcl.h>int main (void)
{
float widerstand,strom,spannung=40;
printf("\n Widerstand | Strom");
printf("\n __________________");for (widerstand=100;widerstand<=1000;widerstand=widerstand+100)
{
strom=spannung/widerstand
printf("\n %.2f | %.2f",widerstand,strom);
}
getch();
-
Besser lesbar:
#include <stdio.h> #include <conio.h> #include <vcl.h> int main (void) { float widerstand,strom,spannung=40; printf("\n Widerstand | Strom"); printf("\n __________________"); for (widerstand=100;widerstand<=1000;widerstand=widerstand+100) { strom=spannung/widerstand printf("\n %.2f | %.2f",widerstand,strom); } getch(); }
Hat eigentlich auch nix mitm Builder zu tun, ne?
-
Hallo
Daniel sollte erstmal klarstellen mit welchen Mitteln er sein Programm schreibe nwill
- VCL : GUI, TForm, TLabel ...
- C : Kommandozeile, printf ...
- C++ : Kommandozeile, std::cout ...bis bald
akari
-
Ich kennen im Moment nur die printf Anweisungen.
Welche Möglichkeiten gäbe es denn noch um es eventuell zu vereinfachen?
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wird von Dir verlangt, das Programm in ANSI C zu schreiben?
Wenn ja kannst du <conio.h>, <vcl.h> und getch( ); schon rauswerfen.
greetz, Swordfish
-
Kann mir vielleicht jemand einen Tipp geeb wie ich Ströme berechne?
// U R I dreieck :P
Aus Widerständen die die Werte 100 bis 1000 in hunderter Schritten haben und einen Spannung von 40 Volt. Es sollen nur 100 Werte eingegeben werden können, bei Werten die da zwischen leigen, das heisst ungerade Zahlen oder Zahlen unter 100 oder über 1000, soll das Programm abgbrochen werden.
int werte[100]; if( (eingabe%100 == 0) && eingabe > 100 && eingabe < 1000){ werte[i] = eingabe;
-
omg.
#include <stdio.h> #include <stdlib.h> #define voltage 40 #define num_resistors 100 #define min_resistance 100 #define max_resistance 1000 void flush_stdin( ); int main( ) { unsigned int resistor[ num_resistors ]; unsigned char i, result = 1; printf( "Bitte geben Sie %i Widerstandswerte im Bereich zwischen %i und %i ein.\n", num_resistors, min_resistance, max_resistance ); puts( "Geben Sie keine ganzen Hunderter ein oder liegt Ihre Eingabe außerhalb" ); puts( "des Wertebereichs, so bricht das Programm ab.\n" ); for( i = 0; i < num_resistors; ++i ) { do { if( !result ) { flush_stdin( ); } printf( "R%03i: ", i + 1 ); result = scanf( "%u", &resistor[ i ] ); } while( !result ); if( ( ( resistor[ i ] < min_resistance ) || ( max_resistance < resistor[ i ] ) ) || ( resistor[ i ] % 100 ) ) { puts( "\nSie haben einen ungültigen Wert eingegeben." ); puts( "Das Programm wird beendet.\n" ); return EXIT_FAILURE; } } puts( "\nDie Ergebnisse:\n" ); for( i = 0; i < num_resistors; ++i ) { printf( "I%03i: %3.6f\n", i + 1, voltage / ( (float) resistor[ i ] ) ); } return EXIT_SUCCESS; } void flush_stdin( ) { int ch; while( ( ( ch = getchar( ) ) != EOF ) && ( ch != '\n' ) ); }
greetz, Swordfish