MS Visual c++ (express edition) und Borland V5

azdr

Lieutenant
Registriert
Feb. 2005
Beiträge
685
Hi

Hab heute das compiler programm MS Visual c++ runtergeladen,aber komischer weise funktionieren meine mit dem c.tool borland prgrammierte programme nicht mit MS Visual c++.

MEine Frage sind die Befehle bzw Bibliotheken bei MS Visual c++ anders als bei borland?

.z.b ich hab ein ganz einfaches programm für testzwecke geschrieben aber es geht mit Visual c++ nicht dagegen mit borland schon.


mfg

Code:
#include <iostream.h>
#include <conio.h>

int main()
{
int x,q;
cout<<"Geben Sie eine Zahl ein die quadriert werden soll: ";
cin>>x;
q=x*x;
cout<<endl;
cout<<"quadrat von "<<x<<" = "<<q;

getch();}
 
was genau klappt denn nicht? gibt es einen compiler-error? läuft das programm als solches nicht?
ein bisschen mehr musst du schon schreiben.
wenn ich mich recht erinnere hatte der bcc so seine probleme mit der conio.

btw. die main-funktion muss einen wert zurückliefern und #include <iostream.h> sollte man nicht nutzen, nimm statt dessen: #include<iostream>, dann musst du allerdings entweder dem namespace bei jeder funktion mitführen oder eine "using namespace" zeile einfügen.
 
ok thx für die hilfe , hat sich erledigt iostream.h wird von visual c++ nicht erkannt es geht nur ohne das h.
 
azdr schrieb:
Hi

Hab heute das compiler programm MS Visual c++ runtergeladen,aber komischer weise funktionieren meine mit dem c.tool borland prgrammierte programme nicht mit MS Visual c++.

MEine Frage sind die Befehle bzw Bibliotheken bei MS Visual c++ anders als bei borland?

.z.b ich hab ein ganz einfaches programm für testzwecke geschrieben aber es geht mit Visual c++ nicht dagegen mit borland schon.


mfg

Code:
#include <iostream.h>
#include <conio.h>

int main()
{
int x,q;
cout<<"Geben Sie eine Zahl ein die quadriert werden soll: ";
cin>>x;
q=x*x;
cout<<endl;
cout<<"quadrat von "<<x<<" = "<<q;

getch();}
C++ stdlib header benutzen keine .h Endung!

Falsch:
<iostream.h>

Richtig:
<ciostream>

Weiterhin solltest du nicht conio.h verwenden. Ist ein alter DOS Header welcher weder zum C noch zum C++ Standard gehört:
http://en.wikipedia.org/wiki/Conio.h

Du verwendest KEIN using namespace std; Damit musst du vor alle stdlib Sachen ein std:: setzen.

Falsch:
cout

Richtig:
std::cout

Auch richtig:
using namespace std;
...
cout

Der Programmierstil ist schlecht. Nach einer offenen { wird normalerweise eingerückt, außerdem erleichtern zusätzliche Leerzeichen meist die Lesbarkeit. Wenn man sich einmal einen schlechten Programmierstil angewöhnt hat, dann kommt man meist schwer davon weg. Deshalb lieber gleich von Anfang an einen vernünftigen Stil angewöhnen.

EDIT: Ich hab wohl noch geschlafen :-/ Sehe gerade, dass mein Vorredner die Punkte schon angesprochen hat.
 
Zuletzt bearbeitet: (1. Kommentar im Tiefschlaf angefertigt)
mvBarracuda schrieb:
C++ stdlib header benutzen keine .h Endung!

Falsch:
<iostream.h>

Richtig:
<ciostream>
das ist falsch...
iostream ist teil der c++-stl, daher ohne c vor dem headernamen, sondern schlicht nur "#include<iostream>".
du redest von den libs aus standard-c, die man mittels clibname einbinden muss, also man muss statt "#include <stdlib.h>" "#include <cstdlib>" schreiben.
 
Naja wenn wir ganz pedantisch sind *g* ist die IOstreams Library kein Teil der STL ;)

iostream.h ist übrigens seit 1998 veraltet und wurde zum Glück jetzt endlich mal im MSVC++ rausgeschmissen...
 
Zurück
Oben