C Lernen scheitert am Programm

zakuma

Enthusiast
Thread Starter
Mitglied seit
11.12.2012
Beiträge
760
Ort
NRW
Hallo,

ich würde gerne C Lernen, und anschließend C++.
Ich halte mich hier ran: C Tutorial
und habe mir ein Buch gekauft bei Amazon: https://www.amazon.de/C-Programmier...=UTF8&qid=1468876663&sr=8-1&keywords=C+Lernen

Leider geht das Buch gar nicht auf IDE oder Compiler ein oder wie man diese "Einrichtet", in dem C Programmieren.com wird Dev C++ genutzt dies habe ich mir auch soeben installiert und die ersten Zeilen geschrieben und alles gemacht wie beschrieben.

Beim Programm Compilen+Ausführen sieht es dann so aus:
Fehler Programm.JPG

wie man sieht kommt unten ein Fehler mit makefile.win

Vielleicht hat wer eine Lösung zu diesem Problem, oder kann einen IDE und oder Compiler empfehlen am besten mit Anleitung wie man diese nutzt für C ^^

Die Programmiersprache ist mir verständlich nur leider hapert es einfach am Programm zum Programmieren
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Welche IDE ist das?
Wieso nicht Visual Studio Community (ehemals Express)?
In dem kannst du unter New, sowas wie Konsolen-Programm auswählen. Dieses ist bereits ausführbar und printet eine Hello World message :)
 
Habe noch was recherchiert, das Programm scheint restlos veraltet zu sein und ein Problem damit zu haben wenn man es nicht unter den Standard Datei Pfad installiert.

Habe noch ein Video Tutorial auf Youtube gefunden dort wurde C::B empfohlen. Damit klappt alles auch. Heute abend setze ich mich mal ran nach dem ich gute zwei Stunden gebraucht habe es zum laufen zu bringen
 
Tu dir dann so ein veraltetes Teil doch garnicht erst an...
Richtige IDEs wie das Visual Studio bieten etliche hilfreiche Features. Debugmodus, Autovervollständiger, Exportmöglichkeiten usw.
Wenn du lieber was freies suchst, kannst du dir auch Eclipse für C(++) ansehen.
 
Du musst erst kompilieren und dann ausführen ;) Hotkey ist "F9"

Für C reicht das DevC++ vollkommen...
 
Zuletzt bearbeitet:
Sorry, aber das Buch, was du dir da geholt ist, ist von 1999. Meinst du nicht, dass sich in den letzen 17 Jahren im Bereich der Programmierung was getan hat? Und wenn man sich die benutzte "IDE" ansieht, dann ist auch das verlinkte C-Tutorial schon locker 10 Jahre alt.
 
hm, wenn man C wirklich lernen will, ohne grafische Toolkits zu verwenden, hat sich doch seit 1999 nicht soo viel verändert (gut, das Thema: "eine Datei wird gedruckt" dürfte eher geringere Relevanz haben, aber sonst) ?! Das größer Problem dürfte tatsächlich das Tutorial sein, wo eine ewig alte Version dieser IDE verlinkt wird.
 
Doch, da ändert sich teilweise schon ordentlich was. Auch wenn es "nur" C ist und die Grundzüge natürlich immer gleich bleiben, so bildet sich eine Sprache allein schon durch Erfahrungen mit dieser weiter (Stichwort Design Patterns). Diese Rezension hier fasst das eigentlich ganz gut zusammen: Klick

Und auch wenn man es nur mal "aus Langeweile" lernen möchte, so bin ich trotzdem kein Freund davon auf Dekaden alte Bücher zu vertrauen, so gut sie auch sein mögen. Da aber natürlich niemand Bock hat alle zwei Jahre wieder sein Buch zu überarbeiten oder gar n Neues zu schreibe gilt wie so oft: Lesen, lesen, lesen, und zwar aus vielen Quellen. Und wenn man auf gegensätzliche Aussagen stößt: Noch mehr lesen. Die Bücher "Learn XYZ The Hard Way" sind da, meiner bescheidenen Meinung nach, das Beste, das man sich antun kann.
 
