Zum Inhalt springen

Arry und dessen Folgen


jeronimonino

Empfohlene Beiträge

Hi Leute ich habe ein prob mir einer Aufgabe.

Ich finde einfach meinen Fehler nicht -.-. der sagt mir immer das Der Durchschnitt net berechnet werden kann. Hier mal der Code.

public partial class Form1 : Form

    {

        // Globale Variabel zur Zählung der eingegebenen Noten

        public int zaehlerZensuren = 0;

        public int summe = 0;

        public double durchschnitt = 0;

        // Arrayinitialisierung 

        int[] noten = new int[50];            



        public Form1()

        {

            InitializeComponent();

        }


        private void cm_close_Click(object sender, EventArgs e)

        {

            Close();

        }


        private void Form1_Load(object sender, EventArgs e)

        {



        }


        private void cmd_calculate_Click(object sender, EventArgs e)

        {                                  

                for (int i = 0; i < zaehlerZensuren; i++)

                {

                    summe = summe + noten[i];

                }               

                durchschnitt = summe / zaehlerZensuren;                

                if (durchschnitt == 1 && durchschnitt <= 1.4)

                {

                    MessageBox.Show("sehr gut" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }               

                if (durchschnitt == 1.5 && durchschnitt <= 2.4)

                {

                    MessageBox.Show("gut" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }                

                if (durchschnitt == 2.5 && durchschnitt <= 3.4)

                {

                    MessageBox.Show("befriedigend" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }

                if (durchschnitt == 3.5 && durchschnitt <= 4.4)

                {

                    MessageBox.Show("ausreichend" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }

                if (durchschnitt == 4.5 && durchschnitt <= 5.4)

                {

                    MessageBox.Show("mangelhaft" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }

                if (durchschnitt == 5.5 && durchschnitt <= 6)

                {

                    MessageBox.Show("ungenügend" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }

                else 

                {

                    MessageBox.Show("Durchschnitt kann nicht berechnet werden!");

                }

            }        

        private void cmd_neu_Click(object sender, EventArgs e)

        {

            txt_durchschnittsnote.Clear();

            txt_zensur.Clear();



        }


        private void cmd_next_Click(object sender, EventArgs e)

        {


            int zenzur = Convert.ToInt32(txt_zensur.Text);

            if (zenzur > 6 || zenzur < 0)

            {

                MessageBox.Show("Geben Sie bitte eine Note zwischen 1 und 6 ein!");

            }

            else

            {              


                zaehlerZensuren++;

                noten[zaehlerZensuren] = zenzur;

                txt_durchschnittsnote.Text = txt_durchschnittsnote.Text + zenzur + ",";


                txt_zensur.Clear();

                txt_zensur.Focus();                

            }



        }

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist auch genau das, was du programmiert hast.

if (durchschnitt == 5.5 && durchschnitt <= 6)

                {

....

                }

                else 

                {

                    MessageBox.Show("Durchschnitt kann nicht berechnet werden!");

                }

z.B. hier wird der if-Zweig nur dann durchlaufen, wenn durchschnitt gleich 5.5 ist UND kleiner gleich 6. D.h. du landest im if-Zweig nur dann, wenn durchschnitt exakt 5.5 ist. Genau dasselbe gilt für alle deine anderen if-Abfragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo jeronimonino

TDM meinte nicht das was eingegeben wird sondern was passiert wenn der Durchschnitt 1.49 beträgt

Dein Code


                if (durchschnitt == 1 && durchschnitt <= 1.4)

                {

                    MessageBox.Show("sehr gut" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }               

                if (durchschnitt == 1.5 && durchschnitt <= 2.4)

                {

                    MessageBox.Show("gut" + "  " + "Der Durchschnitt ist" + "  " + Convert.ToString(durchschnitt));

                }

Hier die "übersetzung"

WENN durchnitt == 1 UND durchschnitt <= 1.4

DANN Ausgabe1

WENN durchnitt == 1.5 UND durchschnitt <= 2.4

DANN Ausgabe2

Das bedeutet alles was zwischen 1.4 und 1.5 liegt wird nicht behandelt !

So war es wahrscheinlich gedacht

WENN durchnitt >= 1 UND durchschnitt < 1.5

DANN Ausgabe1

WENN durchnitt >= 1.5 UND durchschnitt < 2.5

DANN Ausgabe2

Gruß Hans-Jörg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau.

Wenn mans schön mit der El(i)se macht (:D), dann gehts auch einfacherer:


if(durchschnitt < 1.5)

[INDENT]MessageBox.Show("1")[/INDENT]


else if(durchschnitt < 2.5)

[INDENT]MessageBox.Show("2")[/INDENT]


else if(durchschnitt < 3.5)

[INDENT]MessageBox.Show("3")[/INDENT]


else if(durchschnitt < n.5)

[INDENT]MessageBox.Show("n")[/INDENT]


...

else

[INDENT]MessageBox.Show("Err.")[/INDENT]


A.d.R.: Kleiner als 1 bzw. größer als 6 kann der Durchschnitt durch die Plausibilitätsprüfung so und so nicht werden. :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...