Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.09.2001, 20:11
Angel_HoD



Hi,
ich bin neu beim c++ Coden.
Erstmal habe ich mit Hilfe des Buches „C++ in 21 Tagen“ versucht, die Sprache zu verstehen, doch ich kann das Buch für Anfänger absolut nicht weiterempfehlen, das es sich fast ausschließlich mit den Besonderheiten zu Micrsofts Visual Basic befasst. (Bis auf den Anhang, der ist ganz ok)

Dann hab ich mal das Tut von dhcc durchgegangen, verstanden auch J und habe versucht, eine neue Waffe in HL einzubauen. Erst waren es ein paar mehr Fehler ;) , doch die meisten Sachen waren lösbar.
Aber diese 2 Fehler sagen mir absolut rein gar nichts, könnt ihr mir weiterhelfen.
Ich hab eine Neue Waffe nach dem Tut von Icarus gemacht, sie heißt bisher „m4a1“ Für die Models hab ich erst mal ne Cs Waffe genommen, Sounds hatte ich auch. Und wo ist eigentlich der 2. Fehler, ich sehe nur einen!
Ich habe das ganze mit MS Visual Basic C++ 6.0 Standard gemacht.
Hier der Compilerauszug.
-------------------Configuration: hl - Win32 Profile--------------------
Compiling...
mp5.cpp
Linking...
Creating library .\Profilehl/hl.lib and object .\Profilehl/hl.exp
m4a1.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Cm4a1::Spawn(void)" (?Spawn@Cm4a1@@UAEXXZ)
.\Profilehl/hl.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

hl.dll - 2 error(s), 0 warning(s)

__________________________________________________________________________________________

[OT]
Außerdem habe ich noch eine Frage zu einem einfachen Taschenrechner:
Ich habe eine gemacht, mit:

#include <iostream.h>

void main(void)
{
int Rechenoperation;

cout << "Welche Rechenoperation moechten Sie ausfuehren ?" << endl;
cout << "1 fuer Addition"<<endl;;
cout << "2 fuer Subtraktion"<<endl;;
cout << "3 fuer Multiplikation"<<endl;;
cout << "4 fuer Division"<<endl;;
cin >> Rechenoperation;

switch (Rechenoperation)
{
case 1:
cout << "Bitte geben sie den ersten Wert ein:" << endl;

int a, b;

cin >> a;

cout << "Bitte geben Sie den zweiten Wert ein: ";
cin >> b;
cout << a << " + " << b << " = " << a + b << endl;

break;
case 2:
cout << "Bitte geben sie den ersten Wert ein" << endl;

cin >> a;

cout << "Bitte geben Sie den zweiten Wert ein: ";
cin >> b;
cout << a << " - " << b << " = " << a - b << endl;

break;
case 3:
cout << "Bitte geben sie den ersten Wert ein" << endl;

cin >> a;

cout << "Bitte geben Sie den zweiten Wert ein: ";
cin >> b;
cout << a << " * " << b << " = " << a * b << endl;

break;
case 4:
cout << "Bitte geben sie den ersten Wert ein" << endl;

cin >> a;

cout << "Bitte geben Sie den zweiten Wert ein: ";
cin >> b;
cout << a << " / " << b << " = " << a / b << endl;
break;
default:
cout << "Sorry, falsche Eingabe" << endl;
break;
};
}

Also ganz einfach mit switch und 2 Werten erst mal. Aber ich habe noch kein Kommando irgendwo gefunden, wie ich wieder in die Ausgangsposition komme.
Ich habe eine einfache „Win 32 Console Application“ gemacht, die funktioniert auch soweit, wie ich sie in dem Programm ausführe einwandfrei, aber wenn ich das Programm dann außerhalb starten will, wird es nicht richtig ausgeführt, bzw. startet und schließt nach der 1. Eingabe L
Ein Freund meinte, das ginge nicht mit der Standard Version von MS, ist das war??
Das wäre ja echt sch**ße!

Ich hoffe, ihr könnt mir bei meinen beiden Problemen weiterhelfen.

MfG Angel_HoD

--

MfG Angel_HoD

wer sonst ;)

zum Seitenanfang zum Seitenende Profil || Suche
001
17.09.2001, 20:17
Archangel



zu 2:
#include <conio.h>

