Char mit Schleifen/Bedingungen kombinieren



  • Hallo, ich lerne derzeit C (meine erste Programmiersprache) und nun möchte ich mal ein Programm schreiben, womit ich den Notendurchschnitt der angegebenen Werten ausrechnen lassen kann. Nun möchte ich auswählen können, ob ich am Anfang überhaupt Noten eingeben möchte (Ja/Nein), dann welches Fach, wv. Noten und welche Noten. Nun hab ich aber das Problem mit der if-Schleife, die ich mit char Daten kombinieren will. Hier als Beispiel: (Die Kommentare können ignoriert werden!)

    #include <stdio.h>
    int main()
    {
    	int groesse;
    	/*double deutschFeld[10], matheFeld[10], geoFeld[10];*/
    	char /*fachName[30],*/ abfrage[4];
    
    	printf("Noten eingeben?(Ja/Nein): ");
    	scanf("%s", abfrage);
    
    
    	if (abfrage = "Ja")
    	{
    
    
    		printf("Wie viele Noten sollen eingegeben werden?: ");
    		scanf("%d", &groesse);
    
    	}
    
    	printf("Ende");
    
    
    	return 0;
    

    Danke im Voraus.



  • @Nazaroth
    In C ist der = Operator eine Zuweisung.
    Der Vergleich auf Gleichheit ist ==

    Aber das hilft dir bei Arrays nicht weiter, denn dort funktioniert beides nicht.

    Und [www.if-schleife.de]



  • @Nazaroth

    meine erste Programmiersprache

    OT: Warum? Als erste Sprache würde ich C nicht empfehlen.


  • Gesperrt

    @Nazaroth sagte in Char mit Schleifen/Bedingungen kombinieren:

    if-Schleife

    Zu einer if-Schleife gehört ein goto, sonst ist es keine Schleife.

    loop: if (bedingung==true) goto loop;
    

    😆



  • Hi RBS2,

    @RBS2 Mein Gott RBS2, haben sie Dich denn auf dem Assemblerfriedhof ausgebuddelt?
    Goto ist doch schon seit Fortran so gut wie überflüssig. In modernen Sprachen wie C... wird es höchstens noch bei Ausnahmesituationen oder zur performanceerhöhung bei extrem zeitkritischen Aufgaben genommen, ansonsten wird bei Schleifen heute immer mit Zählschleifen (for) oder abweisenden und nicht abweidenden Schleifen (while, do while) gearbeitet. Alternativ auch mit Rekursion.

    Gruß Mümmel


  • Gesperrt

    @muemmel sagte in Char mit Schleifen/Bedingungen kombinieren:

    In modernen Sprachen wie C... wird es höchstens noch bei Ausnahmesituationen oder zur performanceerhöhung bei extrem zeitkritischen Aufgaben genommen

    Eine dieser Ausnahmesituationen ist z.B. die sagenhafte if-Schleife. Übrigens würde ich C nicht gerade als modern bezeichnen.



  • @manni66 sagte in Char mit Schleifen/Bedingungen kombinieren:

    OT: Warum? Als erste Sprache würde ich C nicht empfehlen.

    also ich schon. gleich von vornherein mit einer vernünftigen programmiersprache vernünftig programmieren lernen ist besser. die ganzen anfängerfehler mit C machst du auch, wenn du vorher 10 jahre lang mit python, visual basic oder sonstwas programmiert hast, aber fortgeschrittene kenntnisse in C sind heutzutage gold wert, während java z.b. etwas ist, das "jeder" kann.

    vor 30 jahren konnten die leute auch mit C anfangen und die welt ist trotzdem nicht untergegangen.

    @RBS2 sagte in Char mit Schleifen/Bedingungen kombinieren:Übrigens würde ich C nicht gerade als modern bezeichnen.

    C ist zeitlos gut! 😉



  • @Wade1234 sagte in Char mit Schleifen/Bedingungen kombinieren:

    aber fortgeschrittene kenntnisse in C sind heutzutage gold wert,

    Naja, das ist fraglich. Versuch doch mal, mit C einen Job zu finden. Es wird doch überall nur Java, Python, Javascript und vielleicht noch C# gesucht. Oder suche ich falsch?



  • Du suchst falsch... Zumindest vor paar Jahren gabs noch haufenweise C Jobs im Embedded Bereich.



  • die jobs im embedded bereich gibt es heute auch noch, weil wir uns in einem zeitalter befinden, das sich digitalisierung nennt, und C eine programmiersprache ist, für die sich einerseits sehr einfach sehr gute compiler entwickeln lassen, und die andererseits in bezug auf geschwindigkeit nur noch durch "C mit inline assembler bei cpu-spezifischem i/o" übertroffen wird.

    nachteil bei embedded-jobs ist eben, dass du es ohne tiefergehende kenntnisse in elektrotechnik schwer haben wirst bzw. das eigentlich ein spezieller bereich für leute mit studium in technischer informatik ist, weil klickibunti-anwendungen natürlich schneller und günstiger mit java oder c# entwickelt werden können.

    aber trotzdem ist eine in C erstellte winapi-anwendung in bezug auf geschwindigkeit immer überlegen und auch treiber musst du grundsätzlich mit C entwickeln, wobei treiber wieder zur technischen informatik gehören und technische informatik wieder etwas ist, das keiner machen will.



  • Dafür muss man nicht unbedingt technische Informatik studiert haben. Etliche meiner damaligen Kommilitonen haben im Embedded Bereich angefangen.



  • das kannst du heutzutage glaube ich auch noch, weil die leute froh sind, wenn sie überhaupt jemanden einstellen können, aber zum grundstudium Technische Informatik gehören auch elektrotechnik bzw. elektronik und physik und und im embedded bereich sind solche kenntnisse nicht verkehrt.



  • Aber ich kenne auch diverse Entwickler, die im Embedded-Bereich mit C arbeiten und denen ich dann Nachhilfe geben mußte (obwohl ich selber seit 25 Jahren nicht mehr in C entwickle).
    Also ich bin froh, daß auch im Embedded-Bereich immer mehr zu anderen Programmiersprachen gewechselt wird.


  • Gesperrt

    @Th69 sagte in Char mit Schleifen/Bedingungen kombinieren:

    Also ich bin froh, daß auch im Embedded-Bereich immer mehr zu anderen Programmiersprachen gewechselt wird.

    Die Controller werden auch immer leistungsfähiger und haben mehr RAM/Flash on board. Da kann man ein komplettes Linux reinladen und programmiert dann mit Skriptsprachen.

    Die kleinen Controller werden aber weiterhin aus Kostengründen eingesetzt. Und dafür nimmt man meisten C und Assembler.


Anmelden zum Antworten