2 Fragen

Tutorials.at
Verfügbare Informationen zu "2 Fragen"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: niki1 - Dirty Oerty - d.d.d. - exbs - DrPhil_Guth - Chiller
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 9
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: 2 Fragen
  • Letzte Antwort: vor 17 Jahren, 16 Stunden, 40 Minuten
  • Alle Beiträge und Antworten zu "2 Fragen"

    Re: 2 Fragen

    niki1 - 24.03.2007, 23:49

    2 Fragen
    HaLlo,

    ich habe 2 Frage ,die erste -) Weiß jemand wie ich einen bunten text in C achen kann?

    und 2-) wie könnte ich ein program machen , das ein bestimmtes datum einließt und mir dann den dazugehörigen Tag dazu ausgibt?
    mfg



    Re: 2 Fragen

    Dirty Oerty - 25.03.2007, 00:19


    hallo!

    zu 1:

    hm, ich denk das is schwer.
    ich weiß nur, das man mit assembler die farbe vom text ändern kann, nich aber wie mit c... da muss du dann vllcht mit "Inline-assembler" arbeiten...


    zu 2:

    das dürfte nich allzu schwierig sein, wird aber ne schöne rumrechnerei, vorallem, wenn das programm mal länger als 4 jahre laufen sollte.
    das problem is ja vorallem, das nich jedes jahr gleich viele tage hat und das nich jedes jahr mit dem gleichen tag beginnt.
    du bräuchtest also nen "startpunkt", von dem aus die zeit in tagen gemessen wird, dann modulo 7, is der rest 0, dann gleicher tag wie "startpunkt", bei 1 is es nen tag weiter, etc...


    lg
    daniel



    Re: 2 Fragen

    d.d.d. - 25.03.2007, 00:30

    ...
    Wie meinst du das?

    Willst du einfach nur ein Datum einlesen?
    und den Tag dann ausgeben??



    Re: 2 Fragen

    Dirty Oerty - 25.03.2007, 00:36


    ich denk er meints genau so.

    also das prog bekommt datum 2. mai 2345
    und soll sagen, welcher wochentag das is.

    dann nimmt man z.b. den 1.1.2000 als startpunkt, sagen wir mal, das war nen mittwoch.

    dann abstand berechnen
    => sagen wir mal, ka, 235345 (man siehts schon: kann schnell zu überläufen führen...)

    das dann modulo 7, kommt dann halt z.b. 3 raus.

    das heißt dann der 2.mai2345 is nen samstag.



    Re: 2 Fragen

    exbs - 25.03.2007, 01:35


    Code: #include <stdio.h>


    int day,month,year,weekday,zsum,year_4,year_400;  //initialize of varibales
    //-----------------------------------------------------------------
    int main()
          {
             printf("\n                        -------------------------\n");
             printf("                        ----Enter  DD/MM/YYYY----\n");
             printf("                        -------------------------\n");
             printf("                                ");
             scanf("%d/%d/%d",&day,&month,&year);
             //printf("                 *******\n");
             printf("                        *************************\n");
             year_4=year%4;  //calculating leapyear
             year_400=year%400;  //calculating leapyear as well
             isValidDate(day,month,year,year_4,year_400);  //calls function
             printf("                        -------------------------\n");
             fflush(stdin);
             getchar();
             return 0;
          }
    // ----------------------------------------------------------------
    //checking the date if valid or not
    int isValidDate(int day,int month,int year,int year_4,int year_400)
          {
             if(year>1900 && year<2100 && month<13 && month>0)//checking month/year if correct
                {
                   switch(month)
                      {
                         case 1:  if(day<32 && day>0)  //checking if days in month are ok
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);  //calls function
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 2:  if(year_4 == 0 || year_400 == 0)
                                     {
                                        if(day<30 && day>0)
                                           {
                                              dayOfWeek(day,month,year,zsum,weekday);
                                              return 0;
                                           }
                                        else
                                           {
                                              printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                              return 1;
                                           }
                                     }
                                  else
                                     {
                                        if(day<29 && day>0)
                                           {
                                              dayOfWeek(day,month,year,zsum,weekday);
                                              return 0;
                                           }
                                        else
                                           {
                                              printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                              return 1;
                                           }
                                     }
                         case 3:  if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 4:  if(day<31 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 5:  if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 6:  if(day<31 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 7:  if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 8:  if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 9:  if(day<31 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 10: if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 11: if(day<31 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         case 12: if(day<32 && day>0)
                                     {
                                        dayOfWeek(day,month,year,zsum,weekday);
                                        return 0;
                                     }
                                  else
                                     {
                                        printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                        return 1;
                                     }
                         default: printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                                  return 1;
                      }
                }
             else
                {
                   printf("                        Invalid date: %d/%d/%d\n",day,month,year);
                   return 1;
                }
          }
    //-----------------------------------------------------------------
    //calculating the weekday with "Gauss"
    int dayOfWeek(int day,int month, int year,int zsum,int weekday)
       {
         if(month<3)
             {
                month += 12;
                year = year-1;
                zsum = (day+2*month + (3*month+3)/5 + year + year/4 - year/100 + year/400 + 1);
                weekday = zsum - (7*(zsum/7));  //same like modulo-function,but there are sometimes "error" in code
                printWeekDay(weekday);  //calss function
             }
         else
             {
                zsum = (day+2*month + (3*month+3)/5 + year + year/4 - year/100 + year/400 + 1);
                weekday = zsum - (7*(zsum/7));
                printWeekDay(weekday);
             }
       }
    //-----------------------------------------------------------------
    //prints weekdays
    int printWeekDay(int weekday)
       {
          if (weekday==1) {printf("                        --------<<Monday>>------- \n");}
          if (weekday==2) {printf("                        -------<<Tuesday>>------- \n");}
          if (weekday==3) {printf("                        ------<<Wednesday>>------ \n");}
          if (weekday==4) {printf("                        -------<<Thursday>>------ \n");}
          if (weekday==5) {printf("                        --------<<Friday>>------- \n");}
          if (weekday==6) {printf("                        -------<<Saturday>>------ \n");}
          if (weekday==0) {printf("                        --------<<Sunday>>------- \n");}
       }
    //-----------------------------------------------------------------
    //Ende dieses Übungsbeispieles und dieses Codes
    hatte den code hier noch rumliegen ...

    zu deiner farbe ... das dürfte in der xp cmd konsole schwer zu realisieren sein ... aba google mal nach ... improved console



    Re: 2 Fragen

    DrPhil_Guth - 25.03.2007, 10:51


    Also in Windows geht das glaub ich nicht so leicht...
    Aber für Linux gibts da die curses bzw. ncurses Bibliotheken, die sich mit dem Terminal ("Konsole") beschäftigen. Theoretisch ist sie auch auf windows portierbar. Also falls du dich wirklich reinhängst, könnts funktionieren.



    Re: 2 Fragen

    Chiller - 18.04.2007, 21:39


    Bei Konsolenanwendungen kann man die Farbe glaube ich nicht ändern.
    Man kann einfach die Farbe der ganzen Konsole ändern,
    indem man die Eingabeaufforderung öffnet und "color xx" eingibt...



    Re: 2 Fragen

    exbs - 18.04.2007, 22:00


    google doch mal nach "improved console" ...

    das mit color xx ist natürlich uch sehr gut ...

    in etwa so:

    Code: system("color xx");



    Re: 2 Fragen

    Chiller - 19.04.2007, 13:26


    ja schon aber da kann man eben nicht nur einzelne Textstellen ändern.
    Aber wenn man den ganzen Text in einer anderen Farbe will ist das sicherlich die einfachste Lösung.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Problem mit dem Kreisradiusberechnungsprogramm - gepostet von freaky_jan am Mittwoch 23.05.2007
    problem beim öffnen von halloweltprogramm mit linker - gepostet von Madless am Donnerstag 13.09.2007
    Hey - gepostet von silver am Sonntag 31.12.2006
    DROS - gepostet von vpascal am Donnerstag 03.05.2007
    Projekt: Soziogramm-Programm - gepostet von Dirty Oerty am Mittwoch 14.02.2007
    Speichern in Dateien - gepostet von Martix391 am Freitag 26.05.2006
    Bücher!?,aber welche? - gepostet von niki1 am Dienstag 27.02.2007
    Hilfe beim Tutorial - gepostet von toxicity am Mittwoch 23.08.2006
    Quersumme errechnen - gepostet von rattenfan am Sonntag 28.01.2007



    Ähnliche Beiträge wie "2 Fragen"

    Fragen? - cowgirl (Samstag 02.06.2007)
    how many filmed songs do we have of frida in the 60's ? - frenchy (Donnerstag 18.10.2012)
    fragen zum spiel - Der Arier (Dienstag 18.04.2006)
    Fragen zum Handelsystem - etfrh (Sonntag 24.04.2005)
    dumme fragen dumme antworten - eXtremo (Freitag 18.05.2007)
    Merkwürdige Umhänge - Bofur Bloodyhands I (Donnerstag 19.03.2009)
    Einige Fragen - Lordadmiral (Samstag 22.07.2006)
    Fragen an die Allyführer - oehler (Montag 04.12.2006)
    Alle möglichen Fragen - paigematthews (Montag 19.02.2007)
    Viele fragen - Soonhaeng (Sonntag 16.12.2007)