Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   c Anfänger braucht hilfe (https://www.tweakpc.de/forum/programmiersprachen/11013-c-anfaenger-braucht-hilfe.html)

Bad Blade 09.10.2003 15:20

c Anfänger braucht hilfe
 
Tach auch,
will jetzt aquch mal anfangen mit c7c++ zu programmiren. Nun hab ich auch schon mein erstes Problem.
Hier der Quelltext:
//Serial
#include <iostream.h>
#include <conio.h>
int main ()
{
float benutzernummer;
using namespace std;

cout<<"Bitte geben Sie Ihren benutzernummer ein: ";
cin>>benutzername;

if (benutzernummer==1234); clrscr(); cout<<"Willkommen";
else cout<<"nein";
getch();
return 0;
}

Was ist daran falsch. Bekomme immer die meldung else an falscher position. Nutze den Borlan 6 Compiler
Und dann wollte ich mal wissen, ob man zahlenkombinationen auch namen geben kann ?? Oder namen auch zahlkombinationen???

Gruß
Alex

Dr. BeSt 09.10.2003 16:13

Re: c Anfänger braucht hilfe
 
Ich würde den Teil

[code]if (benutzernummer==1234); clrscr(); cout<<"Willkommen";[/code]
umschreiben in

[code]if (benutzernummer==1234) { clrscr(); cout<<"Willkommen"; }[/code]
...aber ich bin kein Experte in der Sprache. Genaugenommen kann ich sie nur theoretisch, hab aber noch nie selbst irgendwas geschrieben... :lol:

DerDon 09.10.2003 16:27

@best & bad blade

es ist so wie dr best es geschrieben hat
:arrow:

if ( bedingung)
{
}

else
{
}

anweisungen in den {} blöcken, [b]ausser[/b] es handelt sich um ein -befehl-anweisungen

übrigens:
ich weiss nicht ob du das gedacht hast, aber mir scheint, dass du angenommen hast dass es eine bedeutung hat ob die befehle in einer zeile sind oder auf mehrere verteilt --> ist egal, es geht nur um den strichpunkt

anweisung; anweisung;
=
anweisung;
anweisung;

[/b]

Bad Blade 09.10.2003 18:44

das hab ich auch schon probiert. Geht aber ganau so wenig
habs jetzt selber rausgefunden, statt den ; muss ich hinter dem if immer ein , setzetn. Frag mich nicht warum, aber es geht dann
gruß
Alex
P.S. Wenn ich scon dabei bin, wie bindet man datenbanken oder so mit ein???

Dr. BeSt 09.10.2003 18:46

[quote=Bad Blade]das hab ich auch schon probiert. Geht aber ganau so wenig
habs jetzt selber rausgefunden, statt den ; muss ich hinter dem if immer ein , setzetn. Frag mich nicht warum, aber es geht dann[/quote]
8O :? :gruebel:

DerDon 10.10.2003 14:51

[quote=Bad Blade]das hab ich auch schon probiert. Geht aber ganau so wenig
habs jetzt selber rausgefunden, statt den ; muss ich hinter dem if immer ein , setzetn. Frag mich nicht warum, aber es geht dann
gruß
Alex
P.S. Wenn ich scon dabei bin, wie bindet man datenbanken oder so mit ein???[/quote]

sicher? das ist aber nicht öhm standart mässig :denker:

Bad Blade 10.10.2003 16:36

ich habe herausgefunden, dass wenn ich hinter if mehrere Befehle setzten will, egal ob untereiander oder nebeneinander, muss ich diese mit , abtrennen. Nach den letzten befehl schreib ich dann ein ; So gehts anders kommt immer else an ungültiger person

gruß
alex

Dr. BeSt 10.10.2003 17:06

Und so wie ich gepostet hab geht es nicht?!

sys3 10.10.2003 23:53

[quote=DerDon][quote=Bad Blade]das hab ich auch schon probiert. Geht aber ganau so wenig
habs jetzt selber rausgefunden, statt den ; muss ich hinter dem if immer ein , setzetn. Frag mich nicht warum, aber es geht dann
gruß
Alex
P.S. Wenn ich scon dabei bin, wie bindet man datenbanken oder so mit ein???[/quote]

sicher? das ist aber nicht öhm standart mässig :denker:[/quote]Das ist zwar ungewöhnlich, aber AFAIK absolut zulässig.

_Smash_ 11.10.2003 13:43

soweit ich weiss, brauchst du bei der iostream.h den namespace nicht nochmal extra auf standard zu setzen, das macht der von selber. nur bei dem iostream ohne h kannst/musst du das machen.

und das namespace kommt auch glaube ich unter die include anweisungen vor die funktionen.

aber das ist nur form.

Bad Blade 11.10.2003 15:14

Ne bei borland muss das using namespace std in den quellcode. Aber hat denn keiner von euch erfahrung mit Datenbanken???

Gruß
Alex

Gast 02.02.2004 21:23

Re: c Anfänger braucht hilfe
 
[quote=Bad Blade]Tach auch,
will jetzt aquch mal anfangen mit c7c++ zu programmiren. Nun hab ich auch schon mein erstes Problem.[/quote]

Ordentliche Klammersetzung hilft schon Mal sehr viel.

Wie wär's damit:

[code]#include "iostream"

using namespace std;
int main () {
float benutzernummer;
cout<<"Bitte geben Sie Ihren benutzernummer ein: " << endl;
cin>>benutzernummer;

if (benutzernummer==1234) {
cout<<"Willkommen" << endl;
}
else {
cout<<"nein" << endl;

}

getchar();
return 0;
}[/code]

tele 02.02.2004 22:12

du meinst sicherlich iostream.h ?

_Smash_ 02.02.2004 22:19

ne tele... wenner den namespace setzt brauch der das h nicht

Mr. Puzzy Marty 20.02.2004 21:38

Re: c Anfänger braucht hilfe
 
Also ich hab ja eigentlich echt keine Ahnung von C aber Leute schaut doch mal genau hin!
er hat die Variable "benutzernummer" deklariert
[quote] float benutzernummer[/quote]
soweit so gut.
dann will er aber den User der Variable "Benutzername" einen Wert zuweisen lassen.
[quote]cin>>benutzername;[/quote]
davor hat er aber doch nur die Variable "Benutzernummer" deklariert.
Dann will er zusammen mit der Variable eine IF-Anweisung machen, doch hier benutzt er wieder die Variable die er auch zuvor deklariert hatte.
[quote] if (benutzernummer==1234); [/quote]
NUn geht dass natürlich nicht, da die Variable "Benutzernummer" noch keinen wert hat sondern nur die Varibale "Benutzername".
"Benutzername" nicht gleich "Benutzernummer".
oder irre ich mich da?

Dr. BeSt 21.02.2004 12:57

Re: c Anfänger braucht hilfe
 
:kugel: Hast recht, Mr. Puzzy Marty! :respekt:

Stinger` 27.02.2004 15:44

Re: c Anfänger braucht hilfe
 
[code]
#include <iostream>
#include <cstdlib>

using namespace std;


int _cdecl main()
{
unsigned int iBenutzerNr = 0;

cout << "Bitte geben Sie Ihren benutzernummer ein: ";
cin >> iBenutzerNr;

system("cls");
if (iBenutzerNr == 1234)
cout << "Willkommen" << endl;
else
cout << "Nein" << endl;

system("pause");
}
[/code]

Seit dem Standard von 1998 gibt es den Header "iostream.h" nicht mehr. Deswegen solltest du den Standard-Header "iostream" nehmen. Demnach musst du auch "using namespace std;" verwenden. Für den Header "conio.h" gilt das gleiche, statt den Funktionen nimmst du einen die Funktion "system" aus dem Standard-Header "cstdlib". Der Standard hat auch nichts mit den verschiedenen IDEs von Borland oder Mircosoft zu tun ;).

Noch was zum effizenten Programmieren, "int", "float" usw. sind für den Zweck den du brauchst absolut dämlich, da du ersten keine Minuszahlen brauchst und zweitens keine Fließkommazahlen für die BenutzerNr. nimmst. Deswegen ist unsigned int besser, da es nur positive Ganzahlen annimmt.


Um Namen anzugeben nimmst einfach statt "unsigned int" den Datentyp "string" und veränderst den Vergleich so:

[code]
if (strBenutzerName == "Hans Meier")
cout << "Willkommen " << strBenuterName << endl;
else
cout << "Nein" << endl;
[/code]

Wenns Probleme gibt oder du Fragen hast, schreib mir den PN :).

_Smash_ 27.02.2004 15:50

du hast das wirklich drauf, oder?

Stinger` 27.02.2004 16:12

Wirklich drauf haben kann man die Sprache nicht, es gibt einfach viel zu viele Funktionen. Aber ich würde sagen, das ich zumindest alles nötige für die Programmentwicklung unter Windows drauf habe.

_Smash_ 27.02.2004 16:25

ja schon klar, aber einer, der das nicht wirklich gut kann wird sich nie an signed und usigned stören :-)
der freut sich, wenns läuft...

Stinger` 27.02.2004 16:32

Naja, wir wollen doch lauffähige und effizente Programme schreiben :).

Pirke 27.02.2004 18:02

Erstmal soll es laufen, Effizient machen kann man es dann immernoch :-)

Stinger` 27.02.2004 20:56

Nein :). Stell dir mal ein Projekt wie z.B. WinAMP mit mehreren 1000 Zeilen Code. Da brauchst du erstmal um das zu schreiben so ca. 2 Wochen, dann debuggen, wahrscheinlich nochmal 2-3 Tage. Und dann nochmal das Programm effizent machen? Das wäre pure Zeitverschwendung :).

tele 28.02.2004 02:35

:mod: aus diesem Grund wird ja auch vorher hinreichend zeit in die Planungs und Design Phase gesteckt

_Smash_ 28.02.2004 12:22

ob da die effizienz des codes mit einfließt möchte ich bezweifeln.
denn die wirtschaftsfuzzies werden sich kauf mit den verschiedenen datentypen auseinandersetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.