suhs
13-04-2007, 18:56
hallo forum!
ich habe mir folgendes programm zur verwaltung von personen gebaut:
das einlesen und ausgeben der struktur funktioniert auch :)
jetzt wuerde ich aber gerne noch alles nach dem einlesen in ein text file speichern.
wie kann ich das machen? wo liegt mein fehler?
den code, den ich eingebunden habe funktioniert leider nicht :mad:
vielen dank und gruss,
suhs
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct persManager{
int id;
int plz;
char name[256];
char strasse[256];
char ort[256];
char email[256];
char homepage[256];
};
int main()
{
printf("*** PersManager***");
printf("\t * verwaltung der einzelnen Personen *\n\n\n");
printf("Wie viele Personen moechten sie eingeben (max. 100 moeglich)? ");
int n;
scanf("%d", &n);
printf("Anzahl der Personen: %d \n\n", n);
// daten der personen in die struktur persManager einlesen
// mit der structVar "person[100]" koennen 100 personen einlesen werden
struct persManager person[100];
for(int i = 0; i <= n; i++) {
person[i].id = i;
printf("ID EINGEBEN : %d\n", i);
//scanf("%d", &person[i].id);
printf("NAME EINGEBEN : ");
scanf("%s", &person[i].name);
printf("STRASSE EINGEBEN : ");
scanf("%s", &person[i].strasse);
printf("PLZ EINGEBEN : ");
scanf("%d", &person[i].plz);
printf("ORT EINGEBEN : ");
scanf("%s", &person[i].ort);
printf("EMAIL EINGEBEN : ");
scanf("%s", &person[i].email);
printf("HOMEPAGE EINGEBEN : ");
scanf("%s", &person[i].homepage);
printf("\n");
}
// daten der personen aus der struktur persManager auslesen und
// mit printf ausgeben
for(int i = 0; i <= n; i++) {
printf("%d\n", person[i].id);
printf("%s\n", person[i].name);
printf("%s\n", person[i].strasse);
printf("%d\n", person[i].plz);
printf("%s\n", person[i].ort);
printf("%s\n", person[i].email);
printf("%s\n", person[i].homepage);
printf("\n");
}
// daten speichern
FILE *f;
char fileName[255];
struct persManager *p100;
printf("Unter welchen Namen soll gespeichert werden : ");
scanf("%s", fileName);
fflush(stdin);
f = fopen(fileName, "w");
if(f == NULL)
{
printf("Fehler beim oeffnen von: %s\n", fileName);
//return;
}
// person[100] auf das erste element
//person[100]=first;
if(p100 == NULL);
{
printf("Es gibt nichts zu Speichern!\n\n");
//return;
}
// Nun speichert man element fuer element in der liste,
// bis *p100 auf NULL zeigt und somit alle daten gespeichert wurden.
while(p100 != NULL)
{
fwrite(p100, sizeof(struct persManager),1,f);
p100 = p100->next;
}
getch();
}
/*
void saveAdressen()
{
FILE *f;
char fileName[255];
struct persManager *person[100];
printf("Unter welchen Namen soll gespeichert werden : ");
scanf("%s", fileName);
fflush(stdin);
f = fopen(fileName, "w");
if(f == NULL)
{
printf("Fehler beim oeffnen von: %s\n", fileName);
return;
}
// person[100] auf das erste element
//person[100]=first;
if(person[100] == NULL);
{
printf("Es gibt nichts zu Speichern!\n\n");
return;
}
// Nun speichert man element fuer element in der liste,
// bis *person[100] auf NULL zeigt und somit alle daten gespeichert wurden.
while(person[100] != NULL)
{
fwrite(person[100], sizeof(struct persManager),1,f);
person[100] = person[100]->next;
}
}*/
ich habe mir folgendes programm zur verwaltung von personen gebaut:
das einlesen und ausgeben der struktur funktioniert auch :)
jetzt wuerde ich aber gerne noch alles nach dem einlesen in ein text file speichern.
wie kann ich das machen? wo liegt mein fehler?
den code, den ich eingebunden habe funktioniert leider nicht :mad:
vielen dank und gruss,
suhs
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct persManager{
int id;
int plz;
char name[256];
char strasse[256];
char ort[256];
char email[256];
char homepage[256];
};
int main()
{
printf("*** PersManager***");
printf("\t * verwaltung der einzelnen Personen *\n\n\n");
printf("Wie viele Personen moechten sie eingeben (max. 100 moeglich)? ");
int n;
scanf("%d", &n);
printf("Anzahl der Personen: %d \n\n", n);
// daten der personen in die struktur persManager einlesen
// mit der structVar "person[100]" koennen 100 personen einlesen werden
struct persManager person[100];
for(int i = 0; i <= n; i++) {
person[i].id = i;
printf("ID EINGEBEN : %d\n", i);
//scanf("%d", &person[i].id);
printf("NAME EINGEBEN : ");
scanf("%s", &person[i].name);
printf("STRASSE EINGEBEN : ");
scanf("%s", &person[i].strasse);
printf("PLZ EINGEBEN : ");
scanf("%d", &person[i].plz);
printf("ORT EINGEBEN : ");
scanf("%s", &person[i].ort);
printf("EMAIL EINGEBEN : ");
scanf("%s", &person[i].email);
printf("HOMEPAGE EINGEBEN : ");
scanf("%s", &person[i].homepage);
printf("\n");
}
// daten der personen aus der struktur persManager auslesen und
// mit printf ausgeben
for(int i = 0; i <= n; i++) {
printf("%d\n", person[i].id);
printf("%s\n", person[i].name);
printf("%s\n", person[i].strasse);
printf("%d\n", person[i].plz);
printf("%s\n", person[i].ort);
printf("%s\n", person[i].email);
printf("%s\n", person[i].homepage);
printf("\n");
}
// daten speichern
FILE *f;
char fileName[255];
struct persManager *p100;
printf("Unter welchen Namen soll gespeichert werden : ");
scanf("%s", fileName);
fflush(stdin);
f = fopen(fileName, "w");
if(f == NULL)
{
printf("Fehler beim oeffnen von: %s\n", fileName);
//return;
}
// person[100] auf das erste element
//person[100]=first;
if(p100 == NULL);
{
printf("Es gibt nichts zu Speichern!\n\n");
//return;
}
// Nun speichert man element fuer element in der liste,
// bis *p100 auf NULL zeigt und somit alle daten gespeichert wurden.
while(p100 != NULL)
{
fwrite(p100, sizeof(struct persManager),1,f);
p100 = p100->next;
}
getch();
}
/*
void saveAdressen()
{
FILE *f;
char fileName[255];
struct persManager *person[100];
printf("Unter welchen Namen soll gespeichert werden : ");
scanf("%s", fileName);
fflush(stdin);
f = fopen(fileName, "w");
if(f == NULL)
{
printf("Fehler beim oeffnen von: %s\n", fileName);
return;
}
// person[100] auf das erste element
//person[100]=first;
if(person[100] == NULL);
{
printf("Es gibt nichts zu Speichern!\n\n");
return;
}
// Nun speichert man element fuer element in der liste,
// bis *person[100] auf NULL zeigt und somit alle daten gespeichert wurden.
while(person[100] != NULL)
{
fwrite(person[100], sizeof(struct persManager),1,f);
person[100] = person[100]->next;
}
}*/