<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8593282700392307677</id><updated>2011-07-08T11:13:09.556-07:00</updated><title type='text'>Xiaoshi's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-6192679239073757962</id><published>2009-12-03T19:08:00.000-08:00</published><updated>2009-12-03T19:10:32.618-08:00</updated><title type='text'>review quiz 3</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &lt; stdio.h &gt;&lt;br /&gt;&lt;br /&gt;int main (int argc, char* argv[], char* e[]){&lt;br /&gt;        int i;&lt;br /&gt;        printf("%d\n", argc);&lt;br /&gt;&lt;br /&gt;        printf("PRINT ARGUMENTS\n");&lt;br /&gt;        for(i=0; i &lt; argc; i++) {&lt;br /&gt;           printf("%d : %s\n", i, argv[i]);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        printf("\nPRINT ENVIRONMENT\n\n");&lt;br /&gt;        for(i=0; e[i]; i++) {&lt;br /&gt;           printf("%d : %s\n", i, e[i]);&lt;br /&gt;        }&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-6192679239073757962?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/6192679239073757962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/12/review-quiz-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6192679239073757962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6192679239073757962'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/12/review-quiz-3.html' title='review quiz 3'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-3660861698925508848</id><published>2009-12-01T20:22:00.000-08:00</published><updated>2009-12-01T20:25:51.817-08:00</updated><title type='text'>write copy file template</title><content type='html'>&lt;pre&gt;&lt;br /&gt;=========================================&lt;br /&gt;TEMPLATE CLASS&lt;br /&gt;=========================================&lt;br /&gt;&lt;br /&gt;template&lt;class Type&gt;&lt;br /&gt;class CopyFormattedFile {&lt;br /&gt;    ifstream *fin;&lt;br /&gt;    ofstream *fout;&lt;br /&gt;public:&lt;br /&gt;    CopyFormattedFile(const char *fromFileName, const char *toFileName);  // constructor&lt;br /&gt;    ~CopyFormattedFile();  // destructor&lt;br /&gt;    int copy();  // copy file, return 0 when success&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;template&lt;class Type&gt;&lt;br /&gt;CopyFormattedFile&lt;TYpe&gt;::CopyFormattedFile(const char *fromFileName, const char *toFileName)&lt;br /&gt;{&lt;br /&gt;    fin = new ifstream(fromFileName, ios::in|ios::binary);&lt;br /&gt;    fout = new ofstream(toFileName, ios::out|ios::binary);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template&lt;class Type&gt;&lt;br /&gt;CopyFormattedFile&lt;TYpe&gt;::~CopyFormattedFile()&lt;br /&gt;{&lt;br /&gt;    delete fin;&lt;br /&gt;    delete fout;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template&lt;class Type&gt;&lt;br /&gt;int CopyFormattedFile&lt;TYpe&gt;::copy()&lt;br /&gt;{&lt;br /&gt;    Type rec;&lt;br /&gt;    &lt;br /&gt;    if(!fin-&gt;is_open() || !fout-&gt;is_open()) {&lt;br /&gt;        return -1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    while(!fin-&gt;fail() &amp;&amp; !fout-&gt;fail()) {&lt;br /&gt;        fin-&gt;read((char *)&amp;rec, sizeof(Type));&lt;br /&gt;&lt;br /&gt;        if(fin-&gt;gcout() == sizeof(Type)) {    // gcount() function return the last read bytes&lt;br /&gt;            fout-&gt;write((char *)&amp;rec, sizeof(Type));&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            return -1;    // file format error&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return fin-&gt;feof() ? 0 : -1;   // return 0 only when having copied all content    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;================================&lt;br /&gt;TEMPLATE FUNCTION:&lt;br /&gt;================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;template&lt;class Type&gt;&lt;br /&gt;int copy(const char *fromFileName, const char *toFileName)&lt;br /&gt;{&lt;br /&gt;    ifstream *fin = new ifstream(fromFileName, ios::in|ios::binary);&lt;br /&gt;    ofstream *fout = new ofstream(toFileName, ios::out|ios::binary);&lt;br /&gt;    Type rec;&lt;br /&gt;    &lt;br /&gt;    if(!fin-&gt;is_open() || !fout-&gt;is_open()) {&lt;br /&gt;        return -1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    while(!fin-&gt;fail() &amp;&amp; !fout-&gt;fail()) {&lt;br /&gt;        fin-&gt;read((char *)&amp;rec, sizeof(Type));&lt;br /&gt;&lt;br /&gt;        if(fin-&gt;gcout() == sizeof(Type)) {    // gcount() function return the last read bytes&lt;br /&gt;            fout-&gt;write((char *)&amp;rec, sizeof(Type));&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            return -1;    // file format error&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    int ret = fin-&gt;feof() ? 0 : -1;   // return 0 only when having copied all content&lt;br /&gt;&lt;br /&gt;    delete fin;&lt;br /&gt;    delete fout;&lt;br /&gt;&lt;br /&gt;    return ret;    &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-3660861698925508848?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/3660861698925508848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/12/write-copy-file-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/3660861698925508848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/3660861698925508848'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/12/write-copy-file-template.html' title='write copy file template'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-1312340353594873590</id><published>2009-11-28T18:51:00.000-08:00</published><updated>2009-11-28T19:53:09.107-08:00</updated><title type='text'>group work conflict</title><content type='html'>1. As a group work, it was hard to balance work load for everyone. Some of the group members complained they did not have enough work to do. &lt;br /&gt;&lt;br /&gt;2. Some of the group members took too many courses and they didn't have time to work for this project every day. But for a project, we needed time to merge work and fix bugs.&lt;br /&gt;&lt;br /&gt;3. Some people liked to finish work as soon as possible and others did not take it as a high priority. &lt;br /&gt;&lt;br /&gt;4. After we merged our works together and started testing, we found many bugs. First we notified the class owner to fix them. Later we found it is inefficient to wait for their fixes. Therefore, we decided anybody could change the code even it was written by others. However, new problem raised: person A changed person B's code without completely understanding, and later person B changed them back. There were lots of repeat work and conflicts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-1312340353594873590?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/1312340353594873590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/group-work-conflict.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1312340353594873590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1312340353594873590'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/group-work-conflict.html' title='group work conflict'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-6368404773620361283</id><published>2009-11-28T18:48:00.000-08:00</published><updated>2009-11-28T18:51:12.819-08:00</updated><title type='text'>study notes for fstream (2)</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &lt;iostream&gt;&lt;br /&gt;#include &lt;fstream&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int copy (const char* A, const char* B){&lt;br /&gt; ifstream fin (A, ios::in | ios::binary);&lt;br /&gt; ofstream fout (B, ios::out | ios:: binary);&lt;br /&gt; if (!fin.is_open() || !fout.is_open()){&lt;br /&gt;  return -1;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; char buf [512];&lt;br /&gt; while (!fin.eof() &amp;&amp; !fin.fail() &amp;&amp; !fout.fail()){&lt;br /&gt;  fin.read(buf, 512);&lt;br /&gt;  int n = fin.gcount();&lt;br /&gt;  if ( n &gt; 0 ){&lt;br /&gt;   fout.write(buf, n);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return fin.eof() ? 0 : -1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main(){&lt;br /&gt;&lt;br /&gt; int ret = copy ("E:\\sxz\\1.docx" , "E:\\sxz\\B.docx");&lt;br /&gt; cout &lt;&lt; "ret=" &lt;&lt; ret &lt;&lt; endl;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-6368404773620361283?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/6368404773620361283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-fstream-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6368404773620361283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6368404773620361283'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-fstream-2.html' title='study notes for fstream (2)'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-944744808096415820</id><published>2009-11-22T09:53:00.000-08:00</published><updated>2009-11-22T10:17:26.461-08:00</updated><title type='text'>write template for linkedlist</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#ifndef __DLL_H__&lt;br /&gt;#define __DLL_H__&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;class DLinkedList;&lt;br /&gt;template &lt; class Type &gt;&lt;br /&gt;class DNode{&lt;br /&gt;  Type data;&lt;br /&gt;  DNode &lt; Type &gt;* next;&lt;br /&gt;  DNode &lt; Type &gt;* prev;&lt;br /&gt;  DNode(Type data, DNode &lt; Type &gt; * prev = (DNode &lt; Type &gt; *)0, DNode &lt; Type &gt; * next = (DNode &lt; Type &gt; *)0);&lt;br /&gt;  friend class DLinkedList &lt; Type &gt;;&lt;br /&gt;};&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;class DLinkedList{&lt;br /&gt;  DNode &lt; T &gt;* head;&lt;br /&gt;  DNode &lt; T &gt;* cur;&lt;br /&gt;  DNode &lt; T &gt;* tail;&lt;br /&gt;public:&lt;br /&gt;  DLinkedList(void);  &lt;br /&gt;  ~DLinkedList(void);&lt;br /&gt;  void Add(T data);&lt;br /&gt;  bool IsEmpty(void);&lt;br /&gt;  T Remove(void);&lt;br /&gt;  bool GoNext(void);&lt;br /&gt;  bool GoPrev(void);&lt;br /&gt;  bool GoHead(void);&lt;br /&gt;  bool GoTail(void);&lt;br /&gt;  T Visit(void);&lt;br /&gt;  T&amp; operator[](T index);&lt;br /&gt;};&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;#include "LL.h"&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;DNode &lt; T &gt; ::DNode(T data, DNode &lt; T &gt; * prev, DNode &lt; T &gt; * next){&lt;br /&gt;  this-&gt;data = data;&lt;br /&gt;  this-&gt;prev = prev;&lt;br /&gt;  this-&gt;next = next;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;DLinkedList &lt; T &gt; ::DLinkedList(void){&lt;br /&gt;  head = tail = cur = (DNode &lt;  T &gt; *)0;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;DLinkedList &lt; T &gt; ::~DLinkedList(void){&lt;br /&gt;  while(!IsEmpty()) Remove();&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;void DLinkedList &lt; T &gt; ::Add(T data){&lt;br /&gt;  DNode &lt; T &gt; * temp = new DNode &lt; T &gt; (data, tail);&lt;br /&gt;  if(tail){&lt;br /&gt;    tail-&gt;next = temp;&lt;br /&gt;    tail = temp;&lt;br /&gt;  }&lt;br /&gt;  else{&lt;br /&gt;    head = tail = cur = temp;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;bool DLinkedList &lt; T &gt; ::IsEmpty(void){&lt;br /&gt;  return !cur;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;int DLinkedList &lt; T &gt; ::Remove(void){&lt;br /&gt;  T data = 0;&lt;br /&gt;  return data;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;bool DLinkedList &lt; T &gt; ::GoNext(void){&lt;br /&gt;  bool res = false;&lt;br /&gt;  if(cur != tail){&lt;br /&gt;    cur = cur-&gt;next;&lt;br /&gt;    res = true;&lt;br /&gt;  }&lt;br /&gt;  return res;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;bool DLinkedList &lt; T &gt; ::GoPrev(void){&lt;br /&gt;  bool res = false;&lt;br /&gt;  if(cur != head){&lt;br /&gt;    cur = cur-&gt;prev;&lt;br /&gt;    res = true;&lt;br /&gt;  }&lt;br /&gt;  return res;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;bool DLinkedList &lt; T &gt; ::GoHead(void){&lt;br /&gt;  bool res = false;&lt;br /&gt;  if(cur){&lt;br /&gt;    cur = head;&lt;br /&gt;    res = true;&lt;br /&gt;  }&lt;br /&gt;  return res;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;bool DLinkedList &lt; T &gt; ::GoTail(void){&lt;br /&gt;  bool res = false;&lt;br /&gt;  if(cur){&lt;br /&gt;    cur = tail;&lt;br /&gt;    res = true;&lt;br /&gt;  }&lt;br /&gt;  return res;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;T DLinkedList &lt; T &gt; ::Visit(void){&lt;br /&gt;  return cur-&gt;data;&lt;br /&gt;}&lt;br /&gt;template &lt; class T &gt;&lt;br /&gt;T&amp; DLinkedList &lt; T &gt; ::operator[](T index){&lt;br /&gt;  Node &lt; T &gt; * temp = head;&lt;br /&gt;  if (cur == head){&lt;br /&gt;    GoNext();&lt;br /&gt;  } &lt;br /&gt;  head = head -&gt; next;&lt;br /&gt;  head -&gt; prev = (Node &lt; T &gt; *) 0;&lt;br /&gt;  T d = temp -&gt; data;&lt;br /&gt;  delete temp;&lt;br /&gt;  return d;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-944744808096415820?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/944744808096415820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/write-template-for-linkedlist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/944744808096415820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/944744808096415820'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/write-template-for-linkedlist.html' title='write template for linkedlist'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-2765368289633546583</id><published>2009-11-21T13:05:00.000-08:00</published><updated>2009-11-21T13:12:21.646-08:00</updated><title type='text'>study notes for fstream</title><content type='html'>print a file backward&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int main(){&lt;br /&gt;  Student S;&lt;br /&gt;  fin.seekg(0); //back to the first&lt;br /&gt;  int i=1;&lt;br /&gt;  while(!fin.fail()){&lt;br /&gt;    fin.seekg(sizeof(Student*(-1)), ios::end);&lt;br /&gt;    if(!fin.fail()){&lt;br /&gt;       fin.read((char*)&amp;S, sizeof(Student));&lt;br /&gt;       cout &lt;&lt; s &lt;&lt; endl;&lt;br /&gt;       i++;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-2765368289633546583?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/2765368289633546583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-fstream.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2765368289633546583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2765368289633546583'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-fstream.html' title='study notes for fstream'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-2267236446082051278</id><published>2009-11-19T20:17:00.000-08:00</published><updated>2009-11-19T20:21:42.767-08:00</updated><title type='text'>a bug in IO_Checklist</title><content type='html'>There was a bug in IO_Checklist.&lt;br /&gt;&lt;br /&gt;To fix it, you need to change "for(int i=0;i&lt;_len-1;i++)" to "for(int i=0;i&lt;_len;i++)".&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int IO_CheckList::edit(void){&lt;br /&gt;  int key;&lt;br /&gt;  bool done = false;&lt;br /&gt;  int x = 0;&lt;br /&gt;  int stat = 0;&lt;br /&gt;  while(!done){&lt;br /&gt;    stat = (int)_status[x];&lt;br /&gt;    key =io_flag(_format, IO_Field::getRow()+1+x, IO_Field::getCol()+1,&amp;amp;stat,_mode);&lt;br /&gt;    _status[x] = !!stat;&lt;br /&gt;    switch(key){&lt;br /&gt;      case DOWN_KEY:&lt;br /&gt;        if(x &lt; _len-1){&lt;br /&gt;          x++;&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;          done = true;&lt;br /&gt;        }&lt;br /&gt;        break;&lt;br /&gt;      case UP_KEY:&lt;br /&gt;        if(x &gt; 0){&lt;br /&gt;          x--;&lt;br /&gt;        }&lt;br /&gt;        else{&lt;br /&gt;          done = true;&lt;br /&gt;        }&lt;br /&gt;        break;&lt;br /&gt;      case ' ':&lt;br /&gt;&lt;br /&gt;        if(_mode == Radio){&lt;br /&gt;          for(int i=0;i&lt;_len;i++){&lt;br /&gt;            if(i!=x &amp;amp;&amp;amp; _status[i]){&lt;br /&gt;              _status[i] = false;&lt;br /&gt;              io_displayflag(_format, IO_Field::getRow()+1+i,&lt;br /&gt;                IO_Field::getCol()+1,0);&lt;br /&gt;            }&lt;br /&gt;          }&lt;br /&gt;        }&lt;br /&gt;        break;&lt;br /&gt;      default:&lt;br /&gt;        done = true;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return key;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-2267236446082051278?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/2267236446082051278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/bug-in-iochecklist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2267236446082051278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2267236446082051278'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/bug-in-iochecklist.html' title='a bug in IO_Checklist'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-6502326586248511899</id><published>2009-11-15T20:19:00.000-08:00</published><updated>2009-11-15T20:29:53.885-08:00</updated><title type='text'>study notes for operator =; +; +=</title><content type='html'>I reviewed my notes and added operator +&lt;br /&gt;&lt;br /&gt;DString&amp;amp;  DString :: operator = (const Dstring&amp;amp; s){&lt;br /&gt;&lt;br /&gt;delete[ ] this -&gt;data;&lt;br /&gt;this -&gt; data = (char*)0;&lt;br /&gt;this -&gt; size = s.size;&lt;br /&gt;this -&gt; data = new char[this-&gt;data+1];&lt;br /&gt;strcpy(this-&gt;data, s.data);&lt;br /&gt;teturn *this;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;DString&amp;amp; DString :: operator += (const DString&amp;amp; s){&lt;br /&gt;&lt;br /&gt;char* temp = new char[this-&gt;size+s.size+1];&lt;br /&gt;strcpy(temp, this-&gt;data);&lt;br /&gt;strcat(temp, s.data);&lt;br /&gt;this-&gt;size += s.size;&lt;br /&gt;delete [ ] this -&gt; data;&lt;br /&gt;this -&gt;data = temp;&lt;br /&gt;return * this;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;DString&amp;amp; DString :: operator + (const DString&amp;amp; s){&lt;br /&gt;&lt;br /&gt;char* temp = new char[this-&gt;size+s.size+1];&lt;br /&gt;strcpy(temp, this-&gt;data);&lt;br /&gt;strcat(temp, s.data);&lt;br /&gt;DString ds(temp);&lt;br /&gt;delete[ ] temp;&lt;br /&gt;return ds;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-6502326586248511899?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/6502326586248511899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-operator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6502326586248511899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/6502326586248511899'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/11/study-notes-for-operator.html' title='study notes for operator =; +; +='/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-672149557728524147</id><published>2009-10-29T19:12:00.000-07:00</published><updated>2009-10-29T19:14:34.728-07:00</updated><title type='text'>online meeting</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Overall, the online meeting is very good. It’s convenient, flexible and productive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-672149557728524147?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/672149557728524147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/online-meeting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/672149557728524147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/672149557728524147'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/online-meeting.html' title='online meeting'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-4168792809279581448</id><published>2009-10-29T12:24:00.000-07:00</published><updated>2009-10-29T19:16:14.322-07:00</updated><title type='text'>MEETING MINUTES OF TEAM BINGO (TEAM#3)</title><content type='html'>The second meeting of our team was held at #Seneca through IRC&lt;br /&gt;&lt;br /&gt;Date: Oct. 27, 2009&lt;br /&gt;Time: 9 to 10 pm&lt;br /&gt;Present: Fardad, Keyan, [Frank]Dong, ChunXia, Feihong, David, [Lucy]Xiaozhe&lt;br /&gt;&lt;br /&gt;Prof. Fardad was a chair and organized the meeting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What we have done during the meeting?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  1. Frank was chosen to be the organizer for our group, to be able to initiate the project source.&lt;br /&gt;He added his ciol.h and ciol.c to the PRJ directory.&lt;br /&gt;&lt;br /&gt;  2. A general headerfile io_def.h was created and added to the PRJ dir.&lt;br /&gt;&lt;br /&gt;  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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What we need to do next?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  1. We can modify our own main and start developing.&lt;br /&gt;&lt;br /&gt;        David ___________IO_edit&lt;br /&gt;        Keyan __________ IO_checklist&lt;br /&gt;        [Frank]Dong _____ IO_label&lt;br /&gt;        Feihong _________ IO_menu&lt;br /&gt;        Chunxia_________ IO_ frame&lt;br /&gt;        An______________ IO_Radio&lt;br /&gt;        Zhaolong_________IO_Form&lt;br /&gt;        [Lucy]Xiaozhe_____ IO_field&lt;br /&gt;&lt;br /&gt;  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.&lt;br /&gt;&lt;br /&gt;  3. Each of us MUST add a txt file with Seneca id to the docs directory.&lt;br /&gt;&lt;br /&gt;  4. Whenever we are committing something make sure at top of the file we add what we have done.&lt;br /&gt;&lt;br /&gt;  5. Fardad said: “NEVER COMMIT A CODE THAT IS NOT BUILDABLE ”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-4168792809279581448?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/4168792809279581448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/meeting-minutes-of-team-bingo-team3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4168792809279581448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4168792809279581448'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/meeting-minutes-of-team-bingo-team3.html' title='MEETING MINUTES OF TEAM BINGO (TEAM#3)'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-4391887855009869390</id><published>2009-10-24T07:18:00.000-07:00</published><updated>2009-10-24T07:26:12.810-07:00</updated><title type='text'>first meeting minutes</title><content type='html'>&lt;span style="font-weight: bold;"&gt;MEETING MINUTES OF TEAM#3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first meeting of our team was held at #OOP344Team#3 chart room through IRC&lt;br /&gt;&lt;br /&gt;Date:        Oct. 23, 2009&lt;br /&gt;Time:       9 to 10 pm&lt;br /&gt;Present:  Keyan, [Frank]Dong, ChunXia, Feihong, David, [Lucy]Xiaozhe&lt;br /&gt;&lt;br /&gt;Actions:&lt;br /&gt;       1. Every member will take a ownership of different classes in assignment 2&lt;br /&gt;&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;David&lt;/span&gt; ____________IO_edit&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;Keyan&lt;/span&gt;  ___________ IO_checklist&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;[Frank]Dong&lt;/span&gt; ______  IO_label&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;Feihong&lt;/span&gt; __________ IO_menu&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;Chunxia&lt;/span&gt;__________  IO_ frame&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;An&lt;/span&gt;______________ IO_Radio&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;Zhaolong&lt;/span&gt;__________IO_Form&lt;br /&gt;               &lt;span style="font-weight: bold;"&gt;[Lucy]Xiaozhe&lt;/span&gt;______ IO_field&lt;br /&gt;&lt;br /&gt;       There are two classes left IO_MenuBar and IO_TextEdit.&lt;span style="font-weight: bold;"&gt; Frank,&lt;/span&gt; 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++.&lt;br /&gt;&lt;br /&gt;       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.&lt;br /&gt;&lt;br /&gt;       3. Team name will be changed to BINGO. &lt;span style="font-weight: bold;"&gt;Feihong&lt;/span&gt; will be responsible for updating the group web pages accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-4391887855009869390?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/4391887855009869390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/first-meeting-minutes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4391887855009869390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4391887855009869390'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/first-meeting-minutes.html' title='first meeting minutes'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-1460247957724419742</id><published>2009-10-22T21:06:00.001-07:00</published><updated>2009-10-22T21:09:11.042-07:00</updated><title type='text'>Challenge question: DsStack copy constructor</title><content type='html'>&lt;pre&gt;&lt;br /&gt;Stack::Stack(const Stack&amp; stack) {&lt;br /&gt;   SNode *p = stack.top;&lt;br /&gt;   top = (SNode*)0;&lt;br /&gt;&lt;br /&gt;   // get a reversed stack&lt;br /&gt;   while(p) {&lt;br /&gt;    Push(p-&gt;data);&lt;br /&gt;    p = p-&gt;next;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // reverse it again&lt;br /&gt;   p = top;&lt;br /&gt;   top = (SNode*)0;&lt;br /&gt;   SNode* del;&lt;br /&gt;   &lt;br /&gt;   while(p) {&lt;br /&gt;    Push(p-&gt;data);&lt;br /&gt;    del = p;&lt;br /&gt;    p = p-&gt;next;&lt;br /&gt;    delete del;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-1460247957724419742?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/1460247957724419742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/challenge-question-dsstack-copy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1460247957724419742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1460247957724419742'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/challenge-question-dsstack-copy.html' title='Challenge question: DsStack copy constructor'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-9222878736341529461</id><published>2009-10-16T12:06:00.000-07:00</published><updated>2009-10-16T12:24:02.882-07:00</updated><title type='text'>study notes</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;This is my displayflag function final copy,&lt;br /&gt;&lt;br /&gt;void io_displayflag(const char *format, int row, int col, int status) {&lt;br /&gt;&lt;br /&gt;      char format2[4];&lt;br /&gt;&lt;br /&gt;      strcpy (format2, format);&lt;br /&gt;&lt;br /&gt;      if (status == 0){&lt;br /&gt;&lt;br /&gt;            //display unchecked&lt;br /&gt;&lt;br /&gt;            format2[1] = ' ';&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      io_display(format2, row, col, 4);&lt;br /&gt;&lt;br /&gt;      io_move(row, col+1);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the display function written by Fardad,&lt;br /&gt;&lt;br /&gt;void io_display(const char *str, int row, int col, int len){&lt;br /&gt;&lt;br /&gt;  io_move(row, col);&lt;br /&gt;&lt;br /&gt;  if(len &lt;= 0){&lt;br /&gt;&lt;br /&gt;    io_putstr(str);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  else{&lt;br /&gt;&lt;br /&gt;    int i;&lt;br /&gt;&lt;br /&gt;    for(i=0;i &lt; len &amp;amp;&amp;amp; str[i];i++){&lt;br /&gt;&lt;br /&gt;      io_putch(str[i]);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    for(;i &lt; len;i++){&lt;br /&gt;&lt;br /&gt;      io_putch(' ');&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-9222878736341529461?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/9222878736341529461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/study-notes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/9222878736341529461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/9222878736341529461'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/study-notes.html' title='study notes'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-1378203833790605750</id><published>2009-10-11T19:07:00.000-07:00</published><updated>2009-10-11T19:14:07.431-07:00</updated><title type='text'>study pointer and array</title><content type='html'>The variable 'ar' is being used without being initialized&lt;br /&gt;&lt;br /&gt;int _tmain(int argc, _TCHAR* argv[])&lt;br /&gt;{&lt;br /&gt;    char* ar;&lt;br /&gt;&lt;br /&gt;    *ar = 'a';&lt;br /&gt;    printf ("%c\n", *ar);&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;fix 1,&lt;br /&gt;&lt;br /&gt;int _tmain(int argc, _TCHAR* argv[])&lt;br /&gt;{&lt;br /&gt;    char* ar;&lt;br /&gt;    char p;&lt;br /&gt;&lt;br /&gt;    ar = &amp;p;&lt;br /&gt;&lt;br /&gt;    *ar = 'a';&lt;br /&gt;    printf ("%c\n", *ar);&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;a&lt;br /&gt;&lt;br /&gt;fix 2,&lt;br /&gt;&lt;br /&gt;int _tmain(int argc, _TCHAR* argv[])&lt;br /&gt;{&lt;br /&gt;    char* ar;&lt;br /&gt;    ar = new char [8];&lt;br /&gt;&lt;br /&gt;    *ar = 'a';&lt;br /&gt;    printf ("%c\n", *ar);&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;a&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-1378203833790605750?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/1378203833790605750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/study-pointer-and-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1378203833790605750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/1378203833790605750'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/study-pointer-and-array.html' title='study pointer and array'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-5754234823619260959</id><published>2009-10-04T20:26:00.000-07:00</published><updated>2009-10-04T20:38:07.153-07:00</updated><title type='text'>A Good Book to Read - The C++ Standard Library: A Tutorial and Reference</title><content type='html'>There is a C++ book that you can find in Seneca College ebook library.&lt;br /&gt;&lt;br /&gt;http://lcweb.senecac.on.ca:2063/0201379260&lt;br /&gt; &lt;br /&gt;The C++ Standard Library: A Tutorial and Reference&lt;br /&gt;by Nicolai M. Josuttis&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-5754234823619260959?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/5754234823619260959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/10/good-book-to-read-c-standard-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/5754234823619260959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/5754234823619260959'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/10/good-book-to-read-c-standard-library.html' title='A Good Book to Read - The C++ Standard Library: A Tutorial and Reference'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-2733946614716181461</id><published>2009-09-27T17:04:00.000-07:00</published><updated>2009-09-27T17:10:13.289-07:00</updated><title type='text'>Modify io_display function</title><content type='html'>Challenge: Modify io_display function to the shortest code possible.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void io_display(const char *str, int row, int col, int len){&lt;br /&gt;  io_move(row, col);&lt;br /&gt;  (len &lt;= 0) ? io_putstr(str) : for(int i=0; i &lt; len; i++) &lt;br /&gt;io_putch(i &lt; strlen(str) ? str[i] : ' ');&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-2733946614716181461?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/2733946614716181461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/09/modify-iodisplay-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2733946614716181461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/2733946614716181461'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/09/modify-iodisplay-function.html' title='Modify io_display function'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-4382301083170590234</id><published>2009-09-17T18:06:00.000-07:00</published><updated>2009-09-17T18:15:26.404-07:00</updated><title type='text'>new solution of GetInt(char *strint, int val)</title><content type='html'>There are some improvements in Cong Wang's solution of the first challenge.&lt;br /&gt;&lt;br /&gt;1. it does not handle negative integer&lt;br /&gt;2. it does not handle integer zero&lt;br /&gt;&lt;br /&gt;Cong Wang's solution&lt;br /&gt;==============================================&lt;br /&gt;void GetInt(char *strint, int val){&lt;br /&gt;&lt;br /&gt;char rev[100];&lt;br /&gt;&lt;br /&gt;int length=0;&lt;br /&gt;&lt;br /&gt;while (val &gt; 0)&lt;br /&gt;{&lt;br /&gt;int a = val % 10;&lt;br /&gt;rev[length++] = a | '0';&lt;br /&gt;val /= 10;&lt;br /&gt;}&lt;br /&gt;rev[length]='\0';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;length--;&lt;br /&gt;int rev = 0;&lt;br /&gt;while (length &gt;= 0)&lt;br /&gt;{&lt;br /&gt;strint[rev++] = rev[length--];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;strint[rev] = '\0';&lt;br /&gt;}&lt;br /&gt;==============================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my new solution&lt;br /&gt;==============================================&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void GetInt(char *strint, int val) {&lt;br /&gt;   int len = 0;&lt;br /&gt;   bool negative = false;&lt;br /&gt;&lt;br /&gt;   if(val &lt; 0) { // if negative           &lt;br /&gt;      val = -val;        &lt;br /&gt;      negative = true;    &lt;br /&gt;   } else if (val == 0) {         // if 0&lt;br /&gt;      strint[len++] = '0';    &lt;br /&gt;   }     &lt;br /&gt;&lt;br /&gt;   while (val &gt; 0) {&lt;br /&gt;      strint[len++] = (val % 10) + '0';&lt;br /&gt;      val /= 10;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   if(negative) {&lt;br /&gt;      strint[len++] = '-';&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // reverse this string&lt;br /&gt;   for(int i=0; i &lt; len /2; i++) {&lt;br /&gt;      char a = strint[i];&lt;br /&gt;      strint[i] = strint[len-1-i];&lt;br /&gt;      strint[len-1-i] = a;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   strint[len] = '\0';&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-4382301083170590234?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/4382301083170590234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/09/new-solution-of-getintchar-strint-int.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4382301083170590234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/4382301083170590234'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/09/new-solution-of-getintchar-strint-int.html' title='new solution of GetInt(char *strint, int val)'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8593282700392307677.post-7130143062962740419</id><published>2009-09-16T22:12:00.000-07:00</published><updated>2009-09-16T22:13:15.051-07:00</updated><title type='text'>This is my blog for OOP344</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8593282700392307677-7130143062962740419?l=xshi18.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xshi18.blogspot.com/feeds/7130143062962740419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xshi18.blogspot.com/2009/09/this-is-my-blog-for-oop344.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/7130143062962740419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8593282700392307677/posts/default/7130143062962740419'/><link rel='alternate' type='text/html' href='http://xshi18.blogspot.com/2009/09/this-is-my-blog-for-oop344.html' title='This is my blog for OOP344'/><author><name>Xiaoshi</name><uri>http://www.blogger.com/profile/13456426526150700900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