Zuletzt bearbeitet:
das ist halt einfach schlecht das Buch ;) – "Design Patterns" für imperative Programmierung gab es wohl auch schon vor 15a ?! (muss allerdings auch sagen, dass ich in C nicht weit über das Niveau dieses Buches rauskomme, einmal CUDA für die Uni und das war's (wenn das Buch allerdings noch nicht mal Speicher alloziert, weiß ich auch nicht...))
 
Zuletzt bearbeitet:
Hallo,

sollte hier in keiner Diskussion ausarten über was schlecht und gut ist zum C Lernen.
In den Basics sollte sich C in den letzten Jahren ja kaum verändert haben, und bisher ist gerade das erklären in diesem Buch für die ersten Schritte (bis auf das IDE) sehr ausführlich und zusätzlich sind Lernaufgaben drin. Ich finde das Buch bisher Klasse, nebenher schaue ich mir auch noch ein Youtube Video Blog an über das C Programmieren, und muss sagen der Typ macht es leider nicht so schön begreiflich wie dieses Buch. Aber als Visueller Ansatz zusätzlich hilft es dennoch ungemein.

Eclipse werde ich mir auch noch mal ansehen, das hat mir auch ein Freund empfohlen der damit Programmiert.

Danke für die Hilfe hier kann gerne zu :) ist gelöst das Problem
 
Ich musste C auf Papier mit Bleistift lernen an der Uni damals :fresse:

Hast du denn einen Programmier-Hintergrund? Ansonsten würde ich ja erstmal mit den Basics anfangen, eine IDE ist da am Anfang echt das kleinste Problem.
 
Nein habe gar keine Kenntnisse, daher habe ich mir das Buch gekauft.
Habe nun ein neue Problem
Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int wahl;
   float betrag;
   printf("\n \t E U R O R E C H N  E R\n");
   printf("\n1 DM -->EURO\n2 EURO --> DM");
   printf("\nIhre Wahl :");
   scanf("%i,&wahl");
   if (wahl ==1){
    printf("Bitte DM-Betrag eingeben: ");
    scanf("%f,&betrag");
    printf("\n%.2f DM sind %.2fEURO",betrag,betrag*0.51129);
   }
   if (wahl ==2){
    printf("Bitte EURO-Betrag eingeben :");
    scanf("%f",&betrag);
    printf("\n%.2f EURO snind %.2f DM",betrag,betrag*1.95583);
   }
    return 0;
}

das ist mein Code, beim debuggen kommt der Fehler:
problem c.jpg

Nun weiß ich leider gar nicht weiter, liegt der Fehler an meinem System oder am Code?
 
Am System keine Ahnung. Spontan läuft der mit der Änderung unten ohne Probleme mit Dev C++.

Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int wahl;
   float betrag;
   printf("\n \t E U R O R E C H N  E R\n");
   printf("\n1 DM -->EURO\n2 EURO --> DM");
   printf("\nIhre Wahl :");
   [COLOR="#FF0000"]scanf("%d",&wahl);[/COLOR]
   if (wahl ==1){
    printf("Bitte DM-Betrag eingeben: ");
    [COLOR="#FF0000"]scanf("%f",&betrag);[/COLOR]
    printf("\n%.2f DM sind %.2fEURO",betrag,betrag*0.51129);
   }
   if (wahl ==2){
    printf("Bitte EURO-Betrag eingeben :");
    scanf("%f",&betrag);
    printf("\n%.2f EURO snind %.2f DM",betrag,betrag*1.95583);
   }
    return 0;
}

Ein paar Anführungszeichen sind verrutscht. Sons gehts hier ohne Probleme.

Gruß
 
