Jackery IFA Fireplace

C Am Geburtstag eine Kommandozeile mit dem Alter anzeigen

Revan335

Commander
Registriert
Aug. 2009
Beiträge
2.279
Hi Leute,

wir haben in der Schule mit Programmierung angefangen.

Und da dachte ich, man könnte mit C auch ein Script schreiben, dass am 21. Geburtstag einer Person "Herzlichen Glückwunsch zum 21. Geburtstag" anzeigt.

Das mit dem Text hab ich schon mit dem Hello World Script hinbekommen.

Jetzt fehlt mir nur noch die Möglichkeit die Zahl anzuzeigen.

Sie soll natürlich jedes Jahr aktuell sein.

Benutzt wird wxDev-C++.

Code:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("Herzlichen Glückwunsch zum Geburtstag \n");

  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}

Ist so was möglich ?

Vielen Dank schon mal.

Gruß

Revan335
 
Zuletzt bearbeitet:
Wir haben außer dem Hello World Script leider noch nicht viel gemacht.

Außer wie ein Programm compiliert wird.


Nach Möglichkeit soll er: "Herzlichen Glückwunsch zum %Alter der Person%. Geburtstag." anzeigen.
 
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define BIRTHDAY_YEAR  1990
#define BIRTHDAY_MONTH 9
#define BIRTHDAY_DAY   16

int main(int argc, char *argv[])
{
	struct tm tm;
	time_t now;

	now= time(NULL);
	tm= *localtime(&now);
	if ((tm.tm_mon+1==BIRTHDAY_MONTH) && (tm.tm_mday==BIRTHDAY_DAY))
	{
		printf("Herzlichen Glückwunsch zum %d. Geburtstag \n", tm.tm_year+1900-BIRTHDAY_YEAR);
		
		printf("Press ENTER to continue...\n");
		getchar();
	}
	return 0;
}

relevante man pages:

http://linux.die.net/man/3/localtime

http://linux.die.net/man/7/time


HTH

BigNum
 
Vielen Dank BigNum.

Danke auch an Turas.


Wie kann ich das dem Benutzer dann am Geburtstag zeigen ?

Hab grad gesehen, dass die Aufgabenplanung keine Jährliche Wiederholung bietet, sondern nur maximal Monatlich.
 
Zuletzt bearbeitet:
Dann müsste ich das aber in den Autostart am Tage vorher legen.

Und er könnte es da entdecken.


Es soll ja ne Überraschung sein.
 
Einen Eintrag in der Registry unter "HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Run" einen neuen Eintrag (so wie die bestehenden) mit dem Pfad des Programms machen.
 
Aus irgendeinem mir nicht ersichtlichen Grund, schließt sich die cmd jetzt nachdem öffnen direkt wieder, obwohl ich nichts am Script geändert hab.
 
Es bleibt nur offen am Geburtstag offen, da getchar() nur aufgerufen wird wenn die Bedingung erfüllt ist.
 
Ah.

Geht es das es zwar geöffnet wird, aber der User es nicht sieht.

Bspw. minimiert öffnen.

Da es ja direkt nach ner Sekunde verschwindet, dürfte das den User hoffentlich nicht verwirren.

Es gibt bestimmt einen Befehl mit dem auch Umlaute (ü) in der Konsole angezeigt werden können.
 
Zuletzt bearbeitet:
Danke, \201 (ü) hat funktioniert.

Kannst du mir auch mit dem minimierten Starten helfen ?
 
Zurück
Oben