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