Thursday, October 29, 2009

online meeting

I do like the online meeting because my group members are in different sections and it is hard to find a convenient time to set up a face-to-face meeting. We can discuss our work and know each others' progress. Online meeting can be easily recorded for later reference.

However, it is annoying when I experienced a time delay. The chat window was not refreshed in real time. Sometimes the window was either frozen or scrolled up half the screen. Hopefully it would be better next time.

Overall, the online meeting is very good. It’s convenient, flexible and productive.

MEETING MINUTES OF TEAM BINGO (TEAM#3)

The second meeting of our team was held at #Seneca through IRC

Date: Oct. 27, 2009
Time: 9 to 10 pm
Present: Fardad, Keyan, [Frank]Dong, ChunXia, Feihong, David, [Lucy]Xiaozhe

Prof. Fardad was a chair and organized the meeting.

What we have done during the meeting?

1. Frank was chosen to be the organizer for our group, to be able to initiate the project source.
He added his ciol.h and ciol.c to the PRJ directory.

2. A general headerfile io_def.h was created and added to the PRJ dir.

3. A prjmain.cpp file was created. There were one int main() funciton and 8 "sub-main" functions. Everyone can share and at the same time run his or her own test.

What we need to do next?

1. We can modify our own main and start developing.

David ___________IO_edit
Keyan __________ IO_checklist
[Frank]Dong _____ IO_label
Feihong _________ IO_menu
Chunxia_________ IO_ frame
An______________ IO_Radio
Zhaolong_________IO_Form
[Lucy]Xiaozhe_____ IO_field

2. For each class in the project we should create a headerfile and a cpp file with the same name of the class. ie: io_label.h and io_label.cpp.

3. Each of us MUST add a txt file with Seneca id to the docs directory.

4. Whenever we are committing something make sure at top of the file we add what we have done.

5. Fardad said: “NEVER COMMIT A CODE THAT IS NOT BUILDABLE ”

Saturday, October 24, 2009

first meeting minutes

MEETING MINUTES OF TEAM#3

The first meeting of our team was held at #OOP344Team#3 chart room through IRC

Date: Oct. 23, 2009
Time: 9 to 10 pm
Present: Keyan, [Frank]Dong, ChunXia, Feihong, David, [Lucy]Xiaozhe

Actions:
1. Every member will take a ownership of different classes in assignment 2

David ____________IO_edit
Keyan ___________ IO_checklist
[Frank]Dong ______ IO_label
Feihong __________ IO_menu
Chunxia__________ IO_ frame
An______________ IO_Radio
Zhaolong__________IO_Form
[Lucy]Xiaozhe______ IO_field

There are two classes left IO_MenuBar and IO_TextEdit. Frank, the strongest technical person in our group, is volunteered both of them. We all believe that those exercises can help Frank promote his mark from A+ to A++.

2. Next two meetings will be held at the same place on Tuesday (Oct. 27) 9:00pm and Friday (Oct. 30) 9:00pm. We need more discussing about assignment 2. Please prepare your questions and proposals (solutions) in advance.

3. Team name will be changed to BINGO. Feihong will be responsible for updating the group web pages accordingly.

Thursday, October 22, 2009

Challenge question: DsStack copy constructor


Stack::Stack(const Stack& stack) {
SNode *p = stack.top;
top = (SNode*)0;

// get a reversed stack
while(p) {
Push(p->data);
p = p->next;
}

// reverse it again
p = top;
top = (SNode*)0;
SNode* del;

while(p) {
Push(p->data);
del = p;
p = p->next;
delete del;
}
}

Friday, October 16, 2009

study notes

After I wrote assignment1, I felt that the io_display function written by Fardad is a really good study example, because when I first wrote displayflag, I wrote more than 30 lines of code to handle spaces and try to move the cursor around. After I walked though io_display function, I found Fardad used only two for loops with a few lines and did what my 30 lines did. So, I changed my displayflag function and called io_display inside.



This is my displayflag function final copy,

void io_displayflag(const char *format, int row, int col, int status) {

char format2[4];

strcpy (format2, format);

if (status == 0){

//display unchecked

format2[1] = ' ';

}

io_display(format2, row, col, 4);

io_move(row, col+1);

}


This is the display function written by Fardad,

void io_display(const char *str, int row, int col, int len){

io_move(row, col);

if(len <= 0){

io_putstr(str);

}

else{

int i;

for(i=0;i < len && str[i];i++){

io_putch(str[i]);

}

for(;i < len;i++){

io_putch(' ');

}

Sunday, October 11, 2009

study pointer and array

The variable 'ar' is being used without being initialized

int _tmain(int argc, _TCHAR* argv[])
{
char* ar;

*ar = 'a';
printf ("%c\n", *ar);

return 0;
}

fix 1,

int _tmain(int argc, _TCHAR* argv[])
{
char* ar;
char p;

ar = &p;

*ar = 'a';
printf ("%c\n", *ar);

return 0;
}

Output:
a

fix 2,

int _tmain(int argc, _TCHAR* argv[])
{
char* ar;
ar = new char [8];

*ar = 'a';
printf ("%c\n", *ar);

return 0;
}

Output:
a

Sunday, October 4, 2009

A Good Book to Read - The C++ Standard Library: A Tutorial and Reference

There is a C++ book that you can find in Seneca College ebook library.

http://lcweb.senecac.on.ca:2063/0201379260

The C++ Standard Library: A Tutorial and Reference
by Nicolai M. Josuttis

Nicolai Josuttis's The C++ Standard Library provides one of the best available guides to using the built-in features of C++ effectively. It reflects the newest elements of the C++ standard library incorporated into the full ANSI/ISO C++ language standard. In particular, the text focuses on the Standard Template Library (STL), examining containers, iterators, function objects, and STL algorithms.