1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
| // Elemente3.h
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
class Element {
private:
int nummer; // nombre
string name; // le nom
float dichte; // Densité
float atomMasse; // masse atomique
public:
Element();
Element(int num, string nam, float dic, float aMas) : nummer{ num }, name{ nam }, dichte{ dic }, atomMasse{ aMas } {}
Element( Element& elem) {
Element{ elem.nummer, elem.name, elem.dichte, elem.atomMasse };
}
Element& operator=(Element& elem) {
nummer{ elem.nummer };
name{ elem.name };
dichte{ elem.dichte };
atomMasse{ elem.atomMasse };
return *this;
}
void setNummer(int num);
int getNummer();
string getName();
void setName(string nam);
float getDichte();
void setDichte(float dic);
float getAtomMasse();
void setAtomMasse(float aMas);
void printElemente();
friend void elementEinlesen();
~Element() {}
};
class Psde {
int nummerInPsde;
string s_name;
public:
/* Psde& operator=(Psde psde) {
nummerInPsde { psde.nummerInPsde };
s_name{ psde.s_name };
return *this;
}; */
Psde get_psde() { return *this; }
int get_nummerInPsde() { return nummerInPsde; }
string get_s_name() { return s_name; }
Psde(int nummerPsd = 1, string nam = "") :nummerInPsde{ nummerPsd }, s_name{ nam } {}
void printElemente();
void printElemente_f(ofstream out, Psde psd);
friend std::ofstream& operator<<(std::ofstream&, const Psde&);
~Psde(){}
};
//Element* elePtr;
Element::Element() {
nummer { 0}; // nombre
name { " "}; // nom
dichte { 0.0}; // densite
atomMasse{ 0.0 }; // masse atomique
}
int Element::getNummer() { return this->nummer; }
string Element::getName() { return this->name; }
float Element::getDichte() { return this->dichte; }
float Element::getAtomMasse() { return this->atomMasse; }
void Element::printElemente() {
cout << "Element: " << name << " Nummer in Perioden System: " << nummer
<< " hat die Dichte: "
<< dichte << " und Atommasse: " << atomMasse << endl;
}
void Element::setNummer(int num) {
nummer = num;
}
void Element::setName(string nam) {
name = nam;
}
void Element::setDichte(float dic) {
dichte = dic;
}
void Element::setAtomMasse(float aMass) {
atomMasse = aMass;
}
void elementEinlesen() {
int anzahl = 1;
Element *elePtr = new Element();
int ein_nummer;
string ein_name;
float ein_dichte, ein_atomMasse;
cout << "Bitte die Nummer des Elements: ";
cin >> ein_nummer;
elePtr->setNummer(ein_nummer);
cout << "Bitte die Name des Elements: ";
cin >> ein_name;
elePtr->setName(ein_name);
cout << "Bitte die Dichte des Elements: ";
cin >> ein_dichte;
elePtr->setDichte(ein_dichte);
cout << "Bitte die Atommasse des Elements: ";
cin >> ein_atomMasse;
elePtr->setAtomMasse(ein_atomMasse);
}
void Psde::printElemente() {
cout << " Symbol: " << s_name << " Nr.: " << nummerInPsde << endl;
}
/*void Psde::printElemente_f(ofstream out, Psde psd) {
out << psd << '\t';
}
*/
Psde PeriodensystemDerElemente[] = { {0,""}, {1,"H"},{2,"He"},{3,"Li"},{4,"Be"}, {5,"B"}, {6, "C"},
{7,"N"}, {8, "O"}, {9,"F"}, {10,"Ne"} ,{11, "Na"} , {12, "Mg"}, {13, "Al"}, {14,"Si"}, {15, "P"},
{16,"S"}, {17,"Cl"}, {18,"Ar"},{19, "K"}, {20, "Ca"},{21,"Sc"},{22,"Ti"},{23,"V"}, {24, "Cr"},
{25,"Mn"}, {26,"Fe"}, {27,"Co"},{28,"Ni"},{29,"Cu"},{30,"Zn"}, {31,"Ga"},{32,"Ge"},{33,"As"}
,{34,"Se"},{35,"Br"},{36,"Kr"},{37,"Rb"},{38,"Sr"},{39,"Y"},{40,"Zr"},{41,"Nb"},{42,"Mo"},{43,"Tc"},
{44,"Ru"},{45,"Rh"},{46,"Pa"},{47,"Ag"},{48,"Cd"},{49,"In"},{50,"Sn"},{51,"Sb"},{52,"Te"},
{53,"I"},{54,"Xe"}, {55,"Cs"},{56,"Ba"},{57,"La"},{58,"Ce"}, {59,"Pr"},{60,"Nd"},{61,"Pm"},
{62,"Sm"},{63,"Eu"},{64,"Gd"},{65,"Tb"} ,{66,"Dy"},{67,"Ho"},{68,"Er"},{69,"Tm"},{70,"Yb"} ,
{71,"Lu"},{72,"Hf"},{73,"Ta"},{74,"W"},{75,"Re"},{76,"Os"},{77,"Ir"},{78,"Pt"},{79,"Au"},
{80, "Hg"},{81,"Tl"},{82,"Pb"},{83,"Bi"},{84,"Po"},{85,"At"},{86,"Rn"},{87,"Fr"},{88,"Ra"},
{89,"Ac"},{90,"Th"},{91,"Pa"},{92,"U"},{93,"Np"},{94,"Pu"},{95,"Am"},{96,"Cm"},{97,"Bk"},
{98,"Cf"},{99,"Es"},{100,"Fm"},{101,"Md"},{102,"No"},{103,"Lr"},{104,"Rf"},{105,"Db"},
{106,"Sg"},{107,"Bh"},{108,"Hs"},{109,"Mt"},{110,"Ds"},{111,"Rg"},{112,"Cn"},{113,"Nh"},
{114,"Fl"},{115,"Mc"},{116,"Lv"},{117,"Ts"},{118,"Og"} };
void printElementInFile(deque<Psde> dPsde) {
ofstream out("PeriodSysDerElemente.txt");
for (deque<Psde>::iterator iter = dPsde.begin(); iter != dPsde.end(); ++iter) {
iter->printElemente_f(out, dPsde);
}
std::ofstream& operator<<(std::ofstream & ofs, Psde & psd) {
ofs << psd.get_nummerInPsde() << " " << psd.get_s_name() << endl;
return ofs;
}
}; |
Partager