Zehnkampfwettbewerb
-
Ist das dein ernst?? Du meinst also, ein Programm, welches auf die o. a. Dinge verzichtet, ist automatisch nicht mehr
Was ist o.a.? Und dabei, das Ziel ist nicht auf die objekt-orientierte Programmirung zu verzichten aber C++ program zu rein C program zu konvertiren. Und es gibt viel Sinn so zu machen. Z.b. rein C programm ist mehr portabel. Dennkest du mal warum Linux kernel mit rein C geschrieben ist?
-
-
CarstenJ schrieb:
Wenn ich dass richtig verstehe moep_mich moechte eine C++ -> rein C Konvertierung.
Nein, ich glaub genau das möchte er nicht.Denn seine Frage scheint wirklich dumm zu seint.
Auch in C kann man objektorientiert programmieren, genauso wie man in C++ prozedual programmieren kann.
Einverstanden.
ER müsste eigentlich das ganz Programm umschreiben. Auf jeden Fall hängt das nicht von einigen Schlüsselwörtern ab!
Ich zeigte nur den Weg. Meinst du dass ich das ganzes Programm fuer Ihn umschrebein?
PS: es ist auch nicht immer sehr grossartig (und optimal) exceptionen zu werfen und zu fangen.
Dann schreib ein Programm, was keine Fehler hat. Dann brauchst du das auch nicht......
Nein, Ich meine zurueckgegeben Feheler kode. Exceptionen sind langsamer.[/quote]
-
Was ist o.a.?
O. a. bedeutet: Oben angegeben. Dabei bezog ich mich auf den von dir geposteten Text.
Und es gibt viel Sinn so zu machen. Z.b. rein C programm ist mehr portabel.
Quatsch. Standard C ist genauso portabel wie Standard C++.
Dennkest du mal warum Linux kernel mit rein C geschrieben ist?
Performance. Und als Unix (wovon Linux schließlich abgeleitet ist) geschrieben wurde, gab es auch noch kein C++. Abgesehen davon sind deine Möglichkeit mit Ansi-C unter Linux auch begrenzt.
Nein, Ich meine zurueckgegeben Feheler kode. Exceptionen sind langsamer.
Ob das von Bedeutung ist? Fehlercodes müssen nicht ausgewertet werden. Lieber ein langsameres Programm als eins, was fehlerhaft läuft.
-
Quatsch. Standard C ist genauso portabel wie Standard C++.
Du hast unrecht. Standard C++ is viel mehr kompliziert. Und C++ compiler haben viel mehr Feheler. Nim, z.b. Visual C++ (6.x) versus GCC (G++).
Im gcc:
for (int i = 0; i < 5; i++) { ... } for (int i = 0; i < 10; i++) { ... }
Im Microsoft Visual C 6.x
for (int i = 0; i < 5; i++) { } for (int i = 0; i < 10; i++) { // Feheler !!! i ist definiert zum zweiten mal }
und est nur eine Beispiel, es gibt auch vile andere schlechte Beischpile.
-
Standard C++ is viel mehr kompliziert.
Mag sein, aber das hat mit Portabilität & Standard nix zu tun.
Und C++ compiler haben viel mehr Feheler. Nim, z.b. Visual C++ (6.x) versus GCC (G++).
Du sagst es ja selber: Die Compiler. Nicht jeder Compiler ist 100%ig standardkompatibel (sogar die wenigsten). Und genau da liegt das Problem.
for (int i = 0; i < 10; i++) { // Feheler !!! i ist definiert zum zweiten mal }
Jo, das ist dann ein Bug im Visual C++ Compiler von Microsoft. Das hat aber absolut nix mit dem Standard zu tun.
-
ok, die Compiler
Jo, das ist dann ein Bug im Visual C++ Compiler von Microsoft. Das hat aber absolut nix mit dem Standard zu tun.
Und est ist wirklich kein Bug sogar obsolete Standard. Und ich glaube: je complizierter Computersprache ist desto mehr Fehler Die Compiler haben. Das hat nichts mit der Unix, Windows usw API Vereinbarkeit zu tun. Ich moechte nur sagen dass es viel mehr compliziert 100% oder sogar 95% compatibel zu sein. Und dabei C++ ist viel junger als C.
Aber was mehr interessant ist
was der Autor der ersten Meldung meinte ?
-
Danke ertseinmal ...
-
Komplett ohne Funktionen.
#include <conio.h> #include <iostream.h> int main() { string sportlernamen[8]; int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2]; clrscr(); cout << "\tWettkampfsteilnehmererfassung\n\n"; for(i=0;i<8;i++) { cout <<"\nBitte "<<i+1<<". Teilnehmernamen eingeben: "; cin >> sportlernamen[i]; } clrscr(); for (i=0;i<10;i++) { cout << "\tErgebnisse Wettkampf Nr.: "<<i+1<<"\n\n"; for(j=0;j<8;j++) { cout << "Ergebnis Sportler "<<sportlernamen[j]<<" :"; cin >>punkte[j][i]; } clrscr(); for(k=0;k<8;k++) { zwpunktpos[k][0]=k; zwpunktpos[k][1]=0; for(j=0;j<=i;j++) zwpunktpos[k][1]+=punkte[k][j]; } for(j=0;j<8;j++) { for(k=1;k<8;k++) { if(zwpunktpos[k][1]>zwpunktpos[k-1][1]) { for(int l=0;l<2;l++) { swap=zwpunktpos[k][l]; zwpunktpos[k][l]=zwpunktpos[k-1][l]; zwpunktpos[k-1][l]=swap; } } } } cout << "\t\tErgebnisse der Wettbewerbe\n\nSportler:"; for(j=0;j<8;j++)cout << " | "<<sportlernamen[j]; cout << endl; for(j=0;j<=i;j++) { cout << "wb"<<j+1<<": "; for(k=0;k<8;k++) { cout << " | " << punkte[k][j]; } cout << endl; } cout << "\n\n"; pos=0; for(j=0;j<8;j++) { if(j&&zwpunktpos[j-1][1]!=zwpunktpos[j][1]) pos++; cout << pos+1<< ".Platz: " << sportlernamen[zwpunktpos[j][0]]<< " mit " << zwpunktpos[j][1] << " Punkten.\n"; } cout << endl; } getch(); return 0; }
-
Danke