Anfängerfrage zu Falscher Typ



  • Ich bekomm leider beim Ausführen des Funktionsmenüs die Fehlermeldung:
    Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.

    Ich weiß leider nicht woran genau das liegt 😉 denke mal was ganz Simples für euch. Schon mal ein Danke 👍 😛

    #include "stdafx.h"

    using namespace System;
    struct kiste {

    Int32 breite;
    Int32 laenge;
    Int32 hoehe;

    };

    //Funktion zum Einlesen
    //liefert komplette Kiste zurück
    //Abfrage der Kistennummer und eingaben
    kiste einlesen(Int32 kistenNummer){

    kiste aKiste;

    Console::WriteLine("Breite der {0}. Kiste angeben",kistenNummer);

    aKiste.breite=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Länge der {0}. Kiste angeben",kistenNummer);
    aKiste.laenge=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Höhe der {0}. Kiste angeben",kistenNummer);
    aKiste.hoehe=Convert::ToInt32(Console::ReadLine());

    Console::WriteLine();

    return aKiste;

    }

    int main(array<System::String ^> ^args)
    {
    //Vereinbarung lokales Feld "Kiste"
    kiste lagerKiste[100];
    Int32 eingabe1;

    // Funktionsmenü

    Char aufgabe;
    Console::WriteLine("Was möchten Sie tun?");
    Console::WriteLine("a Neue Kiste eingeben");
    Console::WriteLine("b Löschen der Daten einer Kiste");
    Console::WriteLine("c Ändern der Daten einer vorhandenen Kiste");
    Console::WriteLine("d Anzeigen der Daten einer vorhandenen Kiste");
    Console::WriteLine("e Alle Kisten anzeigen?");

    aufgabe=Console::Read();

    switch (aufgabe){
    case 'a':
    Console::Write(" Kistennummer angeben: ");
    eingabe1=Convert::ToInt32(Console::ReadLine());
    einlesen(eingabe1);
    break;

    case 'b':

    break;

    case 'c':

    break;

    case 'd':

    break;

    case 'e':

    break;

    }

    Console::Read();
    return 0;
    }



  • DEBUGGEN!!!

    Ich vermute, ReadLine gibt die ganze Zeile zurück, samt dem a, dass du schon eingelesen hast, und das ist kein int mehr. Aber das würdest du nach 2 Sekunden debuggen selber wissen.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Falls es dir nicht bewusst war: Du machst kein C++, sondern C++/CLI, eine komplett andere Sprache.



  • -.-



  • Immer noch nicht perfekt. Formattierung, sprach Gott!

    #include "stdafx.h"
    
    using namespace System;
    
    struct kiste 
    {
    	Int32 breite,
    	      laenge,
    	       hoehe;
    };
    
    //Funktion zum Einlesen
    //liefert komplette Kiste zurück
    //Abfrage der Kistennummer und eingaben
    kiste einlesen(Int32 kistenNummer)
    {
    	kisteaKiste;
    
    	Console::WriteLine("Breite der {0}. Kiste angeben",kistenNummer);
    
    	aKiste.breite=Convert::ToInt32(Console::ReadLine());
    	Console::WriteLine("Länge der {0}. Kiste angeben",kistenNummer);
    	aKiste.laenge=Convert::ToInt32(Console::ReadLine());
    	Console::WriteLine("Höhe der {0}. Kiste angeben",kistenNummer);
    	aKiste.hoehe=Convert::ToInt32(Console::ReadLine());
    
    	Console::WriteLine();
    
    	return aKiste;
    }
    
    int main(array<System::String ^> ^args)
    {
    	//Vereinbarung lokales Feld "Kiste"
    	kiste lagerKiste[100];
    	Int32 eingabe1;
    
    	// Funktionsmenü
    
    	Char aufgabe;
    	Console::WriteLine("Was möchten Sie tun?");
    	Console::WriteLine("a Neue Kiste eingeben");
    	Console::WriteLine("b Löschen der Daten einer Kiste");
    	Console::WriteLine("c Ändern der Daten einer vorhandenen Kiste");
    	Console::WriteLine("d Anzeigen der Daten einer vorhandenen Kiste");
    	Console::WriteLine("e Alle Kisten anzeigen?");
    
    	aufgabe=Console::Read();
    
    	switch (aufgabe)
    	{
    		case 'a':
    
    			Console::Write(" Kistennummer angeben: ");
    			eingabe1=Convert::ToInt32(Console::ReadLine());
    			einlesen(eingabe1);
    	}
    
    	Console::Read();
    }
    

    Hab einen kleinen irrelevanten Teil rausgeschnitten.



  • Wir sollten glaube ich mal eine FAQ mit allen Lösungen für den Kurs reinstellen... kann mir jemand den Kurs mal per PM zumailen?



  • Danke erstmal für den "TIPP". Ich wollt lediglich eine Hilfestellung bekommen, und keine Lösung von den Programm 😉 Ist halt alles noch in Kinderschuhen 😉



  • Wiedermal die Kisten-Fabrik Aufgabe... 😞


Anmelden zum Antworten