|
|
Line 1: |
Line 1: |
− | -----------------------------------------------------------------------------------------------------------------------
| |
| | | |
− |
| |
− | Name: Anton Teremetskyi
| |
− |
| |
− | SID: 068937093
| |
− |
| |
− | E-mail: [mailto:ateremetskyi@learn.senecac.on.ca?subject=oop344-jsantos13 ateremetskyi@learn.senecac.on.ca]
| |
− |
| |
− | Blog: [http://ateremetskyi.blogspot.com/ Anton's Blog]
| |
− |
| |
− | Skype: Teremetskyi_Anton
| |
− |
| |
− | IRC Nick: ateremetskyi
| |
− |
| |
− |
| |
− | -----------------------------------------------------------------------------------------------------------------------
| |
− |
| |
− |
| |
− | My Links:
| |
− |
| |
− | [[Student List 20121 - OOP344 | Student List]]
| |
− |
| |
− | [http://zenit.senecac.on.ca/wiki/index.php/OOP344 OOP344 Main Page]
| |
− |
| |
− | [[Team .RU - OOP344 20121 | Team Page]]
| |
− |
| |
− |
| |
− | -----------------------------------------------------------------------------------------------------------------------
| |
− |
| |
− |
| |
− | '''Class notes :''' 09.02.2012
| |
− |
| |
− |
| |
− | int(*fptr[3])(int, int){name1, name2, name3};
| |
− |
| |
− |
| |
− | The better way to validate any attribute is to use functions .
| |
− |
| |
− | ValidYear = getYear(Year); // Bool function
| |
− |
| |
− |
| |
− | Check what do functions cin.clear()and others mean .
| |
− |
| |
− |
| |
− | I like the way the teacher sends the output to the function
| |
− |
| |
− | sendMsg("The number is", double number); // Something like that
| |
− |
| |
− |
| |
− | bool validCCV(int ccv){
| |
− | return ccv >= 100 && ccv <= 999;
| |
− | } // Better example of the function above .
| |
− |
| |
− |
| |
− | HomeWork - I have to understand how the program the teacher used works. I can find that program by the date in SVN. Then, I have to finish the assignment 1 (I did not send it yet, some errors appear).
| |
− |
| |
− |
| |
− | The class on Monday is going to be in T2107 lab.
| |
− |
| |
− |
| |
− | -----------------------------------------------------------------------------------------------------------------------
| |
− |
| |
− |
| |
− | '''Class notes :''' 23.02.2012
| |
− |
| |
− | 1. Virtual functions 2. Frames 3. CField
| |
− |
| |
− | -----------------------------------------------------------------------------------------------------------------------
| |
− | Exception
| |
− | #include <iostream>
| |
− | using namespace std;
| |
− |
| |
− | int main(void)
| |
− | {
| |
− | int x = 10;
| |
− |
| |
− | try
| |
− | {
| |
− | while(x--)
| |
− | {
| |
− | if(x == 4) { throw x; }
| |
− |
| |
− | cout << " pass" << x << endl ;
| |
− | }
| |
− | }
| |
− | catch(int x)
| |
− | {
| |
− | cout << "got it >> " << x << " << " << endl;
| |
− | }
| |
− |
| |
− | return 0;
| |
− | }
| |
− |
| |
− | ---
| |
− |
| |
− | Pretty TXT stream ( WRITE )
| |
− | FILE Datafile.txt
| |
− |
| |
− | Hello, I am jack and I am
| |
− | 35
| |
− | years old.
| |
− |
| |
− | ==
| |
− |
| |
− | #include <iostream>
| |
− | #include <fstream>
| |
− | using namespace std;
| |
− |
| |
− | int main(){
| |
− | ofstream fout("datafile.txt");
| |
− | fout<<"Hello, I am jack and I am "<<endl<<35<<endl<<"years old.\n";
| |
− | return 0;
| |
− | }
| |
− |
| |
− | ---------------
| |
− |
| |
− | int main(){
| |
− | ifstream fin("datafile.txt");
| |
− | char str[100];
| |
− | fin>>str;
| |
− | cout<<str<<endl; // Hello,
| |
− | fin.getline(str, 99, '\n');
| |
− | cout<<str<<endl; // I am jack and I am
| |
− | str[0] = fin.get();
| |
− | cout<<str[0]; // 3
| |
− | cout<<"TheEnd"<<endl;
| |
− | return 0;
| |
− | }
| |
− |
| |
− | ---
| |
− |
| |
− | Interesting Custom print statement
| |
− | #include <cstdio>
| |
− | using namespace std;
| |
− |
| |
− | class Output{
| |
− | public:
| |
− | Output& print(const char* str){
| |
− | printf(str);
| |
− | return *this;
| |
− | }
| |
− | Output& print(int a){
| |
− | printf("%d", a);
| |
− | return *this;
| |
− | }
| |
− | };
| |
− |
| |
− | int main(){
| |
− | Output fout;
| |
− | fout.print("Hello, I am jack and I am ").print(35).print(" years old.\n");
| |
− | return 0;
| |
− | }
| |
− |
| |
− | OR
| |
− |
| |
− |
| |
− | #include <cstdio>
| |
− | using namespace std;
| |
− |
| |
− | class Output{
| |
− | public:
| |
− | void print(const char* str){
| |
− | printf(str);
| |
− | }
| |
− | void print(int a){
| |
− | printf("%d", a);
| |
− | }
| |
− | };
| |
− |
| |
− | int main(){
| |
− | Output fout;
| |
− | fout.print("Hello, I am jack and I am ");
| |
− | fout.print(35);
| |
− | fout.print(" years old\n");
| |
− | return 0;
| |
− | }
| |
− |
| |
− | ---
| |
− |
| |
− | Read the written in the prev example file
| |
− | #include <iostream>
| |
− | #include <fstream>
| |
− | #include <cstring>
| |
− | using namespace std;
| |
− |
| |
− | class Employee{
| |
− | char _name[15];
| |
− | char _lastname[30];
| |
− | int _empno;
| |
− | double _salary;
| |
− | public:
| |
− | Employee(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | set(name, lastname, empno, salary);
| |
− | }
| |
− | void set(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | strcpy(_name, name);
| |
− | strcpy(_lastname, lastname);
| |
− | _empno = empno;
| |
− | _salary = salary;
| |
− | }
| |
− | ostream& print(ostream& OS)const{
| |
− | return OS<<"Name: "<<_name<<" "<<_lastname<<endl<<"EmpNo: "<<_empno
| |
− | <<", Salary: "<<_salary;
| |
− | }
| |
− | virtual ~Employee(){
| |
− | //print(cout)<<"is dead!!!!"<<endl;
| |
− | }
| |
− | };
| |
− | ostream& operator<<(ostream& OS, const Employee& E){
| |
− | return E.print(OS);
| |
− | }
| |
− |
| |
− | int main(){
| |
− | Employee E;
| |
− | fstream file("emp.bin",ios::in|ios::binary);
| |
− | for(int i=0;i<5;i++){
| |
− | file.read((char*)&E, sizeof(Employee));
| |
− | cout<<E<<endl<<endl;
| |
− | }
| |
− | return 0;
| |
− | }
| |
− |
| |
− |
| |
− | OR
| |
− |
| |
− |
| |
− | #include <iostream>
| |
− | #include <fstream>
| |
− | #include <cstring>
| |
− | using namespace std;
| |
− |
| |
− | class Employee{
| |
− | char _name[15];
| |
− | char _lastname[30];
| |
− | int _empno;
| |
− | double _salary;
| |
− | public:
| |
− | Employee(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | set(name, lastname, empno, salary);
| |
− | }
| |
− | void set(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | strcpy(_name, name);
| |
− | strcpy(_lastname, lastname);
| |
− | _empno = empno;
| |
− | _salary = salary;
| |
− | }
| |
− | ostream& print(ostream& OS)const{
| |
− | return OS<<"Name: "<<_name<<" "<<_lastname<<endl<<"EmpNo: "<<_empno
| |
− | <<", Salary: "<<_salary;
| |
− | }
| |
− | virtual ~Employee(){
| |
− | //print(cout)<<"is dead!!!!"<<endl;
| |
− | }
| |
− | };
| |
− | ostream& operator<<(ostream& OS, const Employee& E){
| |
− | return E.print(OS);
| |
− | }
| |
− |
| |
− | int main(){
| |
− | Employee E;
| |
− | fstream file("emp.bin",ios::in|ios::binary);
| |
− | file.seekg((ios::off_type)0, ios::end);
| |
− | int loc = file.tellg();
| |
− | while(loc > 0 ){
| |
− | loc -= sizeof(Employee);
| |
− | file.seekg((ios::pos_type)loc);
| |
− | file.read((char*)&E, sizeof(Employee));
| |
− | cout<<E<<endl;
| |
− | }
| |
− | return 0;
| |
− | }
| |
− |
| |
− | ---
| |
− |
| |
− | Write classes to the file
| |
− | #include <iostream>
| |
− | #include <fstream>
| |
− | #include <cstring>
| |
− | using namespace std;
| |
− |
| |
− | class Employee{
| |
− | char _name[15];
| |
− | char _lastname[30];
| |
− | int _empno;
| |
− | double _salary;
| |
− | public:
| |
− | Employee(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | set(name, lastname, empno, salary);
| |
− | }
| |
− | void set(const char* name="", const char* lastname="", int empno=0, double salary=0.0){
| |
− | strcpy(_name, name);
| |
− | strcpy(_lastname, lastname);
| |
− | _empno = empno;
| |
− | _salary = salary;
| |
− | }
| |
− | ostream& print(ostream& OS)const{
| |
− | return OS<<"Name: "<<_name<<" "<<_lastname<<endl<<"EmpNo: "<<_empno
| |
− | <<", Salary: "<<_salary;
| |
− | }
| |
− | virtual ~Employee(){
| |
− | //print(cout)<<"is dead!!!!"<<endl;
| |
− | }
| |
− | };
| |
− | ostream& operator<<(ostream& OS, const Employee& E){
| |
− | return E.print(OS);
| |
− | }
| |
− |
| |
− | int main(){
| |
− | Employee E[5]={
| |
− | Employee("John", "Doe", 1234,12345.67),
| |
− | Employee("Jack", "Brown", 22345,212345.67),
| |
− | Employee("Bill", "Red", 3234,32345.67),
| |
− | Employee("Louis", "Clark", 41234,42345.67),
| |
− | Employee("Homer", "Simpson", 5234,52345.67)
| |
− | };
| |
− | fstream file("emp.bin",ios::out|ios::binary);
| |
− | for(int i=0;i<5;i++){
| |
− | file.write((const char*)&E[i], sizeof(Employee));
| |
− | }
| |
− | return 0;
| |
− | }
| |