Compiler Problem
-
ich programmier auf microsoft visual studio .net 2003, eine gestellte version von meiner fh.
ich hab damit schon ein problem. weil am laptop meine programme dann nicht fehlerfrei laufen.
-
mivrosoft visual studio 2003 ist der größte schrott den ich je benutzen musste (!)
leider is des bei unseren uni-pcs installiert , mich bringts aber immer wieder auf die palme , für einen Anfänger ist visual studio meiner meinung nach total ungeeignet ,such dir nen unkomplizierten freeware-compiler der nich so viel schnick schnack hat
grafische benutzeroberfläche ist meiner meinung nach ,für den anfnag auch nicht notwendigich benutz den stinknormalen Editor + den digital mars compiler (dmc)
(zum comilieren nutz ich dann die cmd.exe von windows)
und ich als (noch) Anfänger komm damit bestens zurecht
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum Compiler-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
also bei solchen problemen immer ausführlich die umgebung beschreiben:
z.b. welches betriebssystem ist auf deinem laptop, funktioniert dein
compiler auf dem laptop überhaupt nicht? welcher compiler ist auf deinem
laptop?
normalerweise sollten die grundlagenquelltexte in c++ von fast allen
aktuellen compilern übersetzt werden. wenns dann umfangreicher wird
können dann schon mal mehr differenzen auftreten.sonst poste doch mal eine kleines beispiel wo die fehler auftreten mit
einigen zeilen der dazugehörigen fehlermeldungen deines compilers.mfg f.-th.
-
Spliffy85 schrieb:
ich programmier auf microsoft visual studio .net 2003, eine gestellte version von meiner fh.
ich hab damit schon ein problem. weil am laptop meine programme dann nicht fehlerfrei laufen.
Was heißt "nicht fehlerfrei laufen"? Wie f.-th. schon sagte, wir brauchen Infos und ein Quellcode-Beispiel, um dir helfen zu können.
MfG
GPC
-
auf meinem laptop habe ich windows xp, in der fh weiß ich es nicht genau, aber ich schätz noch kein xp.
auch hab ich an der fh eine ältere programmierumgebung von microsoft visual studio.ich musste ein primzahlen-test programmieren. zu ende programmiert hab ichs an der fh. und wenn ich diesen test auf meinem laptop ausprobieren will, bringt er mir die fehlermeldung, dass meine sqrt mehrdeutig überladen ist. an der fh läufts fehlerfrei.
#include <stdio.h> #include <math.h> void main () { //Variablen-Deklaration: unsigned prim, fac = 3, hprim; double hfac; //Variable einlesen: printf("Bitte eine Zahl eingeben:\n"); fflush(stdin); scanf("%u", &prim); //Primfaktorzerlegung: printf("Das Ergebnis der Primfaktorzerlegung lautet:\n"); //Fallunterscheidungen: //Zahl = 0: if (prim == 0) printf("0 ist eine ungueltige Eingabe!\n\a"); //Zahl = 1: else { if (prim == 1) printf("1 ist eine Primzahl!\n"); //weitere Unterscheidungen: else { hprim=prim; hfac = ceil (sqrt(prim)); printf ("%lf\n", hfac); do if (fac > hfac) { printf("%i\n",hprim); hprim =1; } else { if((hprim%2) ==0) { hprim = hprim/2; hfac= ceil (sqrt(prim)); if (hprim ==1) printf ("2\n"); else printf("2* "); } else { if ((hprim%fac) == 0) { hprim=hprim/fac; hfac= ceil (sqrt(hprim)); // printf ("%.0lf\n", hfac); if (hprim == 1) { printf("%u\n", fac); } else { printf("%u * ", fac); } } else fac= fac + 2; } } while (hprim !=1); } } }
-
Nenn die Datei .c und nicht .cpp oder compilier sie strikt als c-code.
-
Hallo,
dein Code bringt mich ja fast zum Weinen. Also erstmal heißt es:
int main() { //... return 0; }
dann ist fflush(stdin) eine wirklich wirklich schlechte Idee. Ersatz dafür ist:
void clearStdin() { int c; while ((c = getchar()) != EOF && c != '\n'); }
Aber wenn du deinen Code als .c Datei abspeicherst bzw. in einem C-Projekt anlegst, hast du keine Probleme mehr.
MfG
GPC
-
hab doch gesagt,dasse no anfänger bin
hab da mal ne frage zu dem return 0:
wann steht eigentlich return 0 und wann nur return? dann kann mans auch noch auf 1,2, a, b etc. erweitern. aber wann und welche funtkion hat dies?zu dem ersatz von fflush. ok selbststudium, aber ich bin froh, wenne fflush kann...
-
Hi,
Spliffy85 schrieb:
hab doch gesagt,dasse no anfänger bin
war ja nicht böse gemeint, wir haben alle mal angefangen.
hab da mal ne frage zu dem return 0:
wann steht eigentlich return 0 und wann nur return?return 0; steht immer dann, wenn deine Funktion einen Wert zurückgibt, in dem Fall 0, in diesem speziellen Fall von int main() besagt return 0; nur, dass alles ohne Probleme lief:
int main() { if (some_strange_error) return 1; //Jetzt bricht das Programm mit dem Fehlercode 1 ab, der sollte //natürlich irgendwo dokumentiert sein ;) return 0; //Ok, Programm korrekt abgelaufen }
Ein einzelnes return wird benötigt, um void-Funktionen vorzeitig zu verlassen:
void foo() { if (some_strange_error) return; //Abbruch bei irgendnem Fehler //sonst weitermachen ;) launch_nuclear_bombs(); }
dann kann mans auch noch auf 1,2, a, b etc. erweitern. aber wann und welche funtkion hat dies?
Jede Funktion die einen Rückgabewert hat, muss irgendwo ein return haben!
Bsp:int add(int a, int b) { return a+b; }
zu dem ersatz von fflush. ok selbststudium, aber ich bin froh, wenne fflush kann...
Komm ich nicht mit, aber auch wenn du meine Lösung nicht verstehst, verwende NICHT fflush(stdin)!!!
Hier noch was zum Lesen: http://tutorial.schornboeck.net/funktionen.htm
MfG
GPC
-
hi!
ja danke für die ausführlichen antworten.
trotzdem meckert mein compiler bei meinem programm, immer an der selben stelle rum, nämlich bei allen sqrt. die sind für ihm mehrfach überbewertet.
und ich kann meine datein nur mit .cpp speichern. unter .c geht gar nicht.cya
-
Spliffy85 schrieb:
trotzdem meckert mein compiler bei meinem programm, immer an der selben stelle rum, nämlich bei allen sqrt.
tjo, es ist halt so, dass es mehrere Versionen von sqrt gibt, mit speziellen Implementierungen für die verschiedenen Parametermöglichkeiten.
die sind für ihm mehrfach überbewertet.
Dann caste in die erwarteten Parameter.
und ich kann meine datein nur mit .cpp speichern. unter .c geht gar nicht.
Muss möglich sein, das kann das VS. Ich bin mir da sehr sicher. Ich glaub, dass war wenn du das Konsolen-Projekt anlegst, dann musst du in nem Dropdown-Menü irgendwas wie "C-Code" auswählen oder so. Musst mal n bisserl suchen.
MfG
GPC