Moinsen
also Ich habe ja im Allgemeinen nicht gerade viel Ahnung von C++ aber nun raff ich NICHTS mehr :/
Ich soll nen Quellcode in UML umschreiben ( KP was das ist )
und nun bitte ich euch mir zu Helfen oder es mir vlt. iwie zu erklären weile meine Lehrerin (nutzt nur ihre Bücher und Zettel) kann es mir auch nicht so ganz so erklären habt Ihr vlt. ne Definition dafür ?
Hier der Original Code
Hier die Lösung von einer Klassenkameradin, Ich habe Keine Ahnung wie Sie das gemacht hat also wie sie da drauf gekommen ist :/ pls Helft mir!
Es wäre Super von Euch wenn ihr mir das mal Erklären könntet :/
mfg
Vaiper aka Sven
also Ich habe ja im Allgemeinen nicht gerade viel Ahnung von C++ aber nun raff ich NICHTS mehr :/
Ich soll nen Quellcode in UML umschreiben ( KP was das ist )

Hier der Original Code
C++:
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
int satz_zahl = 0;
//***************************************************
// Basisklasse Adressen
struct adressen
{
char name[50];
char strasse[25];
char ort[25];
char telefon[15];
char telefax[15];
char eMail[20];
};
struct adressen adressdaten[10];
//***********************************************
// Methoden zur Dateneingabe
//--------------------------------------------------
// Eingabe der Adressen
void adr_ein(int index)
{
printf( "Achtung --> Bitte keine Leerzeichen eingeben!\n");
printf("Name:\t\t");
scanf("%s", &adressdaten[index].name);
printf( "Strasse:\t");
scanf("%s", &adressdaten[index].strasse);
printf( "Ort:\t\t");
scanf("%s", &adressdaten[index].ort);
printf( "Telefon:\t");
scanf("%s", &adressdaten[index].telefon);
printf( "Telefax:\t\t");
scanf("%s", &adressdaten[index].telefax);
printf( "eMail:\t\t");
scanf("%s", &adressdaten[index].eMail);
}
//--------------------------------------------------
// Adressdaten anzeigen lassen
void adr_zeig(int index)
{
printf( " Name:\t\t");
printf("%s%s", adressdaten[index].name,"\n") ;
printf( "Strasse:\t");
printf("%s%s", adressdaten[index].strasse ,"\n");
printf( "Ort:\t\t");
printf("%s%s",adressdaten[index].ort ,"\n");
printf( "Telefon:\t");
printf("%s%s",adressdaten[index].telefon ,"\n");
printf( "Telefax\t\t");
printf("%s%s",adressdaten[index].telefax ,"\n");
printf( "eMail:\t\t");
printf("%s%s",adressdaten[index].eMail ,"\n");
}
//--------------------------------------------------
// Adressdaten lesen
int adr_lesen()
{
fstream datei;
datei.open("adress.dat", ios::in);
datei >> satz_zahl;
printf("%s%i%s", "In der Datei befinden sich ", satz_zahl, " Datens\x84tze\n");
for (int i=0; i<=satz_zahl; i++)
{
datei >> adressdaten[i].name;
datei >> adressdaten[i].strasse;
datei >> adressdaten[i].ort;
datei >> adressdaten[i].telefon;
datei >> adressdaten[i].telefax;
datei >> adressdaten[i].eMail;
}
datei.close();
return satz_zahl;
}
//--------------------------------------------------
// Adressdaten speichern
void adr_speicher()
{
fstream datei;
datei.open("adress.dat", ios::out);
datei << satz_zahl << endl;
for (int i=0; i<=satz_zahl; i++)
{
datei << adressdaten[i].name << endl;
datei << adressdaten[i].strasse << endl;
datei << adressdaten[i].ort << endl;
datei << adressdaten[i].telefon << endl;
datei << adressdaten[i].telefax << endl;
datei << adressdaten[i].eMail << endl;
}
datei.close();
}
//**************************************************************
// Hauptfunktion
int main()
{
// Alle Daten aus der Datei in die Tabelle übernehmen
adr_lesen();
int wahl;
do
{
printf( "Programm zur Adressverwaltung\n\n");
printf( " 1) Daten eingeben\n");
printf( " 2) Daten anzeigen\n");
printf( " 3) Programmende\n");
cin >> wahl;
switch(wahl)
{
case 1:
{
adr_ein(satz_zahl);
satz_zahl++;
break;
}
case 2:
{
int ind = 0;
printf("%s%i%s", "Welchen Datensatz zwischen 1 und ",satz_zahl, " m\x94");
printf("chten Sie sehen? ") ;
scanf("%i", &ind);
adr_zeig(ind-1);
break;
}
}
}while (wahl != 3);
adr_speicher();
return 0;
}
Hier die Lösung von einer Klassenkameradin, Ich habe Keine Ahnung wie Sie das gemacht hat also wie sie da drauf gekommen ist :/ pls Helft mir!
C++:
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
int satz_zahl = 0;
//***************************************************
// Basisklasse Adressen
class adressen//statt des
{
public:
char name[50];
char strasse[25];
char ort[25];
char telefon[15];
char telefax[15];
char eMail[20];
public:
int adr_ein(int index);
int adr_zeig(int index);
int adr_lesen();
int adr_speicher();
};
class adressen adressdaten[10];
//***********************************************
// Methoden zur Dateneingabe
//--------------------------------------------------
// Eingabe der Adressen
int adressen::adr_ein(int index)
{
printf( "Achtung --> Bitte keine Leerzeichen eingeben!\n");
printf("Name:\t\t");
scanf("%s", &adressdaten[index].name);
printf( "Strasse:\t");
scanf("%s", &adressdaten[index].strasse);
printf( "Ort:\t\t");
scanf("%s", &adressdaten[index].ort);
printf( "Telefon:\t");
scanf("%s", &adressdaten[index].telefon);
printf( "Telefax:\t\t");
scanf("%s", &adressdaten[index].telefax);
printf( "eMail:\t\t");
scanf("%s", &adressdaten[index].eMail);
return 0;
}
//--------------------------------------------------
// Adressdaten anzeigen lassen
int adressen::adr_zeig(int index)
{
printf( " Name:\t\t");
printf("%s%s", adressdaten[index].name,"\n") ;
printf( "Strasse:\t");
printf("%s%s", adressdaten[index].strasse ,"\n");
printf( "Ort:\t\t");
printf("%s%s",adressdaten[index].ort ,"\n");
printf( "Telefon:\t");
printf("%s%s",adressdaten[index].telefon ,"\n");
printf( "Telefax\t\t");
printf("%s%s",adressdaten[index].telefax ,"\n");
printf( "eMail:\t\t");
printf("%s%s",adressdaten[index].eMail ,"\n");
return 0;
}
//--------------------------------------------------
// Adressdaten lesen
int adressen:: adr_lesen()
{
fstream datei;
datei.open("adress.dat", ios::in);
datei >> satz_zahl;
printf("%s%i%s", "In der Datei befinden sich ", satz_zahl, " Datens\x84tze\n");
for (int i=0; i<=satz_zahl; i++)
{
datei >> adressdaten[i].name;
datei >> adressdaten[i].strasse;
datei >> adressdaten[i].ort;
datei >> adressdaten[i].telefon;
datei >> adressdaten[i].telefax;
datei >> adressdaten[i].eMail;
}
datei.close();
return satz_zahl;
}
//--------------------------------------------------
// Adressdaten speichern
int adressen:: adr_speicher()
{
fstream datei;
datei.open("adress.dat", ios::out);
datei << satz_zahl << endl;
for (int i=0; i<=satz_zahl; i++)
{
datei << adressdaten[i].name << endl;
datei << adressdaten[i].strasse << endl;
datei << adressdaten[i].ort << endl;
datei << adressdaten[i].telefon << endl;
datei << adressdaten[i].telefax << endl;
datei << adressdaten[i].eMail << endl;
}
datei.close();
return 0;
}
//**************************************************************
// Hauptfunktion
int main()
{int i;
// Alle Daten aus der Datei in die Tabelle übernehmen
adressdaten[i].adr_lesen();
int wahl;
do
{
printf( "Programm zur Adressverwaltung\n\n");
printf( " 1) Daten eingeben\n");
printf( " 2) Daten anzeigen\n");
printf( " 3) Programmende\n");
cin >> wahl;
switch(wahl)
{
case 1:
{
adressdaten[i].adr_ein(satz_zahl);
satz_zahl++;
break;
}
case 2:
{
int ind = 0;
printf("%s%i%s", "Welchen Datensatz zwischen 1 und ",satz_zahl, " m\x94");
printf("chten Sie sehen? ") ;
scanf("%i", &ind);
adressdaten[i].adr_zeig(ind-1);
break;
}
}
}while (wahl != 3);
adressdaten[i].adr_speicher();
return 0;
}
Es wäre Super von Euch wenn ihr mir das mal Erklären könntet :/
mfg
Vaiper aka Sven