und dann ans ende von main (vor der { ):
getch();

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
002
17.09.2001, 21:35
Mazze



1. Ich habe das ganze mit MS Visual Basic C++ 6.0 Standard gemacht.
Basic und C++.....ich kenn mich ja nicht in den bezeichnungen aus. Vielleicht heißt das ja, dass es ein Paket von Basic und C/C++ ist. Aber ich denke, dass das Basic nicht korrekt ist!

das es sich fast ausschließlich mit den Besonderheiten zu Micrsofts Visual Basic befasst
Aha....wieder Basic!
Schon komisch, dass man sich in einem C++ Buch mit Basic befasst. Naja!

2.
Also erstens hast du einee hl.dll erstellt. Ich weiß nicht, ob du echt singleplayer willst. Genauso weiß ich nicht, ob das Waffentutorial auch im Full-SDK geht. Ich kenne die Unterschiede vom Full- zum Standart-SDK zu wenig!
Auf jeden Fall ist es ein Linkerfehler!
Ich würde mal nach der Spawn Funktion schauen. Vielleicht hast du vergessen eine Header-Datei einzubinden, oder was weiß ich!

3.
Dass das Taschenrechnerprogramm nicht so der Hit ist wirst du selber wissen.
Aber was sollen die 2 Semikolons z.B. hier:
cout << "1 fuer Addition"<<endl;;

Viel Spaß beim C++ lernen
Matze

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
003
18.09.2001, 19:32
Angel_HoD



Sorry, ich hab mich verschieben!
Es geht um den Buch hauptsächlich um die Funktionen des Microsoft Produkts, nicht um Basic.
Und klar ist der Taschenrechner nicht so der Hit, überhaupt lächerlich, aber ich habe gerade erst begonnen und wollte mal wissen, wie das alles funktioniert und ob ich den richtigen Ansatz habe, oder auf andere Art und Weise einen Taschenrechner schreiben muss.
K/A warum ich da überall Basic geschrieben hatte, ich editiere das mal gleich.
Ich hab bein Thema Taschenrechner ein bischen weiterüberlegt, und wollte mal wissen, ob es eine "Rücksprungfunktion" gibt
zB: gotoline:xy oder sowas.
@Archangel
Was löst denn das Getch() aus?=
Bei mir kann ich dann einfach nur eine weitere Taste drücken, danach ist das Programm beendet.
Das mit den zwei ;; kann ich mir nicht erklären, bei mir im Code stehen die nicht! Und den hab ich kopiert !?

@ Webmaster:
Warum kann ich meinen Post nicht mehr editieren, ich will die Fehler rausmachen!
Und löschen kann ich den logischerweise auch nicht...
Need Help

--

MfG Angel_HoD

wer sonst ;)


Dieser Beitrag wurde am 18.09.2001 um 19:34 von Angel_HoD bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
18.09.2001, 19:42
thinktank



Na klar gibts das :

Du markierst eine Art Marke :

Ende :
// Do Something ...

Dahin springst du dann mit :
goto Ende;

ABER VERWENDE NIE SOWAS , DAS IST ÜBELST SCHLECHTER STIL !

// Ich denke, dass hier das fett und rot schreiben gerechtfertig ist :)

--


Dieser Beitrag wurde am 18.09.2001 um 19:43 von thinktank bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
18.09.2001, 20:11
Lephro



Taschenrechner :

Also du hast zwar keine Fehler gemacht aber du solltest ein bishen objektorientierender denken :
Mach lieber ne function "Addition ()" und gibt das zu rechnende über Parameter ab d.h. :

void Addition(int a, int b)
{
int ergebniss;
ergebniss = a += b;
return ergebniss;
}

So ist der Code vieleicht umständlicher aber jetzt kannst du wenn du bspweise den Taschenrechner ausbaust immer die funktion addition benutzen.

Wenn du z.B. einen Code schreibts einen Computergegner bewegt schreibst du den Code auch nicht in jeden gegner selbst rein .......

Ja Ja ich weiss kann verwirrnd sein ...........................

--

zum Seitenanfang zum Seitenende Profil || Suche
006
18.09.2001, 20:13
Archangel



Zitat:

aber wenn ich das Programm dann außerhalb starten will, wird es nicht richtig ausgeführt, bzw. startet und schließt nach der 1. Eingabe L

das getch(); verhindert dieses sofortige schließen, da noch auf einen tastendruck gewartet wird..

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
007
19.09.2001, 14:11
Mazze



Wenn du auch die Abfrage welche Rechenart man nehmen will in eine Funktion packst kannst du sie einfach nochmal aufrufen!
Vergess die Idee mit dem goto!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
008
19.09.2001, 18:49
[GOD]ShadowLord



zur waffe: du hast irgendwo 'ne definition der waffe oder 'n
funktionslink vergessen,den fehler hatte ich auch mal,aber ich weiss nicht
mehr genau,was man da machen muss

--

they come in peace - and go in pieces

zum Seitenanfang zum Seitenende Profil || Suche