Inhalt von Struktur ersetzten
-
Hallo,
Habe folgendes Programm in C geschrieben:
[/cpp]
struct person
{
char name[20];
char beruf[20];
int alter;
};void eingabe();
void eingabe()
{
char taste;
int anzahl=0,platz;
person pers[10];
clrscr();while(taste!='n')
{clrscr();
printf("Ihr Name: ");
gets(pers[anzahl].name);
printf("Ihr Beruf: ");
gets(pers[anzahl].beruf);
printf("Ihr Alter: ");
scanf("%d",&pers[anzahl].alter); fflush(stdin);
anzahl++;
printf("Nochmal eingeben? ");
taste=getch();
}
printf("\nNun wird die Liste ausgegeben! ");for(int i=0;i<anzahl;i++)
{
cout<<"\n"<<i+1;
printf("\nName: ");
puts(pers[i].name);
printf("Beruf: ");
puts(pers[i].beruf);
printf("Alter: ");
printf("%d",pers[i].alter);
printf("\n\n");
}printf("Name löschen");
printf("Welche Stelle möchten Sie löschen?");
cin>>platz;....................
[/cpp]Nun wollte ich wissen, wie es funktionier, den vom Benutzer eingegebenen Platz also den eingegebenen Namen den Beruf und das Alter durch -1 oder - zu ersetzten. Ich hoffe ihr könnt mir helfen. Vielen Dank!!!
-
Benutze codetags richtig.
Zu der Frage:
Der einfachheit halber würd ich in ner forschleife - an jede Stelle des betreffenden arrays schreiben, beim alter dürft die sache klar sein.Ich bin jetzt nicht sicher ob ich deine Frage überhaupt richtig verstanden habe,
das ganez erscheint mir sehr trivial -> fals nciht klär mich auf was genau du willstPS: Du hast keine main() -> absicht? oder ist das nciht das ganze Programm?
-
Hallo,
Das ist nicht das ganze Pogramm, nur ein Ausschnitt.
Dieses Beispiel ist eigentlich nur eine Übung für einen Test in der Schule. Der Benutzer gibt beliebig oft Namen Beruf und Alter an.Z. B.
Name ? eingabe z.B. Hans
Beruf ? z.B Lehrer
Alter ? z.B 46Das kann er beliebig oft machen.
Dann wird die komplette Liste ausgegeben. z.B1
Name: Hans
Beruf: Lehrer
Alter: 462
Name: Erich
Beruf: Tischler
Alter: 35
.
.
.
.
u.s.w.dann kann der Benuzer einen Platz auswählen, der gelöscht werden soll. Auf dieses Beispiel bezogen z.B. 2
Dann soll bei 2 stehen: (-1 bedeutet dann halt gelöscht)Name: -1
Beruf: -1
Alter: -1Die neue Liste sollte dann so aussehen:
1
Name: Hans
Beruf: Lehrer
Alter: 462
Name: -1
Beruf: -1
Alter: -1Ich hoffe ihr könnt mir jetzt weiterhelfen
Danke!!!
-
Beim Namen und Beruf würde ich kein -1 einsetzen, sondern einen leeren String - und den erreichst du durch "strcpy(pers[i].name,"");" oder "pers[i].name[0]='\0';" den Alterswert kannst du einfach so überschreiben per "pers[i].alter=-1;".