void CTest::OnShowWindow(BOOL bShow, UINT nStatus) { CDialog::OnShowWindow(bShow, nStatus); // TODO: 在此处添加消息处理程序代码 if ( m_wl ) { m_level = m_wl->getLevel(); m_levelSize = new int[m_level+1]; m_wordMap = new bool*[m_level+1]; for( int i=0;i<=m_level;i++) { int num = m_wl->getLevelNumber(i); m_levelSize[i] = num; if( num>0 ) { m_wordMap[i] = new bool[num]; memset(m_wordMap[i],0,num); } else m_wordMap[i] = NULL; } } m_currWord = generateWord(); GetDlgItem(IDC_WORD3)->ShowWindow(SW_HIDE); GetDlgItem(IDC_MEAN)->SetWindowText(_T("")); GetDlgItem(IDC_WORD)->SetWindowText(m_currWord?m_currWord->word:_T("No Test Word!")); }
int main (){ int size = 5; void* tab = malloc(TABSIZE*MAX_RAND*sizeof(char)); char** index = (char**)tab; int i; int cpt = 0; /* for(i = 0; i < TABSIZE; i++ ){ int size = 5; char* word = generateWord(size); *index = word; printf("%d- %d, %s - %s\n", i,cpt, word, *index); printf("%s\n",((char**)tab)[cpt]); cpt += size; index += size; } */ for(i = 0; i < TABSIZE; i++ ){ int idx; char* word = generateWord(size); for(idx = 0 ; idx < size; idx++){ ((char*)tab)[cpt] = word[idx]; cpt++; } //printf("%s\n",((char**)tab)[cpt-size]); } //if(1){return 1;} /* for(i = 0; i < cpt; i++ ){ char car = ((char*)tab)[i]; printf("%c\n",car); } */ //if(1){return 1;} printf("%s\n",(char*)tab); int idx = 0; index = (char**)tab;; for(i = 0; i < TABSIZE; i++ ){ char* string = &((char*)tab)[idx]; printf("%d: %s(%d)\n",i,string,size); idx += size; } int comparString(void* a, void* b){ return strcmp((char*)a, (char*)b); } quicksort(tab, cpt, size,&comparString); return 1; }
void CTest::OnBnClickedWrong() { // TODO: 在此添加控件通知处理程序代码 m_currWord->rank++; m_wl->setFlag(); m_currWord = generateWord(); GetDlgItem(IDC_WORD3)->ShowWindow(SW_HIDE); GetDlgItem(IDC_MEAN)->SetWindowText(_T("")); GetDlgItem(IDC_WORD)->SetWindowText(m_currWord?m_currWord->word:_T("All Word Tested!")); }