Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tage kalkulieren

Empfohlene Antworten

Veröffentlicht

Hallo,

so, bin einigermassen durch. Danke für Eure Hilfe.

Jetzt mache ich mich mal auf die Suche nach einer Entwicklungsumgebung

in C/C++, um das mal richtig zu programmieren.

Kennt da jemand was gutes günstiges/Freeware? (OK, ich habe noch nicht in Google gesucht, weil ich vermute, das ich da erschlagen werde und noch nicht erkenne, was gut ist.)

Werde mal schauen, was es für Bücher gibt, die meine Grundlagen verbessert, danke für die Links.

Gruß

InforMATTics

Wie schon gesagt:

Für Quick and Dirty nehme ich pers. immer

Bloodshed Software - Dev-C++

Hi Cadpax,

stimmt, das habe ich auch gerade runtergeladen.

Eclipse habe ich auch entdeckt, gibt es für C/C++ und auch Java.

Dann kann ich das, was ich im Internet finde auch ausprobieren.

Scheint ja sonst nichts zu geben, ausser dann Komerz.Programme.

Dank Euch.

Gruß

InforMATTics

Hi Klotzkopp,

doch, die habe ich gesehen und probiere sie auch aus, mal sehen, wo ich hängen bleibe.

Habe auch noch MyFriend 2.0 (www.gsk-gmbh.de)gefunden, ist für Studenten kostenlos.

Gruß

InforMATTics

Hi,

erstmal Danke für Eure Hilfe.

Hat prima funktioniert.

Kurzgefasst war mein Problem die Zählschleife. Damit kann man die Monate addieren.

Da ich mit der C-Syntax noch nicht so firm bin, gibt es da noch das ein oder andere Problem. Aber gut, da muss ich im Moment viel nachschlagen und lernen.

Ein kleines Problem habe ich allerdings noch.

Wenn ich die Daten eingebe, dann scheint meine Enter-Taste zu prellen.

Das heißt, ich gebe den Tag ein und drücke Return und bin bei Jahr.

Gibt es da eine alternative?

Auch bin ich erschrocken, wie groß die exe ist: 842 KB groß, obwohl der

ganze Text in der cpp-Datei gerade mal 2 KB ist.

Welche Möglichkeit habe ich, das kleiner zu bekommen?

Was auch heftig ist, habe das kompilierte Programm einen Kumpel gemailt, damit der mal schauen kann. Da hat der Virenscanner angeschlagen.

:confused::confused::confused:

Hat einer eine Idee, warum?

Gruß

InforMATTics

Hi,

kenne dein Programm nicht, aber grundsätzlich:

Wenn ich die Daten dann eingebe, scheint meine Enter-Taste zu prellen. Aber auch auf anderen PCs.

Das heißt, ich gebe den Tag ein und drücke Return und bin bei Jahr.

Verstehe ich ehrlich gesagt nicht. Am besten mal den Quelltext posten.

Auch bin ich erschrocken, wie groß die exe ist: 842 KB groß, obwohl der

ganze Text in der cpp-Datei gerade mal 2 KB ist.

Unter Linux: Strip. Das entfernt alle unnötigen Symbole, und macht das Binary kleiner. Ob und wie das unter Windows funktioniert, weiss ich nicht.

Es ist halt so, dass die Headerdateien, die du einbindest, komplett in den Quellcode gepackt werden. Dadurch ist der Quellecode, den du tatsächlich kompilierst, um einigse größer. Bei so kleinen Programmen, ist der Overhead natürlich verhältnismäßig riesig. Bei größeren Programmen spielt das dann keine Rolle mehr.

Viel kleiner wirst du das nicht bekommen, es sei denn, du benutzt keine Funktionen der Standardlibraries.

Hi

gegen das "Prellen" wie du es nennst gibt es in der windows.h eine Funktion die man als Workaround für das Problem benutzen kann. Die Funktion heißt Sleep. Suche in deinem Code die Stelle wo auf das Enter gewartet wird und führe Sleep mit 100-500 ms als Parameter aus. Das führt dazu das für 100-500 Sekunden dein Enter ignoriert wird und das Problem sollte gelöst sein.

Alternativ kannst du auch dieses Codeschnipsel benutzen

#include <time.h>


void sleep(unsigned int mseconds)

{

    clock_t goal = mseconds + clock();

    while (goal > clock());

}

Gegen das zweite Problem kannst du nichts machen.. Außer du frickelst wirklich die Funktionen aus der Library heraus die du brauchst inklusive allen Variablen/Konstanten/Funktionen/usw.. die damit verbunden sind und stopft es in eine eigene Headerdatei. Dumme Idee aber sicher nen Versuch wert.

Grüße

Hi,

ich glaube, ich habe etwas raus.

Wenn ich z.B. als Tag 05 eingebe, dann wird nicht nach Monat gefragt, das wird übergangen und kommt zum Jahr.

Gebe 5 ein, also ohne die Null, geht es.

Was ist das?

Wie mache ich das korrekt?

Mehr siehe: "Tage kalkulieren".

Gruß

InforMATTics

Hi,

Verstehe ich ehrlich gesagt nicht. Am besten mal den Quelltext posten.

nochmal: Ohne Quelltext wird die Hilfe schwierig. Und "prellen" sagt mir überhaupt nichts. Und nebenbei, bitte auch für einen Thread entscheiden und/oder einen Mod bitten, den zusammzuführen.

Zwei.

Sorry, kann damit noch nicht viel anfangen, bin Neuling.

Am besten mal den Quelltext posten.

Dem kann ich mich nur anschließen.

@InforMATTics:

Du machst irgendetwas falsch. Wir können jetzt mit deinen nach und nach gelieferten spärlichen Informationen weiter raten, was es sein könnte. Viel einfacher aber ist es, wenn du deinen Quelltext zeigst.

Hi,

sorry für das doppelposting, das sollte nicht sein, konnte es leider hier nicht rauslöschen, wie ich es in anderen Foren gewohnt bin. Macht aber nix.

Das Problem, den Code zu posten finde ich eigentlich gut, aber es ist eine Lösung von einer Aufgabe und hier wird man ja immer angehalten keine Lösung zu posten.

Aber einen Teil, der eigentlich üblich ist geht.

#include <stdio.h>

#include <stdlib.h>

// Daten (Tag, Monat, Jahr) eingeben

printf("Bitte folgende Daten eingeben: \n\n");

printf("Tag: ");

scanf("%i", &tag);

printf("Monat: ");

scanf("%i", &monat);

printf("Jahr: ");

scanf("%i", &jahr);

Anscheind mache ich da einen Fehler, für die Zeichenanzahl, das habe ich nicht ganz verstanden.

Also, wenn ich hier den Tag 8 eingebe funktioniert es, gebe ich 08 ein, funktioniert es nicht mehr.

Danke im voraus für Eure Hilfe.

Gruß

InforMATTics

Hi,

ganz klar. Mit %i möchtest du einen Integer einlesen, was 8 durchaus ist. Aber 08 ist keine Integer mehr, sondern wird als Oktalzahl interpretiert. Und 08 ist eins zuviel (0-7). 010 z.B. wäre dann 8 als Dezimalzahl.

Nimm %d statt %i.

Hi carstenj,

danke für die Info. Super, funktioniert!

Habe schon ein paar Online-Tutorial durch, aber nirgends finde ich wirklich Info, was ich hier beachten sollte, wenn ich Daten eingebe.

Kennst Du da was?

Gruß

InfoMATTics

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.