Startfehler



  • CStoll schrieb:

    Wasn das für ein Compiler?

    das hab ich die assel auch schon vergeblich gefragt. aba der redet nicht mit jedem. 😃



  • Die Fehlermeldung hat bestimmt ihren Sinn. Aber der Code wäre auch noch wichtig.
    @CStoll: Hast du zufällig ne Glaskugel? Meine is kapput.



  • ich weiß es nicht was das für ein compiler ist 😃 ? wie gesagt, hab nur dev++ gedownloadet, daist doch einer dabei 😃

    und na klar red ich mit jedem 🙂



  • Zum 3. mal: Bitte poste den Code. Meine Glaskugel ist kapput und ich kann im Moment nicht hellsehen.



  • #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
        int Primzahl(int zahl1) {
    	return (zahl1 * zahl1);
    }
    
    int main() {
    	int summe = addiere(3, 7);
    	printf("Summe von 3 und 7 ist %d\n", summe);
    	return 0;
    }
    
        system("PAUSE");
        return 0;
    }
    


  • Erstens hast du da zwei Definitionen von main() - und zweitens erlaubt C Funktionen nur global und nicht im Inneren einer anderen Funktion (die Funktion "Primzahl" ist lokal im (ersten) main() definiert).

    PS: Und drittens hat diese Funktion überhaupt nichts mit Primzahlen zu tun 😉



  • Windassel schrieb:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
       
        int Primzahl(int zahl1) { //Funktion vor main definieren
    	return (zahl1 * zahl1);
    }
    
    int main() { //Zum 2. mal :open_mouth: ?
    	int summe = addiere(3, 7); // wo ist addiere definiert?
    	printf("Summe von 3 und 7 ist %d\n", summe);
    	return 0;
    }
              
              
        system("PAUSE"); //Was bezweckst du mit
        return 0;        //damit außerhalb vob einer Funktion
    }
    

    korrekt (reduziert):

    int foo(int param)
    {
        //...
    }
    
    int main()
    {
        foo();
    
        return 0;
    }
    


  • Was zur...

    Mehr THEORIE!

    Was würdest du wohl sagen, wenn ich dir erkläre, der eine Typ heißt Paul und der andere Typ heißt auch Paul? Wahrscheinlich noch nichts.
    ABER jetzt gib Paul mal einen Kecks!

    =>Es gibt nur eine main()!
    Und wenn du dann einfach weitere Funktionen deklarieren möchtest, dann nimmst du:
    Rückgabetyp Funktion(Übergabeparameter) { Anweisungen }
    DAS schreibst du dann vor die main()!

    Deine Klammersetzung ist komplett falsch, so wie ich das gerade sehe.

    Die Funktion des Codes hab ich jetzt mal nicht weiter betrachtet. Mach erstmal das "Layout" besser und die grobe Syntax korrekt.



  • ouh man ey -.-, das kann ja noch heiter werden 😃

    doofe, schwere aufgaben ! 😃



  • Ich wollte jetzt nicht unbedingt nen neuen Thread öffnen, da ich meine folgende Frage etwas peinlich finde, da ich schon mit c angefangen habe...

    Ein Freund von mir hat gesagt, das man als erstes c und danach c++ lernen sollte. Ich will auch c++ programmieren lernen, also hab ich jetzt erst mit c angefangen.

    Dann hat mir ein anderer Kumpel mitgeteilt, dass man als erstes c++ lernen soll. Und im Internet finde ich auch nur Aussagen von Leuten, die sagen, dass man c++ lernen soll. Was meint Ihr? Soll ich bei C bleiben oder zu C++ wechseln? Hab ja erst vor ein paar Tagen mit c angefangen...


  • Mod

    Lern C++, wenn du C++ lernen willst. 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).



  • kurz und knapp, ich danke dir

    und welches betriebssystem würde sich dafür besser eignen, windows oder linux? hab beide^^deswegen



  • 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 begonnen

    C++ 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 😃


Anmelden zum Antworten