Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben
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.

Geschrieben

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

Geschrieben

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.

Geschrieben

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...