Zuletzt bearbeitet:
So lernt man glaube ich nicht besonders gut.
Am besten ist es am Anfang eigentlich, wenn man einen Texteditor her nimmt, auf Windows wahrscheinlich Notepad++, und dort einfach lernt, wie man Quellcode schreibt und abspeichert. Und dann kompiliert man ihn. Wenn Du irgendwann ein großes Projekt machst, würde ich an Deiner Stelle erst eine Entwicklungsumgebung suchen. Mich würde das nämlich als Anfänger ziemlich stören, dass ich 99% der Symbole in dem Teil gar nicht kenne...
 
Am System keine Ahnung. Spontan läuft der mit der Änderung unten ohne Probleme mit Dev C++.

Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int wahl;
   float betrag;
   printf("\n \t E U R O R E C H N  E R\n");
   printf("\n1 DM -->EURO\n2 EURO --> DM");
   printf("\nIhre Wahl :");
   [COLOR="#FF0000"]scanf("%d",&wahl);[/COLOR]
   if (wahl ==1){
    printf("Bitte DM-Betrag eingeben: ");
    [COLOR="#FF0000"]scanf("%f",&betrag);[/COLOR]
    printf("\n%.2f DM sind %.2fEURO",betrag,betrag*0.51129);
   }
   if (wahl ==2){
    printf("Bitte EURO-Betrag eingeben :");
    scanf("%f",&betrag);
    printf("\n%.2f EURO snind %.2f DM",betrag,betrag*1.95583);
   }
    return 0;
}

Ein paar Anführungszeichen sind verrutscht. Sons gehts hier ohne Probleme.

Gruß

:wall::wall::wall:
Das war's, nächste mal werde ich mir einfach mehr Zeit nehmen und den Code genauer ansehen anstatt direkt nachzufragen, war nur verwirrt da ich das so noch nie hatte ^^ mit dem Absturz.

@oooverclocker Ist doch nichts anderes wie als würde ich mit dem Notepad++ schreiben, nur das in dem Programm quasi alles in einem komfortabler geboten wird.
Und zum anderen spart es zeit in einer IDE zu schreiben durch ein druck auf TAB ergänzt er zB Klammern und die besagten Anführungszeichen automatisch, nur muss man dann als Anfänger aufpassen das man dann auch alles an der richtigen Position hat ^^
 
Für Anfänger dürfte sich andere/modernere Sprachen wesentlich besser eignen. C ist ein uraltes Teil das natürlich Teil der Software-Welt ist, aber zum Lernen kann ich mir echt was schöneres vorstellen. Ist ja nicht so, dass hier jemand C machen will, der schon jahrelange Programmiererfahrung hat.

Ich persönlich finde die Sprache nervig und will damit nix mehr zu tun haben. :fresse:
 
C ist mit Java die am meisten genutzt Programmiersprache. Ich finde der Einstieg mit C ist zwar schwer aber es lohnt sich. Man lernt viele Dinge die woanders nicht benötigt werden. Für das Verständnis, was man beim programmieren macht ist C bzw. C++ optimal.

Man sollte das allerdings im Kontext sehen. Jenachdem was man machen möchte gibt es bessere Methoden aber grundsätzlich...
 
Zuletzt bearbeitet:
Für das Verständnis, was man beim programmieren macht ist C bzw. C++ optimal.

Wenn du Pointer und manuelle Speicherverwaltung als essentiell für das Verständnis, wie man Probleme in Algorithmen packt erachtest, wohl durchaus... Assembler wäre aber dann noch besser, da lernst du die spezifische CPU kennen.

Ich kenne die Hintergründe nicht, aber für alle, die nichts mit Hardware basteln wollen, nichts technisches Studieren und das einfach machen wollen, weil sie sich befähigen möchten, irgendwann eine App zu schreiben, ihre Website zu basteln oder Dinge zu automatisieren, ist C heute def. der falsche Weg (dafür ist es nämlich ziemlich irrelevant, ob sämtliche Systemkernel, irgendwelche numerischen Routinen oder Grafikbibliotheken in C geschrieben sind und man daher u.U. besser sein Geld damit verdienen kann...).
 
