#include //for the objects cout and cin #include #include #include "element.h" //The implementation file always includes the header file. using namespace std; //The constructor installs 1 valid value into a newborn element object, //or it outputs an error message and terminates the program. element::element() { cout << "Please enter an integer 1 through 18: "; cin >> atomicNumber; cout << "\n"; if (atomicNumber < 1 || atomicNumber > 18) { cerr << "Bad atomic number or element not part of first 18 elements.\n"; exit(EXIT_FAILURE); } cout << "The atomic number you entered corresponds to " << elements[atomicNumber-1] << ".\n"; } void element::row(int r) { if (atomicNumber < 3) { r=1; } else if (atomicNumber < 11) { r=2; } else { r=3; } cout << elements[atomicNumber-1] << " is in row " << r << " of the periodic table. " << elements[atomicNumber-1] << " has " << r << " electron shell(s).\n"; } void element::column(int c, string t) { if (atomicNumber==1) { c=1; } else if(atomicNumber==2) { c=18; } else if(atomicNumber==3 || atomicNumber==4) { c=atomicNumber-2; } else if(atomicNumber > 4 && atomicNumber < 11) { c=atomicNumber+8; } else if(atomicNumber==11 || atomicNumber==12) { c=atomicNumber-10; } else { c=atomicNumber; } if (c==1) { t="n alkali metal"; } else if (c==2) { t="n alkaline earth metal"; } else if (c==13) { t=" icosagen"; } else if (c==14) { t=" carbon family element"; } else if (c==15) { t=" pnictogen"; } else if (c==16) { t=" chalcogen"; } else if (c==17) { t=" halogen"; } else { t=" noble gas"; } cout << elements[atomicNumber-1] << " is in column " << c << " of the periodic table. " << elements[atomicNumber-1] << " is a" << t << ".\n"; }