Messwerte Programmierung Struktogramm

Neue Frage »

Auf diesen Beitrag antworten »
Whiss Messwerte Programmierung Struktogramm

Meine Frage:
Die Aufgabe lautete :
------------
Erweitern Sie Ihr Programm zu Einlesen von N Messwerten um eine sichere Eingabe. D.h. bei der Eingabe der Zahl der Messwerte soll nur eine positive ganze Zahl akzeptiert werden. Fehleingaben sollen zu einem Hinweis und zu einer weiteren Eingabemöglichkeit führen.

Erstellen Sie vor dem Beginn der Programmierarbeit bitte ein Struktogramm!

Zählen Sie außerdem mit, wie viele positive und negative Werte eingegeben wurden.

Die Ermittlung des größten und kleinsten eingegebene Wertes soll bereits ab dem ersten Wert und ohne eine Sonderbehandlung für diesen Wert erfolgen. Wie belegt man die Werte für den Größten und kleinsten Wert sinnvoll vor?
------------------

#include <stdio.h>
#include<stdlib.h>


int main ()
{
int eingabe; // Wenn Eingabe den Typ 'Integer' hat werden nur natürliche Zahlen eingelesen, auch wenn eine Kommazahl eingegeben wird.

float summe = 0;
float mittelwert;
int i;
float min;
float wert;
float max;
int positiv = 0;
int negativ = 0;
/*******************************/
//Ich habe die Abfrage nun in einer Do-While-Schleife gesteckt.
//Für die Abfrage gab es 3 Anforderungen:
do{
printf("\n\nBitte geben Sie die Anzahl der Messwerte ein.-> "Augenzwinkern ;
scanf("%i", &eingabe); //1. Anforderung, nur natürliche Zahlen als Eingabe. Bei der Eingabe zB. 2.4 oder 2.7 würde nur 2 eingelesen werden.
fflush(stdin); //2. Anforderung, Nur eine Zahl soll eingegeben werden. Wenn du eine Zahl eingibst, dann Leerzeichen und dann eine 2. Zahl eingibst passiert folgendes:
//Die 1. Zahl wird erfasst und den Wert 'eingabe' zugewiesen. Die 2. Zahl nach dem Leerzeichen bleibt im Speicher der Tastatur.
//Wenn nun der 1. Messwert abgefragt wird, wird noch vor deiner Abfrage der Tasterturspeicher ausgeleert und mit den ersten Messwert zugewiesen.
//Der Befehl fflush() leert ein Speicher, der zugewiesene Wert 'stdin' verweist auf die Standarteingabe, also die Tastatur.

if(eingabe < 1){
printf("\nWarnung! Als Eingabe werden nur die natuerlichen Zahlen akzeptiert."Augenzwinkern ;
}
}while(eingabe < 1);// 3. Anforderung, Nur Eingaben die größer als 0 sind werden angenommen, andernfalls wird die ganze Abfrage von neuen gestartet.
/*****************************/

for (i=1; i<=eingabe; i++)
{
printf("Bitte geben sie den %d. Wert ein\n",i);
scanf("%f",&wert);
if(i == 1)
{
min = wert;
max = wert;
mittelwert = wert;
}
summe = summe + wert;
mittelwert = summe / i;
if (wert >= max) max = wert;
else if (wert <= min) min = wert;
if(wert < 0) negativ++;
else positiv++;
printf("Der groeste Wert ist %.1f\n",max);
printf("der kleinste Wert ist %.1f\n",min);
printf("Der Mittelwert ist %.1f\n", mittelwert);
printf("Anzahl positiver Eingaben: %d\n", positiv);
printf("Anzahl negativer Eingaben: %d\n\n", negativ);
}
}

Meine Ideen:
Ich habe es jetzt programmiert, aber beim Struktogramm habe ich keine Ahnung, habe trotzdem ein Struktogramm erstellt. Es ist 100% falsch.

Kann mir deswegen einer von euch ein Struktogramm vorzeigen, damit ich weiß, wie ich da vorzugehen habe?
Bitte wirklich helfen, und nicht ein sinnloses Kommentar ablassen, wie z.B schau dir in Youtube an, wie es geht ect....;-)

Danke euch schon mal, wäre echt lieb, bin am verzweifeln.
 
Auf diesen Beitrag antworten »
Whiss

Wieso hilft mir denn keiner? Was soll das?
Auf diesen Beitrag antworten »
eulerscheZahl

Weil
  • dein Code kaum lesbar ist, dafür gibt es [ code ] Tags
  • Ich Struktogramme albern finde
  • Auch sonst keiner Lust zu haben scheint

Die Abfrage nach der Anzahl der Messwerte ist jedenfalls in einer do-while Schleife. Weiter habe ich nicht geschaut.

Vielleicht findest du ja ein Programm, das aus dem Code ein Diagramm erstellen kann.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »