Allgemeiner Programmiersprachen Lern-Thread

Original geschrieben von Hopeless Angel
kann mir jemand die c++ Funktion:

void main(void)

erklären?
mir gehts eigentlich nur um des void...ich weiß nicht was des ist.
ich bin der Funktion zwar bisher nicht begegnet, aber da C++ & Java einige Gemeinsamkeiten habe, hoffe ich, dass dies hier auch der Fall ist. In Java steht void, wenn in der Funktion nichts zurück gegeben werden soll. Es wird also etwas ausgeführt, aber am Ende nichts zurück gegeben. Mal hoffen, dass du damit in C++ etwas anfangen kannst.
 
Original geschrieben von grosse Saiyaman
ich bin der Funktion zwar bisher nicht begegnet, aber da C++ & Java einige Gemeinsamkeiten habe, hoffe ich, dass dies hier auch der Fall ist. In Java steht void, wenn in der Funktion nichts zurück gegeben werden soll. Es wird also etwas ausgeführt, aber am Ende nichts zurück gegeben. Mal hoffen, dass du damit in C++ etwas anfangen kannst.

yo danke^^
 
EDIT: ups, wurde schon beantwortet!
aber an den über mir:

geh ins Internet / Hompage Forum!
 
Zuletzt bearbeitet:
Anfänger, C Problem!

#include <stdio.h>
#include <conio.h>

main()
{
int zahl;
printf("Bitte die Zahl eingeben: \n");
scanf("%i",&zahl);
printf("eingegebene Zahl war: %i",zahl);
getch();
}

So wenn ich den Source in den Compiler eingebe kommt dann bei run folgende Fehlermeldung:


line 1: #include stdio.h ignored--file not found.
line 2: #include conio.h ignored--file not found.

Versteh ich nicht.
Was kann ich dagegen machen? Was ist daran falsch?

Danke
 
Re: Anfänger, C Problem!

Bebbo Erbse schrieb:
#include <stdio.h>
#include <conio.h>

main()
{
int zahl;
printf("Bitte die Zahl eingeben: \n");
scanf("%i",&zahl);
printf("eingegebene Zahl war: %i",zahl);
getch();
}

So wenn ich den Source in den Compiler eingebe kommt dann bei run folgende Fehlermeldung:


line 1: #include stdio.h ignored--file not found.
line 2: #include conio.h ignored--file not found.

Versteh ich nicht.
Was kann ich dagegen machen? Was ist daran falsch?

Danke

Was für einen Compiler verwendest du?
 
grosse Saiyaman schrieb:
ich bin der Funktion zwar bisher nicht begegnet, aber da C++ & Java einige Gemeinsamkeiten habe, hoffe ich, dass dies hier auch der Fall ist. In Java steht void, wenn in der Funktion nichts zurück gegeben werden soll. Es wird also etwas ausgeführt, aber am Ende nichts zurück gegeben. Mal hoffen, dass du damit in C++ etwas anfangen kannst.

nicht ganz
void main(void)

das erste void heisst, wie saiyaman schon sagte, das die funktion nichts zurückgibt
stimmt nich so ganz, laut c-convention MUSS main IMMER etwas zurückgeben, durch void main() jedoch kannstm compiler sagen 'hier passt schon', der compiler ersetzt die main dann intern durch das hier:
int main() {
...dein zeugs...
return 0;
}

das void innerhalb der klammer is lediglich zur verdeutlichung das die funktion keinerlei parameter annimmt, kannstes auch weglassen oder haltn comment darüberschreiben das keinerlei parameter übergeben werden, hat sich halt so eingebürgert
genauso wie man in java in leere catch-blocks nen //empty comment reinbringt um zu verdeutlichen das der block leer is
 
Hi,
weis jemand zufällig welche Programmiersprache für Spiele gedacht wäre? Ich mein jez ned so nen RPG game oder minigamez, ich dachte da mehr an so ein game wie doom 2, quake 2, cs, starcraft, diablo, etc. (zu anspruchsvoll soll dann auch wieda ned sein, dass is dann scho klar das es dann länger dauert ;-)

THX im Voraus

MfG darki
 
Funktionen und void

Also das "void Main(void)" ist erstmal ein Funktionskopf.
Diese Funktion speziell stellt den Einstiegspunkt ins Programm dar.

Jede Funktion hat die Grundsyntax:
<Rückgabetyp> <Funktionsname> (<Parameter>) (evt Implementation sonst Semikolon)

also hat void Main(void) den Rückgabetyp void und den Parameter void.
void steht in diesem Falle für einen Typ wie z.B.:integer alias int in c/c++/c#
um genau zu sein, gibt void dem Compiler zu verstehen das es keinen Rückgabetyp gibt und das es keine Parameter gibt. Wenn das nicht so wäre und z.B. int Main(void); dastehen würde, würde der Compiler ne Warnung ausspucken das in der Funktion Main nicht jeder Programmpfad einen Rückgabewert hat (der mit return <Wert> gesetzt werden kann).

Neben bei void Main(void) ist gleichwertig zu void Main()
Das spart Schreibarbeit, kommt aber darauf an wie gut dein Programm strukturiert ist. Wenn dir das mit dem void in den Klammern eindeutiger ist kannst du das ja trotzdem schreiben.

Hoffe das hilft dir. :)
 
Hi Darki

Ich nehm mal an, das du noch keine Sprache kennst und jetzt wissen willst welche du lernen sollst.
Das große Problem was du bei solchen Spielen hast ist eine Schnittstelle zwischen Grafikkarte und Programiersprache, allgemein Engine genannt.
Das noch größere Problem, sowas alleine zu schreiben ohne Programmiererfahrung ist schier unmöglich. Das heißt du wirst auf eine vorhandene Engine zurückgreifen müssen. Aber woher nehmen wenn nicht stehlen? :devil:
Es gibt z.B. open source Engines oder ich hab auch schonmal im Mediamarkt (*schleichwerbung mach* :) Gibt es aber sicher auch bei amazon) ein Programmierhandbuch gesehen wo die komplette Quake 2 Engine dabei war, und die in dem Buch erklärt wurde. Wenn du dann ne Engine hast mit Hilfe dazu, die unbedingt nötig ist, kannst du ja mal gucken welcher Programmiersprache sich diese Engine bedient und damit fällt die Wahl dieser auch nicht mehr schwer :) .
Weiterhin wenn du wirklich noch nie programmiert haben solltest und die Engine ist z.B. in C++ ,J++,Java oder so.
Die sind im allgemeinen alle objektorientiert und deswegen mußt du unbedingt bevor du überhaupt was mit Spielen machen willst, dir die Grundlagen der Objektorientierung beibringen.
Zudem kannst du dann mit der Engine aber dann z.B. auch nur fertige Modelle und Karten einbinden die die Engine unterstützt, das heißt du brauchst zudem die passende 3D-Studio Version oder ähnliches um dort die Modelle zu erstellen und dann mit der Engine einzubinden. Grafische Effekte wir z.B. Einschußlöscher werden dann direkt programmiert.

Ich glaub das ist ne grobe Zusammenfassung, aber du merkst sicher auch das komplexe 3D-Spiele schon einiges benötigen. Deswegen ist modden auch so beliebt weil einem da Engine und Programme zur Verfügung gestellt werden.
:tongue2:
 
Eine Programmiersprache fuer einfache Spiele zum Einstieg waere BlitzBasic. Wurde hier schonmal irgendwo angesprochen. Ist eine Sprache, die relativ einfache Befehle mit relativ guten Effekten hat.
 
Da das ein allgemeiner Programmiersprachenlernthread ist...wie siehts mit der 4th GL aus? Schon jemand etwas mehr bewandert darin?
 
Ich denke mal eher das du ein aktuelles Problem hast.

Bei Fehlern gibt es meistens fehlermeldungen usw.
Post die einfach mal dann sehen wir weiter. ;)
 
Zurück
Oben Unten