Die Domain www.v-basic.de steht zum Verkauf: Interesse?

 
 Statistik  FAQ   RSS-ABO  Impressum 
Partner: nicolas-stey.de | drsoong | Herbert Software | legalsoft | The Trouble Shooter | v-basic

Willkommen Gast, aktuell ist der 07.02.2012, 20:13 Uhr

Partner der Proco werden?
 Übersicht  Registrieren  Suche  Neue Posts  Tipps & Tuts  Chat 
 Programming Community » Sprachen » C/ C++/ C# » Terminplaner - Funktionsaufruf mit Strukturzeiger
     [Passwort vergessen]

Neuer Thread Neue Antwort  
 
Beobachter: 1  |  Moderiert von: cinicDrSoong

Terminplaner - Funktionsaufruf mit Strukturzeiger

Seite: 1
Autor
Beitrag
Profil Glaokie Beitrag  Terminplaner - Funktionsaufruf mit Strukturzeiger - Beitrag verfasst: 21.09.2009, 14:28 Uhr        Post den Moderatoren melden    Zitieren  
Beginner

Anmeldedatum: 04.02.2008
8 Posts und 3 Themen.


Ich versuche mich grade an C und habe mir dafür das Standartbeispiel Terminplaner rausgesucht.
Leider komme ich jetzt irgendwie nicht weiter und ich weiß wirklich nicht was falsch sein soll. Ich habe eine Funktion zum hinzufügen eines Termins. Diese Funktion reserviert Speicher für die Struktur und ruft eine Funktion zum eingeben aller daten (tag, zeit, bemerkung ...) auf. in dieser zweiten funktion greife ich irgendwie nicht richtig auf die strukturen in der struktur zu, weiß jedoch nicht wie ich das beheben kann.
Hier mal der Code (nur die relevanten Stellen):

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <stdlib.h>
#include <stdio.h>

void input_termin();
void input_daten(struct termin *);

struct datum
{
    int tag;
    int monat;
    int jahr;          
};
struct zeit
{
    int stunde;
    int minute;
    int sekunde;   
};
struct termin
{
    struct datum datum; (!)hier könnte was nicht stimmen
    struct zeit zeit; (!)hier könnte was nicht stimmen      
    char bemerkung[150];
    struct termin *next;   
};
struct termin *first_ptr;
struct termin *termin_ptr;
struct termin *free_ptr;


[b]int main()
{
input_termin();
getchar();    
return EXIT_SUCCESS; 
}[/b]

//Funktion zum reservieren von Speicherplatz(!)
[i]void input_termin()
{
if(first_ptr == NULL)
       {
       first_ptr = (struct termin *) malloc(sizeof(struct termin));
       if(first_ptr == NULL)
                    { printf("Nicht genug Speicher vorhanden!n");
                    exit(0); }
       //einlesen
       input_daten(first_ptr);
       }     
else
       {
       if(first_ptr->next == NULL)
                    { first_ptr->next = (struct termin *) malloc(sizeof(struct termin));
                    if(first_ptr->next == NULL)
                              { printf("Nicht genug Speicher vorhanden!n");
                              exit(0); }
                    else
                              {termin_ptr = first_ptr->next;
                              //einlesen
                              input_daten(termin_ptr); }
                    }
       else
                    { termin_ptr->next = (struct termin *) malloc(sizeof(struct termin));
                    if(termin_ptr->next == NULL)
                              { printf("Nicht genug Speicherplatz!n");
                              exit(0); }
                    else
                              {termin_ptr = termin_ptr->next;
                              //einlesen
                              input_daten(termin_ptr); }
                    }
       }      
printf("Termin wurde erfolgreich eingegeben!n");
}[/i]

//Funktion zum Eingeben der Daten (!) gekürzt auf 2 Beispiele, da alle anderen entsprechend gleich sind
[i]void input_daten(struct termin * ptr)
{
printf("Bitte Datum (Tag) eingeben: ");
scanf("%2d", ptr->termin.datum.tag); (!)invalid use of 'struct termin'
fflush(stdin); 
printf("Bitte Zeit (Stunde) eingeben: ");   
scanf("%2d", ptr->termin.zeit.stunde); (!)invalid use of 'struct termin'
fflush(stdin);
printf("Hier kx94nnen Sie noch eine Bemerkung eintragen: "); (!)funktioniert
fgets(ptr->bemerkung,148,stdin);     
}[/i]


Hoffe das es übersichtlich genug ist.

Danke schonmal

edit: hmm die textformatierungen [b] und [i] gehen irgendwie nicht genauso wie die smilies?



2 x geändert, zuletzt am 21.09.2009 von Glaokie


   Link  Link  91.67.206.61 Nach Oben Nach oben
Seite: 1

Neuer Thread Neue Antwort  
 


Information
Wo bin ich?
 Programming Community » Sprachen » C/ C++/ C# » Terminplaner - Funktionsaufruf mit Strukturzeiger
Rechte
Du darfst: Beiträge lesen, Themen eröffnen, auf Beiträge antworten und hier keine Umfragen erstellen
Statistik
Seit dem 31.07.2002 (3478 Tage) wurden 7013 Beiträge in 1977 Themen verfasst.
Wir haben 1278 User und begrüßen unser neustes Mitglied: g.schief
Rekord: 8 registrierte waren gleichzeitig hier (27.07.2006, 14:54 Uhr).
Im Moment: 0 registrierte Benutzer und 1 Gast online! 

excel access datum outlook excel mysql sql access datenbank timer string datei auslesen array vb und php sqlite exe exe zu vbp converter uhr mail ftp listbox

cin.board | v1.07 2004-2009 Datenschutzerklärung

© STEY MEDIA
Nicolas Stey - Internetdienstleistungen |||  | |