Kalender C++ hilfe

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kalender C++ hilfe

    Hi Leute,

    habe eine Frage bezüglicher einer Aufgabe die wir in der Berufsschule bekommen haben. Wir sollen einen Kalender programmieren, der bei Eingabe eines Monat im 2005 ein Kalenderblatt ausgibt.

    Apr Mo Di Mi Do Fr Sa So
    ----------------------------------
    ! 1 2 3 4 5 6 7
    ! 8 9 10 11 12 13 14
    !15 16 17 18 19 20 21
    !22 23 24 25 26 27 28
    !29 30


    ich hoffe man kann erkennen wie es in der art aussehen soll. es soll so wenig wie möglich schritte haben und so einfach wie möglich.

    ich würde mich über das reinposten der fertigen quellcodes freuen, weil ich null peilung davon habe...

    Wie würdet ihr es realisieren.

    Es gab hier schon mal son thema aber das hat mir nicht so geholfen...


    Danke schon mal für die zerbrochenen Köpfe

    gruß
  • Quellcode

    1. class Kalender
    2. {
    3. private String[] sTag = { "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So" };
    4. public void printCalender (String sMonat, int Anzahl, int Anfang)
    5. {
    6. int [][] nDatum = new int[7][5];
    7. int nTabellenAnfang = 1 - Anfang; // fänd ich wesentlich eleganter als ein switch case aber dann bau
    8. // ich das halt weiter unten noch ein :S
    9. switch(Anfang)
    10. {
    11. case 0:
    12. nTabellenAnfang = 1;
    13. break;
    14. case 1:
    15. nTabellenAnfang = 0;
    16. break;
    17. case 2:
    18. nTabellenAnfang = -1;
    19. break;
    20. case 3:
    21. nTabellenAnfang = -2;
    22. break;
    23. case 4:
    24. nTabellenAnfang = -3;
    25. break;
    26. case 5:
    27. nTabellenAnfang = -4;
    28. break;
    29. case 6:
    30. nTabellenAnfang = -5;
    31. break;
    32. }
    33. int nAnzahl = Anzahl;
    34. for(int nSpalte=0; nSpalte <= 4 ; nSpalte++)
    35. {
    36. for (int nZeile=0 ; nZeile <=6; nZeile++,nTabellenAnfang++)
    37. {
    38. nDatum[nZeile][nSpalte]=nTabellenAnfang;
    39. }
    40. }
    41. System.out.println(sMonat +"\n");
    42. for(int nZeile=0;nZeile<=6;nZeile++)
    43. {
    44. System.out.print(sTag[nZeile] + "\t");
    45. int intValue = nDatum[nZeile][0];
    46. for(int nSpalte=0;nSpalte<=4;nSpalte++)
    47. {
    48. /*
    49. Die Auskommentierte Variante halte ich zwar für besser aber was solls, dannn halt wie Angabe
    50. if(nDatum[nZeile][nSpalte]>0 && nDatum[nZeile][nSpalte]<10)
    51. System.out.print( " " + nDatum[nZeile][nSpalte] + "\t");
    52. else if(nDatum[nZeile][nSpalte]>9 && nDatum[nZeile][nSpalte]<32)
    53. System.out.print(nDatum[nZeile][nSpalte] + "\t");
    54. else
    55. System.out.print("\t");
    56. */
    57. if(intValue>0 && intValue<10)
    58. System.out.print( " " + intValue + "\t");
    59. else if(intValue>9 && intValue<32)
    60. System.out.print(intValue + "\t");
    61. else
    62. System.out.print("\t");
    63. intValue = intValue + 7;
    64. }
    65. System.out.print("\n");
    66. }
    67. }
    68. }
    Alles anzeigen




    das hab ich grad mal so gefunden .. ist zwar n altes java prog daran musst aber nicht viel ändern ... system.out.print halt ersetzen durch cout...