Ein Programm, welches Daten mehrerer Benutzer verwalten kann

Schnelle objektorientierte, kompilierende Programmiersprache.
3VAD_YNCAL
Beiträge: 51
Registriert: So Dez 04, 2011 3:14 am

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von 3VAD_YNCAL » So Feb 19, 2012 4:34 pm

Hallo Xin,

bin nun mit dem gesamten C-Tutorial durch. ;)

Gruß
Dave

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von Xin » So Feb 19, 2012 4:44 pm

3VAD_YNCAL hat geschrieben:bin nun mit dem gesamten C-Tutorial durch. ;)
Gut, dann würde mich erstmal Feedback interessieren. Gut, Schlecht? Was gilt es zu verbessern? Sei ruhig penibel.

Auf welchem Stand fühlst Du Dich nun? Hat es Dir was gebracht und was möchtest Du als nächstes tun/wissen?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

3VAD_YNCAL
Beiträge: 51
Registriert: So Dez 04, 2011 3:14 am

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von 3VAD_YNCAL » So Feb 19, 2012 5:30 pm

Xin hat geschrieben: Gut, dann würde mich erstmal Feedback interessieren. Gut, Schlecht? Was gilt es zu verbessern? Sei ruhig penibel.
Also ich finde das Tutorial sehr gut. Besonders gut gefallen hat mir z.B., dass du Funktionen wie strcpy() oder strlen() selbst geschrieben hast (Kapitel: Dynamische Speicherverwaltung).
Somit hat kann man auch besser nachvollziehen, wie Funktionen der Standard Library genau funktionieren.

Was ich auch sehr interessant finde, ist die Stelle im Tutorial als es darum geht Zeiger an Funktionen zu übergeben. Da hast du nämlich erwähnt, dass Call-By-Reference in C gar nicht unterstützt wird. Sondern erst bei C++. Und das wusste ich z.B. gar nicht, weil (wie du sagst) in den Büchern immer die Rede von Call-By-Reference ist.

Mir ist eine Sache beim vorletzten Listing in (Kapitel: Dateien) aufgefallen
-----------------------------------------------------------------------------------

Code: Alles auswählen

 /* zu schreibende Daten vorbereiten */
 
    struct Segment  segment1   =   {  0,  0, 10,  0 };
    struct Segment  segments[] = { { 10,  0, 10, 10 },
                                                    { 10, 10,  0,  0 } }; <-- wird beim Einlesen von datei.bin im letzten Listing nicht ausgegeben
 
    struct Triangle triangle   =   { 20,  0, 30, 0, 30, 10 };

Code: Alles auswählen

xin@trinity:~/workspace/proggen.org/c/tutorial/file$ gcc binread.c 
xin@trinity:~/workspace/proggen.org/c/tutorial/file$ ./a.out 
4 Elemente in der Datei
Segment : 0/0 -> 10/0
Triangle: 20/0 -> 30/0 -> 30/10
Segment : 10/0 -> 10/10
(Segment : 10/10 -> 0/0) <-- fehlt
Fertig.
Somit habe ich folgendes im vorletzten Listing hinzugefügt und dann gings:

Code: Alles auswählen

writeSegment  (file, &segment1, 1);     // einzelnes Segment
        writeTriangle (file, &triangle, 1);     // einzelnes Dreieck
        writeSegment  (file,  segments, 2);     // Datenarray schreiben
        writeSegment  (file,  segments + 1, 1); //  <-- habe ich noch hinzugefügt
Xin hat geschrieben:Auf welchem Stand fühlst Du Dich nun? Hat es Dir was gebracht und was möchtest Du als nächstes tun/wissen?
Das Tutorial hat mir auf jeden Fall was gebracht. Zu einem war es eine gute Wiederholung für mich, zum anderen habe ich sogar nochmal an Verständnis bzgl. Zeiger gewinnen können.
Tja, es gibt eigentlich noch so vieles was ich gerne Lernen möchte. (z.B. Verschlüsselung von Dateien(Algorhithmen)/Zeitroutinen/GUI-/Netzwerkprogrammierung/etc.) :) Aber ich weiß - eins nach dem anderen.

Ich weiß auch, man muss als Programmierer seinen Verstand richtig nutzen, logisch denken und sehr kreativ sein um Softwareprobleme zu lösen und Ideen in Form einer Software richtig umzusetzen.
Allerdings wünsche ich mir gerade für den Anfang mehr praktische Beispiele um auch mal zu sehen, wie bestimmte Dinge gelöst werden.
Z.B. das mit Accounts anlegen (mit Password), Datenzugriffe von Accounts auf alle oder nur bestimmte Daten in einem Programm/bestimmte Daten nur für bestimmte User usw.
Ich glaube, ich nerve dich langsam mit dieser Accountsgeschichte ;-D

