1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Lvalue required?

  • Smartie
  • 2. Dezember 2008 um 22:31
  • Unerledigt
  • Smartie
    3
    Smartie
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 2. Dezember 2008 um 22:31
    • #1

    Hi Leute.
    Ich programmiere in c unter pelles und bekam beim compilen folgende Fehlermeldung:Lvalue required

    muss sich auf die sechste Zeile meiner Schleife beziehen:

    if (Anzahl==30);
    for(i=1;i<Anzahl;i++)
    for(j=Tag;j<Tag+i;j++)
    {
    printf ("%d",i);
    j%6=0;
    printf("\n");
    }
    Vielleicht kann mir jemand weiter helfen. Sage jetzt schon mal danke.

    Euer Smartie

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 2. Dezember 2008 um 22:46
    • #2

    Du kannst dem Ausdruck "j%6" nichts zuweisen. Ich verstehe auch nicht wirklich, was du vorhast.

  • Smartie
    3
    Smartie
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 4. Dezember 2008 um 14:39
    • #3

    Also erstmal vielen Dank für die rasche Antwort.
    Das hatte folgenden Hintergrund. Ich soll ein Programm erstellen, dass nach eingabe zweier Variablen (Anzahl der Tage im Monat, Wochentag mit dem der Monat gebinnt...- 0- Sonntag, 1- Montag, usw) mir einen Kalender erstellt.
    Dabei soll der sourcecode den ich gepostet habe dem Zeilenumbruch dienen, der immer am Samstag erfolgen soll....

  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 4. Dezember 2008 um 15:30
    • #4

    Das was du brauchst nennt man "if".


    Code
    if (Anzahl==30);
    for(i=1;i<Anzahl;i++)
    for(j=Tag;j<Tag+i;j++){
          printf ("%d",i);
          if(j%6 == 0){
               printf("\n");
          }
    }

    Ich versteh' zwar auch immer noch nicht genau, was das jetzt tun soll, aber jetzt wird es kompilieren.

    There's no better place than 127.0.0.1!

  • Smartie
    3
    Smartie
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 6. Dezember 2008 um 11:56
    • #5

    ahhh ok, ich dachte es geht auch ohne.
    Und wo du es schon angesprochen hast...- ich weiß auch nicht so recht was es machen soll. Ich wollte einfach mal kompilieren, um eine Ausgabe am Rechner zu haben, und auf Grund dessen weiter basteln zu können.
    Ich muss auch dazu sagen, dass ich eigentlich Maschinenbauer bin, und programmieren in c zwar schon Spaß macht, es aber nicht meine Domäne ist. Daher tu ich mich zur Zeit noch etwas schwer bezüglich der Testate, die wir gestellt bekommen, und habe ehrlich gesagt auch schon einen Graus vor dem nänchsten das auf uns wartet.
    Auf jeden Fall sage ich schon mal danke für eure Hilfe. Hoffe ich komme noch auf den Trichter.... :thumb:

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 6. Dezember 2008 um 12:09
    • #6
    Zitat von java-girl
    Code
    if (Anzahl==30);
    for(i=1;i<Anzahl;i++)
    for(j=Tag;j<Tag+i;j++){
          printf ("%d",i);
          if(j%6 == 0){
               printf("\n");
          }
    }

    Ich versteh' zwar auch immer noch nicht genau, was das jetzt tun soll, aber jetzt wird es kompilieren.


    Kompilieren wirds vielleicht, aber "if (...);" ist schon eine aufregend sinnlose Konstruktion :) Und ein bissi mehr Formatierung (auch Spaces) tut der Lesbarkeit auch nicht so schlecht. Gerade wenn du einem Anfänger helfen willst.

    *plantsch*

  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 6. Dezember 2008 um 12:43
    • #7
    Zitat von Plantschkuh!

    Kompilieren wirds vielleicht, aber "if (...);" ist schon eine aufregend sinnlose Konstruktion :) Und ein bissi mehr Formatierung (auch Spaces) tut der Lesbarkeit auch nicht so schlecht. Gerade wenn du einem Anfänger helfen willst.

    Wenn du meinst, dass ich es so schlecht gemacht habe, machs bitte besser.

    There's no better place than 127.0.0.1!

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 6. Dezember 2008 um 13:48
    • #8
    Zitat von java-girl

    Wenn du meinst, dass ich es so schlecht gemacht habe, machs bitte besser.


    OK. Damit kann ein Newbie vielleicht mehr anfangen:

    Code
    #include <stdio.h>
    
    
    void run(int Tag, int Anzahl)
    {
        int i, j;
    
    
        if (Anzahl == 30) /* kein Strichpunkt! der wuerde das if gleich beenden */
        {
            for (i = 1; i < Anzahl; i++) /* Spaces lassen die Operatoren atmen */
            {   /* wenn der Koerper einer Schleife ueber mehrere Zeilen geht,
                   ist es sehr empfehlenswert, ihn in geschwungene Klammern zu
                   setzen */
                for (j = Tag; j < Tag + i; j++)
                {
                    printf("%3d", i); /* %3d sorgt fuer anstaendige Abstaende */
                    if (j % 6 == 0)
                        printf("\n");
                }
            }
        }
    }
    
    
    /* ein lauffaehiges Programm, damit man gleich wirklich kompilieren und
     * damit spielen kann */
    int main(void)
    {
        /* ein paar Testfaelle */
        printf("run(1, 30):\n");
        run(1, 30);
        printf("\n");
    
    
        printf("run(23, 30):\n");
        run(23, 30);
        printf("\n");
    
    
        printf("run(23, 42):\n");
        run(23, 42);
        printf("\n");
    
    
        return 0;
    }
    Alles anzeigen


    Ist noch immer meilenweit davon entfernt, einen Kalender auszugeben, aber es ist in einer Form, in der man zumindest bissi was draus lernen kann.

    *plantsch*

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung