Hallo zusammen.
Ich bin grad ein wenig am tüfteln aber Zeiger sind so schon schwieirg und dann kommen noch Strukturlisten und einlesen von Daten in einer Funktion dazu.
Alles zusammen macht mich noch verwirrter als vorher.
Greife ich in meinem Modell richtig auf die Struktur zu, bzw. übergebe ich sie richtig an die Funktion?
Mein Problem ist oft, was übergebe ich eigentlich gerade an eine Funktion und wie kann ich DAS GEWÜNSCHTE an die Funktion übergeben
und wie greife ich in der Funktion richtig auf die Daten zu um sie zu bearbeiten? (Wirrwarr mit *, **, -> u. &)
======================================================================================
|
C-/C++-Quelltext
|
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
|
struct personal
{
unsigned long nummer;
char name[50];
double gehalt;
};
void einlesen(struct personal *liste[], int *zaehler);
int main()
{
int zaehler=0;
struct personal *liste[10]={NULL};
einlesen(liste, &zaehler);
printf("%s\n",liste[1]->name);
_getch();
return 0;
}
void einlesen(struct personal *liste[], int *zaehler)
{
FILE *fp=NULL;
char datei[20]={"\0"};
int i=0;
printf("Welche Datei oeffnen: ");
fflush(stdin);
scanf("%[^\n]s",datei);
if( (fp=fopen(datei,"r")) == NULL)
{
printf("Kann %s nicht zum lesen oeffnen\n",datei);
}
else
{
while( (fscanf(fp,"%lu",liste[i]->nummer)) != EOF)
{
fgetc(fp);
fscanf(fp,"%[^;]s",liste[i]->name);
fgetc(fp);
fscanf(fp,"%lf",&(liste[i]->gehalt));
i++;
}
}
*zaehler=i;
fclose(fp);
}
|