DunklerEngel
Mitglied
Ich hoffe so sehr, dass mir jemand helfen kann, sitze jetzt schon einige Stunden an ein paar Compiler-Fehlermeldungen, der Quelltext, bitte nicht erschrecken, beinhaltet Fehler, das weiss ich, aber ich poste mal folgende Aufgabe:
Erstellen Sie ein einfaches Programm zur Speicherung von Adressen und Telefonnummern. Die Daten sollen dabei nur zur Laufzeit des Programms gespeichert werden. Gehen Sie bei der Umsetzung wie dolgt vor:
1. Entwerfen Sie eine Struktur, in der ein Eintrag gespeichert wird. Die Struktur soll den Vor- und Nachnamen der Person sowie ihre Telefonnummer enthalten.
Das Telefonbuch soll max. 100 Einträge haben und in einem Feld gespeichert werden. Definieren Sie ein entsprechendes Feld als globale Variable.
2. Schreiben Sie eine Funktion Initialisierung(); die bei jedem Eintrag dem Namen einen leeren String zuweist.
3. Ihr Programm soll die Eingabe, Anzeige und das Löschen von Einträgen ermöglichen. Schreiben Sie für diese Aktionen jeweils eine eigene Funktion. Bei der Anzeige soll überprüft werden, ob der Eintrag existiert. Bei der Löschfunktion genügt es, nur den Namen zu löschen.
4. Schreiben Sie eine Funktion Nummereingabe(), welche den Benutzer nach einer Eintragnummer fragt. Als Rückgabewert sollte die Funktion die Eintragnummer oder
-1 zurückgeben, wenn die Eingabe ausserhalb des Bereiches lag. Verwenden Sie diese Funktion, um auf die einzelnen Einträge zuzugreifen. Überprüfen Sie ausserdem vor dem Zugriff, ob der Wert innerhalb der Feldgrenzen liegt.
5. Schreiben Sie schliesslich eine passende main()-Funktion. Main() soll ein Menü enthalten, mit dem die Aktionen ausgewählt werden können. Sie können dafür die switch-case-Konstruktion benutzen. Am Anfang von main() soll die Inititaliserung durchgeführt werden.
Und hier mal meinen Quelltext, der voller Fehler ist:
Kann mir jemand helfen?
Erstellen Sie ein einfaches Programm zur Speicherung von Adressen und Telefonnummern. Die Daten sollen dabei nur zur Laufzeit des Programms gespeichert werden. Gehen Sie bei der Umsetzung wie dolgt vor:
1. Entwerfen Sie eine Struktur, in der ein Eintrag gespeichert wird. Die Struktur soll den Vor- und Nachnamen der Person sowie ihre Telefonnummer enthalten.
Das Telefonbuch soll max. 100 Einträge haben und in einem Feld gespeichert werden. Definieren Sie ein entsprechendes Feld als globale Variable.
2. Schreiben Sie eine Funktion Initialisierung(); die bei jedem Eintrag dem Namen einen leeren String zuweist.
3. Ihr Programm soll die Eingabe, Anzeige und das Löschen von Einträgen ermöglichen. Schreiben Sie für diese Aktionen jeweils eine eigene Funktion. Bei der Anzeige soll überprüft werden, ob der Eintrag existiert. Bei der Löschfunktion genügt es, nur den Namen zu löschen.
4. Schreiben Sie eine Funktion Nummereingabe(), welche den Benutzer nach einer Eintragnummer fragt. Als Rückgabewert sollte die Funktion die Eintragnummer oder
-1 zurückgeben, wenn die Eingabe ausserhalb des Bereiches lag. Verwenden Sie diese Funktion, um auf die einzelnen Einträge zuzugreifen. Überprüfen Sie ausserdem vor dem Zugriff, ob der Wert innerhalb der Feldgrenzen liegt.
5. Schreiben Sie schliesslich eine passende main()-Funktion. Main() soll ein Menü enthalten, mit dem die Aktionen ausgewählt werden können. Sie können dafür die switch-case-Konstruktion benutzen. Am Anfang von main() soll die Inititaliserung durchgeführt werden.
Und hier mal meinen Quelltext, der voller Fehler ist:
Code:
#include <iostream.h>
#include <string.h>
//Struktur global vereinbart
struct telefonseite
{
int telefonnummer;
char vorname[30];
char nachname[30];
};
telefonseite telefonbuch[100];
void initialisiere();
void eingabe(int);
void anzeige();
void loeschen(int);
int nummereingabe(int);
int check(int);
void main()
{
char auswahl;
char confirm;
int eintragnummer = 0, i = 0;
for(int i=0;i>100;i++) {
cout<<i+1<<endl;
{
if (i!=0) break;
else initialisiere();
{
void initialisiere()
{
for (int zvar=0; zvar1<100; zvar1++)
{
telefonbuch[zvar1].vorname[0] = ' ';
telefonbuch[zvar1].nachname[0] = ' ';
telefonbuch[zvar1].telefonnummer = 0;
}
}
cout <<"Dieses Programm simuliert ein Telefonbuch, in das Sie\n";
cout <<"100 Eintraege schreiben koennen, jeweils mit dem Vornamen, Nachnamen\n";
cout <<"und Telefonnummer.\n";
cout <<"Jedoch werden die Eintraege nicht dauerhaft auf der Festplatte\n";
cout <<"gespeichert!\n";
cout <<"Sie haben folgende Auswahlmoeglichkeiten:\n";
cout <<"a: Anzeige eines Eintrages\n";
cout <<"b: Eingabe eines neuen Eintrages\n";
cout <<"c: Loeschen eines Eintrags\n";
cout <<"d: Nummer fuer einen Eintrag ergaenzen/ueberschreiben\n";
cout <<"e: Beenden des Programms\n";
cin >> auswahl;
switch(auswahl){
case 'a':
cout<<"Bitte geben Sie die Nummer des gewuenschten Eintrages\n";
cout<<"an:\n";
cin>>eintragnummer;
if(check(eintragnummer)) {
anzeige(eintragnummer);
}
break;
case 'b':
cout<<"Bitte geben Sie die Nummer des gewuenschten neuen\n";
cout<<"Eintrages\n";
cin>>eintragnummer;
if(check(eintragnummer)) {
eingabe(eintragnummer);
}
break;
case 'c':
cout <<"Bitte geben Sie die Nummer ein, die sie loeschen\n";
cout <<"moechten: ";
cin >> eintragnummer;
if(check(eintragnummer)) {
{
loeschen(eintragnummer);
}
break;
case 'd':
cout <<"Bitte geben Sie die Nummer des Eintrags ein,\n ";
cout <<"dessen Telefonnummer sie ergaenzen moechten:\n ";
cin >> eintragnummer;
if (check(eintragnummer)) {
{
if ((i = nummereingabe(eintragnummer)) == -1)
{
cout <<"Nummereingabe schlug fehl! Nummer liegt ausserhalb\n";
cout <<"des Bereichs!"<<endl;
break;
}
else
{
cout <<"Die Telefonnummer des Eintrags Nr. " << i <<" wurde\n";
cout <<"uebernommen!"<<endl;
break;
}
}
case 'e':
cout <<"Moechten sie wirklich das Programm\n";
cout <<"beenden?(j/n)"<<endl;
cin >> confirm;
if ((confirm == 'j') || (confirm == 'J'))
{
break;
}
else
{
cout <<"Waehlen sie eine neue Option: ";
}
break;
default:
cout <<"Bitte geben sie einen der Buchstaben a bis e ein!"<<endl;
break;
}
}
}
void anzeigen()
{
for (int zvar2=0; zvar2<100;zvar2++)
{
if(telefonbuch[zvar2].vorname[0] != ' ')
{
cout << "\n" << zvar2 << " Vorname: ";
cout << telefonbuch[zvar2].vorname << " Nachname: ";
cout << telefonbuch[zvar2].nachname << " Telefonnummer: 0";
cout << telefonbuch[zvar2].telefonnummer <<" \n";
}
}
void loeschen(int eintragnummer)
{
if (telefonbuch[eintragnummer].vorname[0] == ' ')
{
cout <<"\nEintrag ist gar nicht vorhanden!\n";
}
else
{
telefonbuch[eintragnummer].vorname[0] = ' ';
telefonbuch[eintragnummer].nachname[0] = ' ';
telefonbuch[eintragnummer].telefonnummer = 0;
}
cout <<"\nEintrag geloescht!\n";
}
void eingabe(int eintragsnummer)
{
char confirm;
if (telefonbuch[eintragsnummer].vorname[0] != ' ')
{
cout <<"\nEintrag existiert bereits! Ueberschreiben? (j/n)";
cin >> confirm;
if ((confirm == 'n') || (confirm == 'N'))
{
cout <<"\nBitte waehlen Sie eine neue Option!\n";
}
}
if(bWeiter)
{
cout <<"\nBitte geben Sie den Vornamen ein: ";
cin >> telefonbuch[eintragsnummer].vorname;
cout <<"\nBitte geben Sie den Nachnamen ein: ";
cin >> telefonbuch[eintragsnummer].nachname;
cout <<"\nBitte geben Sie die Telefonnummer ein: ";
cin >> telefonbuch[eintragsnummer].telefonnummer;
cout <<"\nEintrag wurde aufgenommen!\n";
}
}
int nummereingabe(int eintragsnummer);
{
char confirm;
if (telefonbuch[eintragsnummer].vorname[0] == ' ')
{
cout <<"\nEintrag existiert noch nicht! Wollen sie ihn neu anlegen? (j/n) ";
cin >> confirm;
if ((confirm == 'j') || (confirm == 'J'))
{
eingabe(eintragsnummer);
return eintragsnummer;
}
else
{
cout <<"\nBitte waehlen sie eine neue Option!\n";
return -1;
}
}
cout <<"Bitte geben sie die Telefonnummer an: ";
cin >> telefonbuch[eintragsnummer].telefonnummer;
cout <<"Telefonnummer wurde uebernommen!\n";
}
int check(int eintragsnummer);
{
if ((eintragsnummer>100) || (Eintragsnummer<0))
{
cout <<"Eingabe ungueltig\n";
return 0;
}
else
return 1;
}
char p[50];
cin.getline(p,50);
}
Kann mir jemand helfen?