Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

21

03.04.2011, 09:54

Man sollte BASIC nicht mit Visual Basic verwechseln. Letzteres hat absolut gar nichts von wegen für Schüler gedacht und so. VB ist im Prinzip der Vorgänger von .NET und war lange Zeit eine der wichtigeren Programmiersprachen für Anwendungsentwicklung und eines der Lieblingskinder von Microsoft. Bis auf die Tatsache dass die Syntax von VB an BASIC angelehnt ist gibts da keine Gemeinsamkeiten. Heute würd ich jedenfalls lieber C# verwenden.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (03.04.2011, 10:02)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

22

03.04.2011, 14:40

das ist aber irrelevant weil genau dieser teil der syntax übernommen wurde.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (03.04.2011, 15:43)


Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

23

03.04.2011, 14:52

ich geh in eine htl (1. klasse) und bin klassenbester, weshalb viele mich anstadt den lehrer fragen...
und mir ist da schon (bei c#) oft aufgefallen, dass ein der achsogroße fehler darin besteht dass eine geschwungene klammer zuviel oder zuwenig ist, würden wir zb visual basic lernen würd das sicher nicht passieren (da if ein endif und while ein endwhile und for ein next und class ein endclass .... hat)

Bei solchen Fehler solltest du deinen Klassenkameraden mal beibringen Fehlermeldungen zu lesen und zu verstehen. Ich weiß zwar nicht mit welchen IDEs ihr arbeitet, aber Microsoft Visual Studio schreibt egtl. schon sehr klar hin, welches Zeichen noch fehlt, wie bspw:
»Dateiende erreicht, bevor das zugehörige Element für das linke Element Klammer "{" geunfen wurde«
Oder es gibt Fehlermeldungen, dass keine neuen Funktionen in einer anderen Funktion definiert werden dürfen. Wenn man mal begriffen hat, was das bedeutet, dann versteht man egtl. sehr schnell, was zu tun ist und wo man evtl. noch die ein oder andere Klammer ergänzen muss ;).

24

03.04.2011, 16:59

es stimmt das visual studio anzeigt, dass eine geschwungene klammer fehlt, aber nicht wo...
hir ein beispiel:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
        int i;
        bool ende;
        string Hallo;

        i=0;
        ende=false;
        while(!ende)
            {
            i++;
            Hallo = Console.ReadLine();
            if(i.ToString()==Hallo)
                {
                ende =true;
                                //} Diese Geschwungene Klammer wird übersehen
            }
            Console.WriteLine("Du hast "+i+" Versuche gebraucht");
            Console.ReadKey();
        }
    }
}


1 Fehler "} erwartet" bei Zeile 31 Spalte 2.

dies soll schnell ausgebessert werden also siet dann der code so aus:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
        int i;
        bool ende;
        string Hallo;

        i=0;
        ende=false;
        while(!ende)
            {
            i++;
            Hallo = Console.ReadLine();
            if(i.ToString()==Hallo)
                {
                ende =true;
                                //}Diese Klammer wird übersehen
            }
            Console.WriteLine("Du hast "+i+" Versuche gebraucht");
            Console.ReadKey();
        }
    }
}
}//Diese Klammer wird neu eingefügt


und schon macht das programm nicht mehr das was es tun soll....

aber im grunde ist es egal, und nicht wichtig (da es ja mit den eigentlichen thema nichts zu tun hat

Zitat

Basically, there are only 10 types of people in the world. Those who know binary, and those who don't.

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

25

03.04.2011, 17:13

Dein Code ist a) unschön formatiert und b) kannst du von einem Compiler nicht erwarten, dass er deine Fehler automatisch behebt.

Der Compiler weiß, dass eine Klammer fehlt, aber nicht WO. Das kann er gar nicht wissen.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

26

03.04.2011, 17:35

Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

27

03.04.2011, 20:01

und schon macht das programm nicht mehr das was es tun soll....

Und genau da ist der Punkt. Ich sagte, man solle lernen Fehlermeldungen zu begreifen. Wenn der Kompiler also einen Fehler wirft, der mir sagt, dass eine geschweifte Klammer fehlt, dann muss ich eben wissen, dass ich nicht einfach dort, wo der Kompiler es vorschlägt, eine solche Klammer setze, sondern dass ich den entsprechenden Code-Block nochmals überprüfe, um somit die fehlende Klammer zu finden. Klar kann der Kompiler nicht wissen, wo die Klammer fehlt, weil sie im Grunde überall gesetzt werden könnte(abhängig von der Funktionsweise des Programms).
Außerdem geht es ja hier nicht Malen nach Zahlen, wo man einfach stumpfsinnig jeder Zahl eine bestimmte Farbe gibt, sondern es geht um Programmierung, wo man durchaus auch mal ein bisschen über seinen Code nachdenken darf ;).

Aber natürlich hast du Recht. Mit dem Thema hat es nichts mehr zu tun^^.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

28

03.04.2011, 23:21

kleiner tipp: bei den meisten IDEs kannst du mehre zeilen markieren und mit tab einrücken und mit shift+tab wieder nach links verschieben. das ist sehr, sehr nützlich.
bei wirklich schlecht formatierten code markiere ich gern alles, drück ein paar mal shift+tab und nehm mir jeden block von groß nach klein vor. das geht schnell, man hat die perfekte übersicht und nie wieder klammerfehler.

edit: danke Fred(nächster post). das verwechsel ich gern mal^^
habs editiert.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (03.04.2011, 23:48)


Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

29

03.04.2011, 23:45

In Visual Studio ist es - wenn ich mich nicht täusche - aber [shift]+[tab] zur Verschiebung des Text-Blocks nach links. [strg]+[tab] dient zur Auswahl der geöffneten Dateien.

Werbeanzeige