Muss jetzt leider los. Werde mich heute Abend nochmal einloggen. Falls du noch was wissen möchtest, frag ruhig.
Was ich noch erwähnen möchte - ich finde diese Seite und dieses Forum wirklich sehr toll. Desweiteren möchte ich mich bei dir für deine Hilfe sehr bedanken.

Gruß Dave

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von Xin » So Feb 19, 2012 7:44 pm

3VAD_YNCAL hat geschrieben:Was ich auch sehr interessant finde, ist die Stelle im Tutorial als es darum geht Zeiger an Funktionen zu übergeben. Da hast du nämlich erwähnt, dass Call-By-Reference in C gar nicht unterstützt wird. Sondern erst bei C++. Und das wusste ich z.B. gar nicht, weil (wie du sagst) in den Büchern immer die Rede von Call-By-Reference ist.
Faktisch liegen Call-By-Reference und - wie ich es genannt habe - Call-By-Pointer - nah beieinander. Wenn es um die Umsetzung geht, ist es sogar identisch.
Semantisch ist dabei jedoch ein Unterschied, weswegen C++ hier auch deutlich zwischen Referenzen und Pointern unterscheidet.

Dieser Unterschied wird in Büchern gerne weggelassen, was später das Verständnis für Referenzen erschwert.
3VAD_YNCAL hat geschrieben:Mir ist eine Sache beim vorletzten Listing in (Kapitel: Dateien) aufgefallen
Muss ich mir nachher nochmal ansehen.
3VAD_YNCAL hat geschrieben:
Xin hat geschrieben:Auf welchem Stand fühlst Du Dich nun? Hat es Dir was gebracht und was möchtest Du als nächstes tun/wissen?
Das Tutorial hat mir auf jeden Fall was gebracht. Zu einem war es eine gute Wiederholung für mich, zum anderen habe ich sogar nochmal an Verständnis bzgl. Zeiger gewinnen können.
Tja, es gibt eigentlich noch so vieles was ich gerne Lernen möchte. (z.B. Verschlüsselung von Dateien(Algorhithmen)/Zeitroutinen/GUI-/Netzwerkprogrammierung/etc.) :) Aber ich weiß - eins nach dem anderen.
Einfache Verschlüsselungen würde ich eher als nächsten Schritt sehen als Accounts. ^^

Das ganze muss erstmal begreifbar werden, bevor man Projekte startet, die einen Account benötigen ;-)
3VAD_YNCAL hat geschrieben:Ich glaube, ich nerve dich langsam mit dieser Accountsgeschichte ;-D
Man muss dafür Eingaben machen. Eingaben in der Console sind meist nicht ganz ungefährlich, deswegen lasse ich das Thema gerne weg und warte ab, bis entsprechende Libs verfügbar sind.
3VAD_YNCAL hat geschrieben:Was ich noch erwähnen möchte - ich finde diese Seite und dieses Forum wirklich sehr toll. Desweiteren möchte ich mich bei dir für deine Hilfe sehr bedanken.
Lerne und bedank Dich, in dem Du die Seite mit Deinem Wissen unterstützt.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

3VAD_YNCAL
Beiträge: 51
Registriert: So Dez 04, 2011 3:14 am

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von 3VAD_YNCAL » Mo Feb 20, 2012 1:01 am

Xin hat geschrieben:Lerne...
Natürlich bleibe ich weiterhin am Ball.
Xin hat geschrieben:und bedank Dich, in dem Du die Seite mit Deinem Wissen unterstützt.
Sehr gerne. ;)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von Xin » Mo Feb 20, 2012 11:49 am

3VAD_YNCAL hat geschrieben:
Xin hat geschrieben:Lerne...
Natürlich bleibe ich weiterhin am Ball.
Dann fang doch erstmal mit einer Caesar-Chiffre an, wenn Du Dich für Verschlüsslung interessierst.
Anschließend kannst Du Dich mit rot13 beschäftigen oder auch mit der Enigma.

Die Enigma durchaus schon eine Sache, die ein wenig Blick auf anderes wichtiges Thema wirft für dass es (noch) kein Tutorial gibt und für das ich auch noch nie ein Tutorial gesehen habe: Software-Architektur.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

3VAD_YNCAL
Beiträge: 51
Registriert: So Dez 04, 2011 3:14 am

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von 3VAD_YNCAL » Mo Feb 20, 2012 8:49 pm