Zuletzt bearbeitet:
Man kanns auch direkt übertreiben aber ja. Wenn es um Algorithmen geht die zB effizient sein sollen..dann nehm ich C. Fertig.
Will ich ne App programmieren dann eben nicht. Ich schneide meine Tomaten auch nicht mit nem Schwert.

Aber ich schrieb ja, der Kontext ist wichtig. Kann man überlesen haben. Ist kein Problem.
 
Zuletzt bearbeitet:
Ich sag' ja nicht, dass man deshalb unbedingt eine andere Sprache nutzen muss, nur finde ich es da etwas seltsam von C als dem Optimum zu sprechen (d.h. es ist in den meisten Fällen das Beste – genau das Gegenteil ist eigentlich der Fall?!). Den effizienten Algorithmus kann man nämlich auch bspw. in Python implementieren und wo dann im Privatbereich (worum es hier geht?) die Performance so wichtig ist... naja. Welche Algorithmen entwickelst du denn bspw. privat?
 
Für das Verständnis, was man beim programmieren macht ist C bzw. C++ optimal.

Ja, können wir, ich wollte nur meine Meinung ausdrücken, die etwas anders ist als deine ;). Praktisch ist das ganze halt ein Werkzeug, und wie du deine Tomaten nicht mit dem Schwert schneidest, frage ich mich, was denn im vorliegenden Fall für C spricht, wo offensichtlich hobbymäßig programmiert werden will (wenn man es unbedingt lernen will, spricht eben auch nichts dagegen, optimal ist imho aber etwas anderes). Effizienz ist mit aller Wahrscheinlichkeit nach nicht wichtig, zumindest kann ich mir da nichts vorstellen; daher die Frage, was du denn so effizient programmieren musst (es interessiert micht einfach und die vielen ? waren nicht böse gemeint :)).
 
Meinte damit so Dinge wie Pointerarithmetik, Speicherverwaltung etc. Das geht doch am Besten mit C ;)
Sinnvolles (effizientes, schnelles) programmieren im Hobby ist damit nicht möglich. Stimmt.

Ich habe auch außer im Hochschulkontext noch nie irgendwas besonders effizient programmieren müssen. Gott sei Dank. Das kann anstregend werden.
 
C ist eine nicht besonders zugängliche Sprache. Sie ist einfach sehr alt, und das merkt man auch. Darum hatte ich auch gefragt wieso C. Es gibt ja Gründe warum man das lernen will, aber wenn es einfach nur ums Programmieren geht würde ich in jedem Fall was anderes machen.
 
Hallo,

bitte keine Grundsatzdiskussion ob C sinnvoll ist ^^ ich möchte es gerne lernen und irgendwo muss man anfangen auch wenn es schwerer ist.
Ich lerne es für mich, da ich demnächst meinen Staatlich geprüften Techniker E-Technik/Automatisierung machen werde und dort Microcontroller programmieren werde mit C/++. Ich werde es genauso auch in der Schule lernen wollte aber gerne vorher mir einen kleinen Vorsprung verschaffen ;)

Und ich werde mich einfach reinhängen auch wenn wahrscheinlich Python etwas einfacher wäre.
 
Na dann ist doch alles gut. Du hattest keinen Kontext genannt und für jemanden der einfach nur mal programmieren will ist C halt nicht die beste Wahl.

Wenn du das als Vorbereitung auf deine Ausbildung machst ist es ja was anderes. Viel Vergnügen [emoji106]
 
C ist mit Java die am meisten genutzt Programmiersprache. Ich finde der Einstieg mit C ist zwar schwer aber es lohnt sich. Man lernt viele Dinge die woanders nicht benötigt werden. Für das Verständnis, was man beim programmieren macht ist C bzw. C++ optimal.
Mit genau diesem Argument hat man uns an der HS (Medieninformatik) auch erst ein Semester in C als erste Sprache eingeführt.
Zwei jahre Später mit Java, C# und Lua kann ich aber noch immer nicht beurteilen ob das was gebracht hat...
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh