Startfehler
-
Da kannst du so nicht wirklich 100%ig klare Aussagen finden:
Während meiner Ausbildung hat man mit C begonnen
Während meines Fachabitur hat man mit VBA begonnen
Während meines Studiums hat man mit JAVA begonnenC++ ist objektorientiert, also in etwa wie in JAVA.
Ich würde tendenziell eher zu C raten, aber auch weil mir persönlich prozedurales einfacher (und besser) gefällt.
Wenn du C und C++ miteinander vergleichst, kannst du die Schlüsselwörter aus C und verschiedene Erfahrungen in C++ nutzen. Anders herum musst du schon mehr beachten(malloc cast etc.). C++ hat mehr Schlüsselwörter(wohl auch der Objektorientierung wegen).
An für sich ist aber das KORREKTE Beherrschen EINER Programmiersprache ein guter Einstieg um später auch in andere Programmiersprachen einzusteigen. Will sagen, wenn du C KORREKT beherrscht, wird es dir auch was in C++ oder was auch immer bringen. Solange du aber noch keine wirkliche Ahnung von C oder einer anderen Sprache hast, bau keine neue Baustelle;)
-
okay, danke
also bleib ich erstma bei c?
Was glaubt Ihr wl man braucht, damit man die Sprache drauf hat?
-
> C++ ist objektorientiert, also in etwa wie in JAVA.
Kannst du nicht vergleichen. C++ hat ein anderes Konzept von OOP als Java. Und C++ ist noch so viel mehr als "nur" OOP.
> Ich würde tendenziell eher zu C raten, aber auch weil mir persönlich prozedurales einfacher (und besser) gefällt.
Ich würde tendenziell eher zu Französisch raten, weil mir persönlich Käse sehr gut schmeckt.
> Anders herum musst du schon mehr beachten(malloc cast etc.). C++ hat mehr Schlüsselwörter(wohl auch der Objektorientierung wegen).
Ergibt keinen Sinn.
-
Jo ok, bleib ich bei C
Das wird auch schön leicht...
-
Multipliziere die Zahlen 23 und 45 miteinander, allerdings darfst du nur die Addition verwenden. Sprich: du musst in den passenden Schleifen die Zahlen solange miteinander addieren, bis du eine Multiplikation durchgeführt hast.
Viel Spaß!
#include <stdio.h> #include <stdlib.h> int main() { int erg = 0; printf("Wir addieren die Zahlen 23 und 45 solange bis wir eine Multiplikation durchgefuehrt haben"); for(int i = 0; i <= 44; i++) { /*War wir hier i++ stehen haben versteh ich nicht so wirklich. wir nehmen den wert doch immer + sich selbst und nicht +1(++)??*/ printf("Das Ergebnis betraegt %i\n", erg+=23); } system("PAUSE"); return 0; }
Habt Ihr noch so Aufgaben? In dem Schwierigkeitsgrad?
-
> C++ ist objektorientiert, also in etwa wie in JAVA.
Kannst du nicht vergleichen. C++ hat ein anderes Konzept von OOP als Java. Und C++ ist noch so viel mehr als "nur" OOP.
Beachte die Aussage "etwa wie in" C++ gilt als (u.a.) OOP genau wie Java als OOP gilt.
> Ich würde tendenziell eher zu C raten, aber auch weil mir persönlich prozedurales einfacher (und besser) gefällt.
Ich würde tendenziell eher zu Französisch raten, weil mir persönlich Käse sehr gut schmeckt.
Käse zu konsumieren, HAT NICHTS MIT einer bestimmten Landessprache zu tun(nichtmal französischer).
Prozedurale Programmierung zu konsumieren, HAT MIT bestimmten Programmiersprachen(C ist da ja die verbreitetste prozedurale Sprache) zu tun.Er muss seine Vorlieben erkennen und sich dann auch darauf festlegen. Wenn er gefallen an OOP hat, dann kann er ruhig auch in Richtung C++ etc. gehen.
> Anders herum musst du schon mehr beachten(malloc cast etc.). C++ hat mehr Schlüsselwörter(wohl auch der Objektorientierung wegen).
Ergibt keinen Sinn.
Hmm, ich hoffe dein Blickfeld ist nicht stark verkleinert:
Wenn du C und C++ miteinander vergleichst, kannst du die Schlüsselwörter aus C und verschiedene Erfahrungen in C++ nutzen. Anders herum musst du schon mehr beachten(malloc cast etc.). C++ hat mehr Schlüsselwörter(wohl auch der Objektorientierung wegen).
Wenn du schon "zitierst"(oder was das hier mit den ">>" soll), dann bitte auch SINNVOLL! "Anders herum" bezieht sich wohl immer noch auf eine vorherige Aussage!
C++ lässt verschiedene Paradigmen zu, die C so nicht zu lässt. C++ lässt auch noch weitere Dinge zu, die in C so nicht erlaubt wären. Schließlich ist C++ eine Erweiterung zu C. Ergo ist C, wenn auch durch C99 nicht mehr komplett, von C++ Compilern compilierbar.
Eine Programmierung in C ist demnach nur ein "Teilbereich"(wie schon gesagt, durch C99 nicht mehr ganz) von C++ und rein von der Vielfalt der Vorgehensweisen nicht so groß, wie in C++.
Man könnte nun also empfehlen, zuerst die "kleinere" Programmiersprache zu lernen und danach auf die "größere" wechseln. Anders ausgedrückt, man könnte in C erst einmal if, else, switch etc. lernen, ohne gleich noch mit Objekten, Methoden, Referenzen, Attributen etc. aus C++ zu konfrontieren.
Wobei ich SeppJ Gedanken durchaus nachvollziehen kann:
Was sollten dir C Kenntnisse bringen, außer dass sie dich behindern, weil du dann auch in C++ versuchst C zu machen (weil es geht und du es am besten kannst).
-
for(int i = 0; i <= 44; i++) { /*War wir hier i++ stehen haben versteh ich nicht so wirklich. wir nehmen den wert doch immer + sich selbst und nicht +1(++)??*/ printf("Das Ergebnis betraegt %i\n", erg+=23); }
Hmm, naja... du rechnest doch auch +23 jedes mal in printf und das solange bis i>44 ist.
Wobei i von 0 bis 44 zählt, also 45 mal. Und auch 45 mal wird in printf dein erg+=23(anders geschrieben erg=erg+23).
-> Nimm doch mal die Aufgabe und lass dir die zwei Zahlen vom Benutzer eingeben.
-> In nem anderen Thread kam eine Aufgabe, bei der es um "Iterative Persistence of a number".
Iterativ heißt mittels Schleife. "Persistence of a number" bedeutet, dass du die einzelnen Ziffern solange addierst(Quersumme) oder multiplizierst, bis nur noch eine Ziffer des Wertes zwischen 0 und 9 herauskommt. Die Anzahl der Vorgänge, die benötigt werden um von der ganzen Zahl auf nur eine Ziffer zu kommen ist die Persistenz:
Addition:
457 -> 4+5+7=16 -> 1+6=7 mit Persistenz 2
Multiplikation:
94 -> 9*4=36 -> 3*6=18 -> 18=8 mit Persistenz 3
Das knnst du ja ebenfalls mit Zahlen, die vom Nutzer eingegeben, machen. Mit "+" oder "".
-
-> Nimm doch mal die Aufgabe und lass dir die zwei Zahlen vom Benutzer eingeben.
[/quote]
Das hatte ich mir auch schon überlegt
dann poste ich ma so in 4 tagen meinen quellcode
-
Hmm, Sarkasmus?
Sollte eigentlich nciht so schwer sein, falls es ernst gemeint ist
-
naklar war das sarkasmus
#include <stdio.h> #include <stdlib.h> int main() { int erg = 0; int zahl1, zahl2; printf("Geben Sie eine Zahl ein: "); scanf("%i", &zahl1); printf("Geben sie ein zweite Zahl ein: "); scanf("%i", &zahl2); for("zahl1 = eingabe"; zahl1 <= zahl2; zahl1++) { printf("Das Ergebnis betraegt %i\n", erg+=zahl1); } system("PAUSE"); return 0; }
Das ist mein Quellcode...Also so wie ich ihn jetzt geschrieben habe, aber er rechnet so hoch, wenn ich ne 30 eingebe: 30, 61, 93...
#include <stdio.h> #include <stdlib.h> int main() { int erg = 0; int zahl1, zahl2; printf("Geben Sie eine Zahl ein: "); scanf("%i", &zahl1); printf("Geben sie ein zweite Zahl ein: "); scanf("%i", &zahl2); for(int i = 0; i <= zahl2; i++) { printf("Das Ergebnis betraegt %i\n", erg+=zahl1); } system("PAUSE"); return 0; }
Und so lautet er richtig...(hat mir ein kollege gemacht) aber warum haben wir in der for schleife immernoch int i stehen? dachte das hätten wir ersetzt durch die zufälligen zahlen vom benutzer?
-
Wieso du da int i stehen hast weiß ich auch nicht. Vor allem würde dir der ein oder andere Compiler eine Variablendefinition außerhalb der ersten Zeilen eines Anweisungblocks("{ Anweisungsblock; }") anmeckern.
#include <stdio.h> #include <stdlib.h> int main() { int erg = 0; int zahl1, zahl2; printf("Geben Sie eine Zahl ein: "); scanf("%i", &zahl1); printf("Geben sie ein zweite Zahl ein: "); scanf("%i", &zahl2); for(zahl2; zahl2 > 0; zahl2--) { // da zahl2 nicht in benutzung, kannst du zahl2 als laufvariable nutzen printf("Das Ergebnis betraegt %i\n", erg+=zahl1); } system("PAUSE"); return 0; }
-
dann hab ich wohl nen schlechten compiler
aber wie man an die aufgabe mit der quersumme rangeht weiß ich net oO
-
Windassel schrieb:
for("zahl1 = eingabe"; zahl1 <= zahl2; zahl1++) {
printf("Das Ergebnis betraegt %i\n", erg+=zahl1);das
"zahl1 = eingabe"
ist ein string. wie kommst du auf das schmale brett, bezeichner in einen string zu verpacken?
wenn, dann schreibzahl1 = eingabe
-
hat sich für mich logisch angeholt
-
Windassel schrieb:
dann hab ich wohl nen schlechten compiler
aber wie man an die aufgabe mit der quersumme rangeht weiß ich net oO
Du hast doch schon ein Programm, um das Produkt der Ziffern zu ermitteln - mit ein paar kleinen Änderungen kannst du die Summe der Ziffern berechnen.
-
Windassel schrieb:
dann hab ich wohl nen schlechten compiler
Ich tippe ja eher darauf das du nen C++-Compi verwendest, denn der hat kein Problem damit.
Und Dev++ kenne ich zwar nicht aber das ++ ist ein Indiz auf C++.
-
ich hab den Dev-C++ 4.9.9.2 compiler
-
Windassel schrieb:
ich hab den Dev-C++ 4.9.9.2 compiler
1. Was glaubst du wohl, was das für ein Compiler ist? Einer für C oder für C++?
2. Guck mal auf den Kalender. Dev-C++ 4.9.9.2 ist von 2005! Es gibt viele gute, aktuelle Gratiscompiler.
-
dev c++ wird weiterentwickelt http://de.wikipedia.org/wiki/Dev-C%2B%2B
downloadlinks http://orwellengine.blogspot.com/2011/09/dev-c-5004-released.html
der müsste auch c übersetzen können.
-
hab mir den geholt, weil er empfohlen wurde...
hab mir jetzt auch davon die neuere version runtergeladen