sp33dwalker
25.05.2009, 14:36
Hey,
Ich mache gerade eine Übungsaufgabe in C++.Bin schon fast fertig jedoch hab ich da ein kleines Problem.
Den Namen kopiere ich mit strncpy, jedoch weiss ich jetzt nicht wie ich noch den Wohnort in den Speicher kopiere.Habs mit noch einem strncpy versucht funzt aber nicht.Hier der code:
#include <iostream>
using namespace std;
class person {
char name[30];
int alter;
char ort[50];
public:
void erzeuge( const char* n = "Waise",
unsigned int a = 0,
const char* ort = "nirgends" );
void ausgeben(void);
};
int main (void) {
person mensch;
int wahl;
auswahl:
cout << "Personenverwaltung - 0.1\n";
cout << "Was moechten sie tun?\n";
cout << "1) Anzeigen 2) Erzeugen\n";
cin >> wahl;
switch (wahl) {
case 1:
mensch.ausgeben();
break;
case 2:
mensch.erzeuge("Tom",8,"Pimmelhausen");
system("cls");
cout << "Tom wurde erzeugt\n";
goto auswahl;
}
system("PAUSE");
}
void person::erzeuge(const char* n, unsigned int a,const char* ort) {
strncpy
( name, n, sizeof(name)-1 );
name[sizeof(name)] = '\0';
alter = a;
}
void person::ausgeben ( void ) {
cout << name << " " << alter << " Jahre (";
cout << "Wohnort : " << ort;
}
Ich mache gerade eine Übungsaufgabe in C++.Bin schon fast fertig jedoch hab ich da ein kleines Problem.
Den Namen kopiere ich mit strncpy, jedoch weiss ich jetzt nicht wie ich noch den Wohnort in den Speicher kopiere.Habs mit noch einem strncpy versucht funzt aber nicht.Hier der code:
#include <iostream>
using namespace std;
class person {
char name[30];
int alter;
char ort[50];
public:
void erzeuge( const char* n = "Waise",
unsigned int a = 0,
const char* ort = "nirgends" );
void ausgeben(void);
};
int main (void) {
person mensch;
int wahl;
auswahl:
cout << "Personenverwaltung - 0.1\n";
cout << "Was moechten sie tun?\n";
cout << "1) Anzeigen 2) Erzeugen\n";
cin >> wahl;
switch (wahl) {
case 1:
mensch.ausgeben();
break;
case 2:
mensch.erzeuge("Tom",8,"Pimmelhausen");
system("cls");
cout << "Tom wurde erzeugt\n";
goto auswahl;
}
system("PAUSE");
}
void person::erzeuge(const char* n, unsigned int a,const char* ort) {
strncpy
( name, n, sizeof(name)-1 );
name[sizeof(name)] = '\0';
alter = a;
}
void person::ausgeben ( void ) {
cout << name << " " << alter << " Jahre (";
cout << "Wohnort : " << ort;
}