Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » WHILE ohne Wirkung?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.11.2007, 12:09 Uhr
~rMean
Gast


Hi

Muss für die Uni einen Quelltext korrigieren. Das Programm rechnet Wochentage anhand eines Datums aus. Soweit funktioniert alles, jedoch eine Kleinigkeit krieg ich einfach nicht hin: Das Programm fragt am Ende, ob der Benutzer noch ein Datum überprüfen will. Jedoch führt jede Eingabe zur Wiederholung der Schleife.

Hoffe jemand kann mir nen Tipp geben mfG


C++:
#include <stdio.h>



int main(void)
{
  int Jahr, Jh, J, Wt, T, M;
  int fortfahren;
  int operand;

  char Antwort;
  fortfahren=1;

  printf("\n");
  printf("Ewiger Kalender zur Berechnung des Wochentages\n");
  printf("==============================================\n");

  while (fortfahren = 1)
    {
      printf("\n");
      printf("Bitte geben Sie den Tag ein : ");
      scanf("%d", &T);
      printf("Bitte geben Sie den Monat ein : ");
      scanf("%d", &M);
      printf("Bitte geben Sie das Jahr ein (4-stellig): ");
      scanf("%d", &Jahr);
      printf("Der %i. %i. %i ist ein ", T, M, Jahr);

      if (M<=2)
    {
      M=M+12;
      Jahr=Jahr-1;
    }

      Jh=Jahr/100;
      J=Jahr%100;
    
      operand = T + ((M+1)*26)/10 + J + J/4 + Jh/4 - 2*Jh;
    
      Wt = (operand) % 7;
      
      switch(Wt)
       {
    case 1:
      printf("Sonntag \n\n"); break;
    case 2:
      printf("Montag \n\n"); break;
    case 3:
      printf("Dienstag \n\n"); break;
    case 4:
      printf("Mittwoch \n\n"); break;
    case 5:
      printf("Donnerstag \n\n"); break;
    case 6:
      printf("Freitag \n\n"); break;
    case 0:
      printf("Samstag \n\n"); break;
    default:
      printf("Wenn alles normal laeuft, darf dieser Fall nicht auftreten !");
    }
          
      printf("Wollen Sie fortfahren und einen weiteren Wochentag berechnen ? ");
      scanf("%s", &Antwort);
      if ((Antwort='j') || (Antwort='J')) fortfahren = 1;
      else fortfahren = 0;
    }
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.11.2007, 12:23 Uhr
0xdeadbeef
Gott
(Operator)


Statt

C++:
while (fortfahren = 1)


muss das

C++:
while (fortfahren == 1)


sein; = ist der Zuweisungsoperator.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 21.11.2007 um 12:23 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.11.2007, 12:35 Uhr
~rMean
Gast


hm... funktioniert leider auch nicht, der wiederholt das trotzdem..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.11.2007, 12:39 Uhr
~rMean
Gast


Hier ein Screenshot

http://s6.directupload.net/images/071121/suq8ouhk.png
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.11.2007, 13:25 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


in der if Anweisung musst du das natürlich auch richtig schreiben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.11.2007, 13:34 Uhr
~rMean
Gast


omg..vielen Dank ^^ kann geclosed werden
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.11.2007, 13:50 Uhr
0xdeadbeef
Gott
(Operator)



C++:
scanf("%s", &Antwort);


erzeugt nebenbei noch undefiniertes Verhalten. Mach

C++:
scanf("%c", &Antwort);


daraus, sonst handelst du dir segfaults ein.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: