Zum Inhalt springen

qat

Mitglieder
  • Gesamte Inhalte

    50
  • Benutzer seit

  • Letzter Besuch

Beiträge von qat

  1. Aber wenn man schon einen Parameter draus macht, dann doch bitte als Referenz, nicht als Zeiger. Bei einem Zeiger besteht immer die Gefahr, dass man die Funktion mit NULL aufruft. Bei einer Referenz geht das nicht (so einfach).

    Das ist natürlich schon richtig, Referenzen kann man auch nicht mehr einfach unabsichtlich verbiegen. Aber ich arbeite 'privat' lieber mit Zeigern, da ich dann sofort beim rübergucken des Aufrufs im Quellcode erkenne was in der Funktion verändert wird. Kann man sich sicherlich drüber streiten, aber ist ebend so. ;-) Und NULL kann man auch abfangen.

    @madjakk

    Deine Überarbeitung ist im Prinzip genau wie meine, nur dass ich noch Falscheingaben abgefangen hab. Sehe also den Sinn da gerade nicht warum du das nochmal posten musstest. -.-

    Aber würde mich doch auch mal interessieren in welchem Semester bekommt ihr diese Aufgabe? (bzw: Studienfach?) ^^

  2. Ich hab es mal überarbeitet und hoffe du kannst mit dem (bei mir) funktionierenden Quellcode was anfangen..., und versuche dir noch ein paar Tipps zu geben (les dir bitte die Kommentare durch ;)).

    Warum du eine Endlosschleife haben möchtest ist mir nicht ganz klar, aber bitte. Hab noch eine kleine Fehlerabfrage eingebaut, falls du ausversehen keine Zahlen eintippst.

    Besser: Von Anfang an einen String einlesen (evt. auf "exit" prüfen), und dann auf eine Zahl casten.

    Achja und deine if/else if - Konstruktion ist ein wenig unübersichtlich, ich benutze da lieber switch, aber das ist Ansichtssache. :) Zumal dieses Programm ja möglicherweise noch ausgebaut wird, oder?

    Der Rest wurde schon von meinen Vorrednern angesprochen.

    #include <string>
    #include <iostream>
    using namespace std;

    //zt wird hier zum Zeiger auf einen String,
    //sodass man zahlentext dann verändern kann.
    void zahlen(short z, string* zt)
    {
    //hier hattest du erst einer[8], dann einer[12]..
    //8 war zu wenig, 12 zuviel.
    //du möchtest 9 Einträge also benutz auch die 9,
    //indexiert wird dann aber von 0 bis 8!
    string einer[9] = { "ein", "zwei", "drei",
    "vier", "fuenf",
    "sechs", "sieben",
    "acht", "neun"};
    //hier genau das gleiche, 2 Einträge
    //.. indexiert von 0 bis 1.
    string zehner[2] = {"zwanzig", "dreissig"};

    if(z == 20)
    {
    *zt = zehner[0];
    }
    else if(z == 30)
    {
    *zt = zehner[1];
    }
    //hier hattest du einen Zahlendreher (12 statt 21)
    else if(z>=21 && z<=39)
    {
    *zt = einer[(z%10)-1] + "und" + zehner[z/10-2];
    }
    else if(z<20 || z>39)
    {
    *zt = "unbekannt";
    }

    return;
    }


    int _tmain(void)
    {
    //in der while-bedingung stand ein kleines L anstatt einer 1,
    //sollte das Absicht sein???
    while(1)
    {
    //Variablen immer initialisieren wenn möglich.
    string zahlentext = "";
    short zahl=0;
    cout << "Zahl = ? ";
    cin >> zahl;
    if(cin.fail()){
    //Bei Fehleingabe clearen und puffer leeren
    cout << "Fehleingabe\n";
    cin.clear();
    string st="";
    cin >> st;
    continue;
    }

    //Hier wird eine Referenz auf die Variable zahlentext übergeben!
    zahlen(zahl, &zahlentext);
    cout << zahl << " = " << zahlentext<<"\n";
    }
    return (0);
    } [/PHP]

  3. Ob es für eine Prüfung auf diesem (doch recht niedrigen) Niveau wirklich nötig ist, etwas zu lernen, ist natürlich eine andere Frage. Ich hatte damals (Prüfung 2003), die mit Gesamtergebnis "gut" abgeschlossen wurde, null komma nichts gelernt, trotzdem guter 2er. Wenn man eine 1 haben möchte, dann ist es vielleicht sinnvoll und auch nötig, was zu lernen, aber sonst ... ? Wohl eher nicht. :)

    Gruß fach_i_81

    Vielleicht wäre es gut wenn du diese intollerante Haltung "verlernen" würdest.

    Nicht alle Menschen sind gleich.

  4. Nach ein kleiner Verbesserungsvorschlag, ich würde statt dem define


    #define Tab 4
    [/PHP]

    eine Variable

    [PHP]
    const int Tab = 4;

    benutzen.

    Das macht es vorallem bei größeren Programmen einfacher Fehler durch falsche Werte zu vermeiden.

    :confused:

    Ich kann zwar nachvollziehen dass man lieber den Compiler als den Präprozessor nimmt, aber inwiefern kann man dadurch Fehler durch falsche Werte vermeiden? Bitte um Aufklärung :)

  5. Hallo,

    wenn mich der fortgeschrittene Freitag Nachmittag nicht schon zu stark mitgenommen hat, hört sich das Ganze doch nach einer klassischen Anwendung für eine Struktur an:

    
    struct HierKoennteIhreWerbungStehen
    
        {
    
          char val1[maxval];
    
          int val2;
    
          int val3;
    
          char val4[maxval];
    
        };
    
    

    Daraus kannst du dann bequem ein Array machen, oder wenn dir die Geschwindigkeit wirklich so wichtig ist, eine schöne hash_multimap.

  6. sobald was falsches eingegeben wird liefert atoi den wert 0 zurück

    Und wenn nichts als Parameter übergeben wird greifst du trotzdem einfach auf argv[1] zu.

    In diesem Fall hast du Glück, da per Definition argv[argc] NULL sein _sollte_.

    Aber solltest du das immer so machen und ohne Parameter z.B. auf argv[2] zugreifen wollen, und ohne jegliche Prüfung dies sofort in eine weiterverarbeitende Funktion schickst, kannst du nichtmehr vorraussagen was passiert.

  7. Ich bin zwar nur FIAE und kann fachlich nicht sehr viel beitragen, aber im Soll-Konzept bitte den Satz mit der Firewall grammatikalisch überprüfen ;).

    Und was du mit dem Satz über die nicht auszuführende Teilarbeit sagen willst, ist klar. Aber der Nebensatz ist, hmm, unglücklich Ausgedrückt.

    Mein Vorschlag wäre:

    "In der Kontrollphase werden die Testsysteme von Herrn *** vorbereitet, und mit Ausnahme der Microsoft Windows Updates mit einem [...]".

  8. Aber für die Berufsschule kann man das doch auch schon brauchen, oder?

    In den Klausuren bei uns war das nicht erlaubt.

    Ansonsten hindert dich ja niemand irgendwelche Fachbücher auf dem Tisch auszubreiten ^^

    Aber wenn man weiß dass es auf die Prüfung zugeht, und man im Unterricht schon mal gucken kann ob ein gewissen Thema und in welchem Detailgrad es im Buch steht, ist es sicher nicht verkehrt. :-)

  9. Ich hab nur die Frage wiederholt. Und auf das offensichtliche Nichtpassen der "Antwort" auf diese Frage hingewiesen.

    Das hast du, aber überprüfe bitte die Art und Weise, wie du als Hilfesuchender hier gegenüber Personen agierst, die dir Hilfe anbieten möchten.

    Denn den Beitrag #7 würde ich Umgangssprachlich als "schnippisch" bezeichnen.

    Selbst wenn dir sein Post nicht helfen sollte, ist das noch kein Grund ihm Verwirrtheit vorzuwerfen.

  10. Ach, da stehen Erfahrungswerte von Forumsusern drin? Welcher Teil von "Erfahrungswerte gefragt" verwirrt dich?

    Da stehen zumindest Fakten drin, und mit "Es gab mal einen Fall" oder "Meistens" kannst du weder mit einem Vorgesetzten diskutieren, noch vor einem Gericht argumentieren.

    Und warum greifst du User an, die versuchen dir zu helfen? Bei zukünftigen Fragen überlegen diese es sich sicher zweimal ob sie dir antworten, selbst wenn sie eine perfekte Antwort liefern könnten.

  11. Ist auch richtig so, sprich einfach nochmal vernünftig mit deinem Chef, erkläre ihm die Lage und dass du dich Informiert hast.

    Ich glaube schon dass er einlenken wird, denn das ist für beide Seiten besser als über Anwälte zu kommunizieren.

    Und wenn er kein Ars*hl*ch ist, wird das Betriebsklima auch nicht allzu stark darunter leiden.

  12. @Der Kleine

    Ja ich habe das zitierte gelesen im Rahmen meiner Möglichkeiten verstanden. Vor allem der letzte Satz hat mich dazu bewegt hier zu antworten.

    Ich glaube auch kaum dass wir hier jetzt darüber streiten müssen, was man alles in dein Posting hineininterpretieren kann.

    Denn was du jetzt geschrieben hast, hört sich doch schon etwas anders an. ;)

    Somit sollten alle Missverständnisse aus der Welt geräumt sein.

    PS: Meiner Meinung nach gehört zur Entwicklung einer Anwendung auch die Umsetzung. Demnach kann ich keine Anwendungen entwickeln, ohne das Geplante auch umsetzen zu können ~.~

    @PieDie

    Das war ein überspitzt geschriebener Satz, bitte nicht falsch verstehen. :)

    Ich habe das Ganze ja selber hinter mir.

    Aber wir sollten es unterlassen vom Thema abzuweichen.

    Die Kritik ist sicher nicht unberechtigt, aber ohne erhebliche Aufwandserhöhung ist bei diesem System eine objektiv "bessere" Bewertung wohl kaum möglich.

    Und das wäre einfach nicht rentabel...

  13. [...]

    Aufgabe des Fachinformatikers ist es sicher nicht, zu programmieren. Das lernen 12jährige schon von sich aus un bedarf keiner dreijährigen Ausbildung.

    Aufgabe des Fachinformatikers ist es, Projektorientiert zu arbeiten, zu denken und zu handeln.

    Da gehört die Abstraktion des Problemes, die Analyse eines möglichen Vorganges, die Evaluierung verschiedener sinnvoller Lösungsansätze und die kaufmännische Bewertung dieser Ansätze dazu. Wie das ganze nachher umgesetzt wird, ist völlig irrelevant.

    [...]

    Da fragt man sich doch glatt, warum Fachinformatiker in der Berufsschule das Programmieren beigebracht bekommen?! Ist ja vollkommen unsinnig.

    Das werd ich meinem Chef mal erzählen, dass für mich als Anwendungsentwickler programmieren eigentlich überhaupt nicht in mein Aufgabengebiet fällt...

    Sicherlich ist das Programmieren nicht alles, sondern nur eine Facette des Berufs. Aber auch die gute Umsetzung jenes noch so tollen Konzepts bedarf es meist fundierter Programmierkenntnisse.

    Es ist schließlich ein Unterscheid ob man Codezeilen "hinklatscht" oder sicheren, performanten, übersichtlichen und wiederverwertbaren Code schreibt (selbstverständlich in angemessener Zeit).

    Jedenfalls ist es keinesweg "völlig irrelevant" für einen FIAE.

    Und sofern du nicht auf Studien verweisen kannst, die zeigen dass die meisten FIAE nach der Ausbildung nicht programmieren, werd ich mich mit deiner Einstellung auch nicht anfreunden können. ;)

    Eine kurze Frage noch: Wenn ich mich bei deinem Betrieb als Anwendungsentwickler nach der Ausbildung initiativ bewerbe, ohne jegliche Programmierkenntnisse anzugeben, habe ich dann eine Chance mehr als ein müdes lächeln zu bewirken? :-)

  14. zu dem prüfungsvorbereitungskurs will ich auch noch was sagen

    wenn die firma die kosten übernimmt geht dorthin weil sonst macht ihr eh keinen strich

    ansonsten könnt ihr auch zu hause lernen ist warscheinlich sogar effektiver

    Ich vermute mal dass so ein Kurs als Arbeitszeit gewertet wird, zuhause lernen ist mit Sicherheit in der Freizeit..., also ich würde das machen wenn es bezahlt wird.

    Das schließt ja nicht aus sich selber noch vorzubereiten. ;)

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