1. #1

    Registriert seit
    01.12.2011
    Beiträge
    6
    Thanked 0 Times in 0 Posts

    Standard [C++] Probleme bei einem Notenrechner

    Code:
    #include <iostream>
    #include <conio>
    using namespace std;
    
    void main ()
    {
    	cout << "***Notenrechner***" << endl;
    
    	const int Anzahlnoten = 0;
    	float Note[Anzahlnoten];
    	char Weitere = ' ';
    	float Notensumme = 0;
    
    	do
    	{
    		cout << "Note: ";
    		cin >> Note;
    		cout << "Weitere: ";
    		cin >> Weitere;
    
    		Anzahlnoten + 1;
    		Notensumme = Note + Notensumme;
    
    	}while (Weitere == 'j' || Anzahlnoten => 10 );
    
    	float Endnote = Notensumme / Anzahlnoten;
    
    	cout << "*** " << Endnote << " ***";
    }
    Ich möchte das mir das Programm eine Endnote ausgibt und man hat die Wahl zwischen 1-10 Noten die man eintragen kann,doch irgendwie krieg ich es nicht auf die Reihe
    Geändert von Cube!X (21.01.2012 um 14:12 Uhr) Grund: [CODE] hinzugefügt

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.217
    Thanked 9.133 Times in 3.007 Posts
    Blog Entries
    5

    Standard AW: Probleme bei einem Notenrechner

    PHP-Code:
    const int Anzahlnoten 0;
    float Note[Anzahlnoten]; 
    Das kann schonmal nicht gut gehen und sollte von der Entwicklungsumgebung einen Fehler geben. Du erzeugst damit einen Array mit 0 Elementen, was ja schonmal von der Logik her keinen Sinn macht, da du keine Werte darin speichern kannst.

    PHP-Code:
    Anzahlnoten 1
    Ist vom Syntax her falsch. Anzahlnoten wird um eines hochgezählt, der neue Wert wird jedoch nicht in die Variable geschrieben. Dadurch bleibt der Wert in Anzahlnoten gleich.

    Hier müsste stattdessen

    PHP-Code:
    Anzahlnoten += 1
    oder in Langform

    PHP-Code:
    Anzahlnoten Anzahlnoten 1
    verwendet werden. Dadurch wird der Wert der Variable um eines erhöht, und anschließend der neue Wert wieder in die Variable geschrieben.

    Der Wert des Integers Anzahlnoten kann aber schon mal prinzipiell nicht geändert werden, da du ihn als Konstante definiert hast. Hier müsstest du also eine Konstante für die maximale Anzahl der Noten, die eingegeben werden können definieren, und eine Variable die zählt, wieviele Noten tatsächlich vom Benutzer eingegeben wurden.

    PHP-Code:
    cout << "Note: ";
            
    cin >> Note
    Ist so auch nicht richtig. Du musst einen Index angeben, an welche Position im Array der Wert eingefügt werden soll.

    PHP-Code:
    cin >> Note[0]; 
    Fügt die Eingabe z.B. an erster Stelle im Array ein.

    PHP-Code:
    Notensumme Note Notensumme
    Hier dasselbe, da müsstest du auch den Index mit angeben wie oben.


  3. The Following 2 Users Say Thank You to DMW007 For This Useful Post:

    AlexEHM (17.01.2012), Essah (22.01.2012)

  4. #3

    Registriert seit
    01.12.2011
    Beiträge
    6
    Thanked 0 Times in 0 Posts

    Standard AW: [C++] Probleme bei einem Notenrechner

    Habs mal mit ner Namensliste versucht aber da scheitert es auch wieder an den Konstantenausdruck -.-
    Code:
    #include <iostream>
    #include <conio>
    #include <string>
    using namespace std;
    
    void main ()
    {
    	cout << "***Namensliste***" << endl;
    
    	int i = 0;
    	string Name[i];
    	char Weitere = ' ';
    
    	do
    	{
    		i++;
    
    		cout << "Name: ";
    		cin >> Name[i];
    
    		cout << "Weitere: ";
    		cin >> Weitere;
    
    		if (Weitere == 'n')
    		{
    			cout << Name[i];
    		}
    
    	}while (Weitere == 'j' || i <= 10 );
    
    	cout << Name[i];
    	getch();
    }

  5. #4
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.217
    Thanked 9.133 Times in 3.007 Posts
    Blog Entries
    5

    Standard AW: [C++] Probleme bei einem Notenrechner

    Arrays lassen als Größenangabe nur Konstanten zu, da diese Art von Arrays nicht dynamisch ist, d.H. man kann die Größe nicht variabel machen. Wenn die Variable, welche die Größe angibt, keine Konstante ist, könnte man die aber im Nachhinein noch verändern. Da das ja wie gesagt nicht geht, darf es keine Variable sein, sondern eine Konstante.

    PHP-Code:
    const int i 10
    Auf 0 setzen darfst du die Konstante natürlich nicht, das habe ich oben schon geschrieben, dass ein Array nicht aus 0 Elementen bestehen kann.

    Die Konstante kann dann natürlich nachher wie gesagt nicht mehr verändert werden.

    PHP-Code:
    i++; 
    Geht danach also nicht, dafür brauchst du eine Variable.

    Spoiler:

    PHP-Code:
    #include <iostream>
    #include <conio>
    #include <string>
    using namespace std;

    void main ()
    {
        
    cout << "***Namensliste***" << endl;
            const 
    int MaxAnzNamen 10;
            
    string Name[MaxAnzNamen];
        
    int Index 0;
        
    char Weitere ' ';

        do
        {
            
    cout << "Name: ";
            
    cin >> Name[Index];

                    
    Index++;

            
    cout << "Weitere: ";
            
    cin >> Weitere;
        }while (
    Weitere == 'j' && Index MaxAnzNamen );

            for(
    int i 0Indexi++)
            {
                    
    cout << Name[i] << endl;
            }

        
    getch();



Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 07.05.2017, 22:20
  2. DHL Probleme? (Nicht zugestellte Sendungen)
    Von Bartek im Forum RealLife
    Antworten: 11
    Letzter Beitrag: 03.01.2013, 20:52
  3. VB.Net VB.net - 2 Probleme
    Von Gangstersheep im Forum .Net
    Antworten: 5
    Letzter Beitrag: 25.07.2012, 17:20
  4. [C++] Notenrechner fehler
    Von AlexEHM im Forum C++
    Antworten: 2
    Letzter Beitrag: 07.06.2012, 16:12
  5. Fortgeschritten Konvertieren von einem Fifty-String zu einem anderen Format
    Von Mentos im Forum Aufgaben
    Antworten: 0
    Letzter Beitrag: 03.02.2012, 17:17
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.