Zum Inhalt springen

AndiE

Mitglieder
  • Gesamte Inhalte

    156
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von AndiE

  1. AndiE

    Zeiger

    Danke Klotzkopp, Fehler erkannt. Ich mußte erstmal in der Hilfe nach "Literalen" suchen, mir war der Begriff nicht geläufig. Ich hatte ihn mit Ressource gleichgesetzt.
  2. AndiE

    Zeiger

    ich bin mit der Aussage zu dieser Zeile nicht einverstanden: 03 char *str3 [2] = {" Element_0" , "Element_1" }; Es wird auschließlich der Platz für zwei Zeiger auf char deklariert. Aber nicht für die beiden Strings. deshalb ist auch diese Zeile ungültig. Richtig wäre 03 char* str3 [2][]={" Element_0" , "Element_1" }; Beispiel zur Erklärung: Erst werde zwei Objekte string1 und string 2 deklariert. Danach zwei Zeiger pstr1 und pstr2. Danach wird string1 gefüllt. Die Zeiger werden den Adressen der Anfänge der beiden Zeichenstrings zugewiesen. Anschließend wird string1 in string2 kopiert. char string1[20]; char string2[20]; char* pstr1; char* pstr2; string1= "Testeingabe"; pstr1=&string1[0]; pstr2=&string2[0]; strcpy(pstr2,pstr1); So sollte es funktionieren. LG Andre'
  3. Ne Idee wären mehrrer Partitionen auf der Festplatte, somit mehrere virtuelle laufwerke. Für jeden Lehgangstyp eins. Muß man natürlich die Programme mehrmals auf einen Rechner aufspielen.
  4. Hallo, das beschriebene Verfahren läuft unter "E-Learning" und es gibt dazu verschiedene Ansätze. Infos dazu u.a. im Wikipedia. LG Andre'
  5. Hallo, das sehe ich bischen anders. Du willst dastellen, was ist, wenn deine Firma besteht. Die IHK hat Broschüren zur Existenzgründung. Lies dich da rein.
  6. Hallo, kannst du mal beschreiben, was da normalerweise passieren soll. Wenn du alle 80ms den gesamten Bildschirm für ungültig erklärst, und somit neu zeichnest, flackern die Bitmaps. LG Andre'
  7. AndiE

    algorithm foo

    Ich sehe da einige Fehler, weil min<(-unendlich) nie wahr wird, ebenso max>(+unendlich). Bei long-Variablen gilt: max=2^63-1 als unendlich=8*1024^6-1. Jede Zahl, die ich so darstelle, ist kleiner. Die offensichtliche Funktion wird so nie eintreten, fürchte ich. LG andre'
  8. Könntest du dich etwas präziser ausdrücken. Wenn ich dich richtig verstanden habe, würde ich dies vorschlagen: Wenn du die Kapselung konsequent anwendest, ist das Array nur über die beiden Lese- und Schreibfunktionen manipulierbar. Das Feld, in dem du die Daten abspeicherst, kannst du im Konstruktor allokieren(Speicherplatz festlegen), und im Destruktor wieder freigeben. VC++ erlaubt auch Konstruktoren mit Argumenten. Das ist ein Beispiel in VC++ /* header */ class daten { public: daten(); daten(int groesse) ~daten(); private: int* zeiger; public: void ErstelleDaten(int groesse); void ZerstoereDaten(); int LeseDaten(int pos); void SchreibeDaten(int pos, int zahl); }; daten : daten() { } daten : daten(int groese) { zeiger=malloc(groesse); /Nur Anhalt malloc muß nicht stimmen! } daten:~daten() { free(zeiger); } Das wendest du dann so an: main() { int eingabe; daten feld; / Datenfeld lebt solange wie main() int anzahl; do { anzahl=feldgroesse(); feld.ErstelleDaten(anzahl); Dateneingeben(feld); Zeichen(feld); feld.ZerstoereDaten(); printf("Nochmal?(0/1); eingabe=getch(); } while(eingabe!=0); } Das sollte es in etwa sein. LG Andre'
  9. Hallo, ich habe zu Zeiten der elektronischen Dinosaurier angefangen, mich mit programmieren zu beschäftigen(80-er). Deshalb war es üblich, Aufgaben erstmal mit Struktogrammen und PAP zu lösen, weil nur bedingt Rechnerzeit verfügbar war. Dann wurde daraus Pseudocode, und dann Programmcode. Ich gehe den Weg immer noch, und kann ihn mit gutem Gewissen weiterempfehlen. Wenn du das "graphische Programmieren" gelernt hast, meine ich, kannst du das Ergebnis nachher in (fast) alle Sprachen übersetzen. Die Darstellungsweise findest du mittlerweise in fast jedem Tabellenbuch und im Internet sowieso. LG Andre'
  10. Hast du schon mal daran gedacht ein Struktogramm, PAP zu erstellen? Gruß Andre'
  11. AndiE

    C++ cli

    Hallo, puh, das war ja was. Erstmal danke für die zahlreichen Tipps. Ich habe MSDN gelesen. Ich interpretiere den Quelltext mal: 1. Lege ein Feld von String lines aus der Textdatei "benutzer.txt" an 2. Für alle Strings line im Feld lines 3. IF line leer ist, Then ... In der if-Anweisung sehe ich das Problem. Soweit ich das gesehen habe, hat diese Klasses String keinen Operator "==" oder "!=" definiert. Die Anweisung ruft deshalb den Konstruktor auf, und vergleicht ihn. Das funtioniert meist irgendwie nicht. zum Vergleich der Operator aus VC++6: BOOL operator ==( const CString& s1, const CString& s2 ); Das Problem hat man auch, wenn man Klassen mit "==" vergleichen will, ohne diesen Operator definiert zu haben. Deshalb würde ich beim Beispiel die String.length-Funktion anwenden, und auf 0 testen. LG Andre'
  12. AndiE

    C++ cli

    Hallo, Was soll das bedeuten? Mit dem Text hinter dem Gleichheitszeichen komme ich noch klar, aber das davor...
  13. Ich würde anfangen, in Algorithmen zu denken und dazu Aufgaben mit (Sprachunabhängigen) Struktogrammen zu lösen. Beispiel: Lösen einer quadratischen Gleichung. Beispiel: Beschreibung des Tagesblaufes Außerdem würde ich mir einen Satz Schlüsselwörter für Pseudocode zulegen für Zählschleife, Entscheidung, Kopf- und Fußabweisende Schleife, Auswahl.
  14. Hallo, ich habe gelsen, daß einige einen wirlichen Horror vor UML haben. Außerderdem habe ich bisher nichts gefunden, wo die Benutzerschnittstelle grafisch dargestellt wurde. Vielleicht hilft das hier einigen weiter. für diese Nachricht das Beispielprogramm "scribble" analysiert, das bei MFC als Einführungsprogramm gilt. Es dürfte demnach frei verwertbar sein(?). Ich will zeigen, wie mit UML eine Funktionsbeschreibung einer Applikation, die unter Windows läuft, möglich ist. Der Nutzerfall 1 bei Scribble ist "Zeichnen". Die Aktivität "Zeichnen" besteht aus START-> "Maus drücken", "Maus bewegen", "Maus loslassen"->ENDE. Dabei werden zwei Punkte erzeugt, die einen Linienzug bilden und in einem Linienfeld abgespeichert werden. Nun wird wie dieses Aktivitätendiagramm verfeinert. START-> "Maus drücken"->"neue Linie anlegen"-> "ersten Punkt abspeichern"-> "Maus bewegen->"Linie zeichnen"-> "Maus loslassen"->"Punkt abspeichern"->"Linienzug zum Linienfeld hinzufügen" ->Ansicht für ungültig erklären"-> ENDE Nutzerfall 2 ist das Wechseln der Stiftbreite und Nutzerfall 3 das Einstellen der Stiftbreite. Nutzerfall 3 "START->Aufruf des MenuPunktes: 'Stift-Stiftbreite enstellen"->"Aufruf eines Dialoges mit der Eingabe von m_dickerStift und m_dünnerStift"->Dialog mit "OK" abgeschlossen?-[Ja]->Einträge speichern-ENDE [Nein]-ENDE Nutzerfall 2 " START->Aufruf des Menupunktes: Stift-Dicker Stift"->"Ist der aktuelle Stift der dicke Stift?"-[NEIN]-"Setze den dicken Stift als aktuellen Stift->ENDE [JA]-ENDE MFC arbeitet mit einer Dukumenten und einer Ansichtsklasse. Im Beispiel kommt noch eine Klasse für die Linien hinzu. Für die Abspeicherung des Linienfeldes wird die vorgefertigte CObject Array verwendet. Die Klasse für die Linie kennt die beiden Punkte, die die Linie verbinden und die Art des Stiftes. Die Dokumentenklasse kennt das Linienfeld und die Dicke der beiden Stifte. Die Ansichtsklasse enthält die Nachrichtenroutinen für die Mausbewegungen(Maustaste gedrückt, Maus bewegt, Maustaste losgelassen). Die Dokumentenklasse enthält die Nachrichten für die Einstellung der Strichstärke. Das war's schon (fürs erste). Vielleicht hilft das zum Verständnis vom UML und MFC und der View-Document-Architecture. LG Andre
  15. AndiE

    C++ cli

    Hallo, die Notation sagt mir nichts. Ich würde die Datei Buchstabenweise einlesen und jedes Zeilenende, also entweder 0x0D (Zeilenschaltung) oder eine gesamte Zeichenanzahl von 80 Zeichen als neue Zeile interpretieren. Im Prinzip sollte das so gehen (VC++ 6) CArchive ar; / Archivierungsklasse char c; int zz; / Zeichenzähler int z[100] / Feld für Zeilenlängen int i; / Laufvariable i=0; while (c=Read(ar,1)!=EOF) / Ein Zeichen auslesen- Datei ist nicht zu Ende { if ( c!= 0x0D) { zz=zz+1; / Zeichen an aktuellen String hinzufügen } else { / aktiuellen String der Stringtabele zufügen / neuen String anlegen z=zz; / Zeichenzähler auslesen i=i+1; / Neue Zeile zz=0; / Zeichenzähler rücksetzen } } Die Stringverarbeitung habe ich nur agebeutet. LG Andre'
  16. AndiE

    UML und MFC

    Hallo, ich habe schon privat länger mit MFC, VDA und VC++ 6 gearbeitet. Angefangen habe ich 1993 mit VC++1.5 unter Windows 3.1. Inzwischen habe ich mich in UML reingelesen, und so eine Möglichkeit gefunden, Programme grafisch darzustellen. Meine Frage ist nun: Kann man die, von den MFC gestützte, View-Document-Architecture und dieProgramm-Anwendersteuerung mit Menus, Dialogen usw. in einem Diagramm darstellen? Wenn ja, in welchem? Wenn nein, wie kann man diese Interaktionsmöglichkeiten und deren Auswirkungen dokumentieren? LG Andre' Eignen sich Kollaborationsdiagramme dafür?
  17. Hallo, ich schlage vor, du gehst den UML-Weg. A. Benutzer-Fall-Diagramm Nutzer kann: 1. Konto eröffnen-<<include>>- Prsonalien eingeben -<<include>>-Geld bewegen 2. Geld bewegen 3. Konto schließen 4. Kontostand abfragen 5. Buchungen abfragen B. Aktivitätendiagramm C. Klassendiagramm usw. LG Andre'
  18. In der Aufgabenstellung fehlt was. Die Differenz beträgt bei beiden Zahlen genau 500 €. Das ist zu zufällig. Vielleicht steht noch eine SV-Nachzahlung an? LG Andre'
  19. Hallo, ich bi neu hier, das ist mein erster Beitrag. Erstmal interessiert mich, wie die beiden Button vom Anwender betätigt werden sollen: Gilt zwingend erst nr. 1 dann Nr.2? Zweitens habe ich die Frage, ob die Funktion teilbar ist. Ich habe in einem Fall mit OnTimer gearbeitet, und konnte damit immer wieder die Nachrichtenliste abfragen lassen. LG AndiE

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