Kann mir jemand helfen? Ich würde gerne ein C-Programm schreiben, das das Alter eines Autos berechnet. Das Programm soll aber wissen, dass es vom Datum der Zulassung bis heute rechnet. Also sollte ich in der Ausgabe nicht das heutige Datum eingeben müssen. Ich möchte nur das Alter berechnen also nicht Monat und Tag ! Hat jemand einen Tipp oder hat jemand ein c Programm, das das macht?
Schau dir die Funktionen der C-Standardbibliothek an, die in time.h deklariert sind. https://en.cppreference.com/w/c/chrono
Wado U. schrieb: > Also sollte ich in der Ausgabe nicht das > heutige Datum eingeben müssen. Warum einfach, wenn es auch kompliziert geht :-)
Das geht auf einem Mikrocontroller ohne weitere Infrastruktur gar nicht. Der kennt schlicht die aktuelle Zeit (und damit das aktuelle Datum) nicht. wendelsberg
Geht es überhaupt um Mikrocontroller? Auf einem PC lässt sich die Programmiersprache besser lernen.
1 | #include <stdio.h> |
2 | #include <stdlib.h> |
3 | #include <string.h> |
4 | |
5 | int
|
6 | main (void) |
7 | {
|
8 | int jahr_zulassung = 2008; |
9 | |
10 | int alter = atoi (&__DATE__[7]) - jahr_zulassung; |
11 | |
12 | printf ("alda: %d\n", alter); |
13 | |
14 | return 0; |
15 | }
|
Lothar M. schrieb: > Einem PC? Dann wuerde die Frage doch im Forum https://www.mikrocontroller.net/forum/pc-programmierung stehen und nicht unter https://www.mikrocontroller.net/forum/mikrocontroller-elektronik stehen, oder? wendelsberg
alda schrieb: > int alter = atoi (&__DATE__[7]) - jahr_zulassung; Man muss aber das Programm an jedem 01.01. neu kompilieren ;-)
alda schrieb: > int alter = atoi (&__DATE__[7]) - jahr_zulassung; Glaubst du, dass sich _DATE_ automagisch aendert? leo
alda schrieb: > alda schrieb: >> int alter = atoi (&__DATE__[7]) - jahr_zulassung; > > Man muss aber das Programm an jedem 01.01. neu kompilieren ;-) Oder es in cling ausführen.
Wado U. schrieb: > kann man das auch ohne die Zeitfunktion machen ? Also du meinst einen Zeitraum (Alter des Autos) ermitteln ohne die Zeit zu verwenden? Wie stellst du dir das vor?
Wado U. schrieb: > kann man das auch ohne die Zeitfunktion machen ? Irgendwie musst du rechnen. Wenn nicht mit dieser Funktion, dann halt mit einem eigenen Algorithmus. Aber von ganz alleine tut sich da nichts.
Moin, Vielleicht kann man die Karosserie des Autos mit einer Flex aufschneiden und dann die Jahresringe zaehlen. Bei Baeumen funktioniert das so. Dann braucht man nichtmal C. SCNR WK
Wado U. schrieb: > Ich möchte nur das Alter berechnen also nicht Monat und Tag ! Rein logisch betrachtet: Ein Alter ist die Differenz zwischen zwei Datumsangaben. Mein Alter ist zum Beispiel die Differenz zwischen heute, dem 22.12.2020 und meinem Geburtstag. Wenn nun eine Funktion ein Alter ausrechnen soll, dann braucht sie dafür zwingend zwei Datumsangaben. Da kommt man nicht drumrum. Das aktuelle Datum von heute wird man gewiss vom Betriebssystem bekommen können, wenn man es lieb und freundlich danach fragt. :-) Also, für welche Umgebung von Hardware und Betriebssystem soll die Lösung erstellt werden?
Udo S. schrieb: > Du schneidest Bäume mit der Flex? Ist wohl so einer. Ist das Kunst, oder kann das weg?
Stefan, +1! :-) Um für den To noch was sinnvolles zu sagen: Wado, werde dir bewusst in welcher Einheit du das Datum benutzen willst um die Differenz auszurechnen Und kläre in welcher Einheit du das Alter ausgeben willst. Und in welcher Genauigkeit.
Stefan ⛄ F. schrieb: > Ist das Kunst, oder kann das weg? Sieht aus wie eine Rakete, bei der der Treibstoff im falschen Ende hochgegangen ist :)
Udo S. schrieb: > Du schneidest Bäume mit der Flex? Ich hab das mal bei einer Glyzine gemacht - da war allerdings noch ein Stahlseil eingewachsen ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.