Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Probleme mit Notenberechnung

Empfohlene Antworten

Veröffentlicht

Hi, also mein Problem lautet wie folgt:

Ziel ist es viele Noten eingeben zu lassen(beliebig) und bei eingabe von 0 den Durchschnitt zu errechnen.Er nimmt alle Noten(float) mit .3 .5 .7 .Die Berrechnung ist noch nicht implementiert.

Mein Problem ist das wie groß ich das Eingabe Feld auch mache, er nur 2 Zahlen eingeben lässt.Viellecht kann man auch mit malloc ein n-dimensionales Array anfertigen,wobei ich nicht so richtig weis wie.

Wäre für Hilfe dankbar.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main()

{

int i=0;

int int_nachkomma[20];

int int_vorkomma[20];

float noten_eingabe[22];//Speicherproblem!

printf("\nBitte ihre Schulnoten eingeben:\n");

do{

while((0==scanf("%f",&noten_eingabe)) || (noten_eingabe<0)){ //Abfangen von falschen eingaben

fflush(stdin);

printf("Keine positive Zahl!.");

}

int_vorkomma=noten_eingabe; //Vorkomma speichern

int_nachkomma=((noten_eingabe*10.0+0.00001)-(int_vorkomma*10.0)); //Rest Filtern

if ((int_nachkomma==3)||(int_nachkomma==5)||(int_nachkomma==7)||(int_nachkomma==0))

; // Filtern der Nachkommastelle

else

printf("Keine positive Komma (3,5,7) Zahl!");

i++;

}

while(noten_eingabe!=0.0);

getch();

return 0;

}

Du meinst den Float einlesen und dann sofort checken bzw. counter mitlaufen lassen.Aber wie prüfe ich dann auf die Nachkommastelle?

Bzw wo liegt mein Problem?

Danke schon mal ich probiere es nochmal.

Reduzier doch erstmal die Komplexität, gehe von "passenden" Zahlen aus und schreib den Rest von deinem Programm (also ein Programm was zu n Float-Zahlen den Notendurchschnitt ausrechnet).

Dann überlege dir, was überhaupt passieren soll wenn eine Zahl ungültig ist

(am einfachsten läßt man die Zahl dann für den Durchschnitt weg)

Dann überlege wie du Floatzahlen auf Gültigkeit überprüfst

Hinweis: Gleitkommazahlen haben auch bei einfachsten Berechnungen Ungenaugikeiten. Deshalb prüft man meist auf einen Wertebereich

z.B. ist meine Zahl == 2?

Delta = 0.00001

wenn (2-Delta) < Zahl < (2+Delta)

dann wahr

sonst falsch

Super Hinweis mit dem Delta. Hat geklappt. Und auch das es ihne array geht war ein klasse Hinweis ;)

Danke Leute

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.