Xin hat geschrieben:Dann fang doch erstmal mit einer Caesar-Chiffre an, wenn Du Dich für Verschlüsslung interessierst.
Anschließend kannst Du Dich mit rot13 beschäftigen oder auch mit der Enigma.

Die Enigma durchaus schon eine Sache, die ein wenig Blick auf anderes wichtiges Thema wirft für dass es (noch) kein Tutorial gibt und für das ich auch noch nie ein Tutorial gesehen habe: Software-Architektur.
Cool - dankeschön für die Tipps. Habe auch schon gleich ein paar Sachen im Netz dazu gefunden. :)

Du hast letztens folgendes geschrieben:
Xin hat geschrieben:Cancel dieses Übungsprogramm (zumindest vorerst) und schau Dir das C-Tutorial an.
Ich habe es vorerst auch gecancelt. Das ist für den Anfang, glaube ich, wirklich etwas zu fett.

Ich möchte jetzt aber mal versuchen ein Programm zu schreiben, in dem man zumindest mehrere Benutzer mit Passwort anlegen kann. Die Passwörter der jeweiligen Benutzer sollen mit dem Caesar-Algorhitmus verschlüsselt gespeichert werden. Mehr soll es erstmal gar nicht können. Ich möchte eben wissen, wie man so etwas realisiert um später mein geplantes Übungsprogramm umsetzen zu können.

Würdest du mir dabei ein wenig helfen?
Dein Vorschlag fand ich recht interessant:
Xin hat geschrieben:

Code: Alles auswählen

struct Relation
{
  struct Relation * Next;

  unsigned int UserId;
  unsigned int DataId;
};

struct User
{
  struct User * Next;
  unsigned int UserId;

  char Username[64];
  char Passwort[64];
};

struct Address
{
  struct Address * Next;

  unsigned int DataId;

  char Strasse[64];
  unsigned int Hausnummer;

  ...
};
Was meinst du dazu?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von Xin » Di Feb 21, 2012 10:10 am

3VAD_YNCAL hat geschrieben:Du hast letztens folgendes geschrieben:
Xin hat geschrieben:Cancel dieses Übungsprogramm (zumindest vorerst) und schau Dir das C-Tutorial an.
Ich habe es vorerst auch gecancelt. Das ist für den Anfang, glaube ich, wirklich etwas zu fett.

Ich möchte jetzt aber mal versuchen ein Programm zu schreiben, in dem man zumindest mehrere Benutzer mit Passwort anlegen kann. Die Passwörter der jeweiligen Benutzer sollen mit dem Caesar-Algorhitmus verschlüsselt gespeichert werden. Mehr soll es erstmal gar nicht können. Ich möchte eben wissen, wie man so etwas realisiert um später mein geplantes Übungsprogramm umsetzen zu können.
Ist es das nicht größtenteils? ^^

Grundsätzlich solltest Du mit dem Wissen aus dem Tutorial allerdings durchaus in der Lage sein, Dir das zu erarbeiten.
3VAD_YNCAL hat geschrieben:Würdest du mir dabei ein wenig helfen?
Ja und Nein.

Du kannst im Forum Fragen stellen. Erfahrungen musst Du selbst sammeln.
3VAD_YNCAL hat geschrieben: Dein Vorschlag fand ich recht interessant:
Xin hat geschrieben:

Code: Alles auswählen

struct Relation...
Was meinst du dazu?
Ich find' meinen Vorschlag gut, oder wozu möchtest Du meine Meinung hören? :-D
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

3VAD_YNCAL
Beiträge: 51
Registriert: So Dez 04, 2011 3:14 am

Re: Ein Programm, welches Daten mehrerer Benutzer verwalten

Beitrag von 3VAD_YNCAL » Di Feb 21, 2012 4:56 pm

Xin hat geschrieben: Ist es das nicht größtenteils? ^^
Ja - stimmt. :D
Xin hat geschrieben:Grundsätzlich solltest Du mit dem Wissen aus dem Tutorial allerdings durchaus in der Lage sein, Dir das zu erarbeiten.
Okay - dann werde ich mein Glück mal versuchen.
Xin hat geschrieben:Ich find' meinen Vorschlag gut, oder wozu möchtest Du meine Meinung hören? :-D
Sorry - hatte mich nicht ganz richtig ausgedrückt. Wollte deine Meinung zu meinem Vorhaben wissen. Aber egal. Dein Vorschlag ist auf jeden Fall gut.
Werde jetzt mal beginnen das Programm zu realisieren. Ich hoffe, dass ich es hinbekomme. Bei Fragen melde ich mich einfach. Wenn es mir gelingt natürlich auch. ;)
Nochmals vielen Dank erstmal.

Gruß
Dave :)

Antworten