个性化推荐系统代码_第1页
个性化推荐系统代码_第2页
个性化推荐系统代码_第3页
个性化推荐系统代码_第4页
个性化推荐系统代码_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Newstj.h#include<string>usingnamespacestd;classnewsdypublic:stringnewsid;inttimes;newsdy*next;newsdy();classnewstjpublic:intsum;stringnewsid;newstj*next;newsdy*NDYnext;newstj();Newstj.cpp#include"StdAfx.h"#include"newstj.h"newsdy:newsdy()newsid=""times=0;next=NULL

2、;newstj:newstj()newsid=""next=NULL;sum=0;NDYnext=newnewsdy;Recommend.h/Recommend.h:PROJECT_NAME应用程序的主头文件/#pragmaonce#ifndef_AFXWIN_H_#error"在包含此文件之前包含"stdafx.h"以生成PCH文件"#endif#include"resource.h"/主符号/CRecommendApp:/有关此类的实现,请参阅Recommend.cpp/classCRecommendApp:p

3、ublicCWinApppublic:CRecommendApp。;/重写public:virtualBOOLInitInstance();/实现?DECLARE_MESSAGE_MAP();externCRecommendApptheApp;Recommend.cpp/Recommend.cpp:定?§义?应?|用?程一?序一?的?类。一。行曲a。/#include"stdafx.h"#include"Recommend.h"#include"RecommendDlg.h"#ifdef_DEBUG#definenewDEB

4、UG_NEW#endif/CRecommendAppBEGIN_MESSAGE_MAP(CRecommendApp,CWinApp)ON_COMMAND(ID_HELP,&CWinApp:OnHelp)END_MESSAGE_MAP()/CRecommendApp构造CRecommendApp:CRecommendApp()/支持重新启动管理器m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_RESTART;/TODO:在此处添加构造代码/将?所有?D重?要?a的?初?始o?化?澈。?置?在一2InitInstance

5、中D/唯?§一?的?一?个?CRecommendAppt?象一?CRecommendApptheApp;/Recommend.cpp:定?§义?应?|用?程一?序一?的?类。一。行曲a。?6/#include"stdafx.h"#include"Recommend.h"#include"RecommendDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#endif/CRecommendAppBEGIN_MESSAGE_MAP(CRecommendApp,CWinApp)ON_COMMAND

6、(ID_HELP,&CWinApp:OnHelp)END_MESSAGE_MAP()/CRecommendApp构1造一?CRecommendApp:CRecommendApp()/支??持?重?新?启?动?塞一1理。1器?m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_RESTART;/TODO:在一2此??处?|添?一a力口一?构1造一?代?一2码?,e?/将?所有?D重?要?a的?初?始o?化?澈。?置?在一2InitInstance中D/唯?§一?的?一?个?CRecommendAppt?象一?CR

7、ecommendApptheApp;/CRecommendApp初?始o?化?¥BOOLCRecommendApp:InitInstance()/如,?果?一?个?运?行口在一2WindowsXP上|?的?应?|用?程一?序一?清?单出指?定?§要?a/使o1用?ComCtl32.dll版?本d?6或一?更一1高?版?本d?来。?启?用?可一|视。一?化?步。?式0?,e?/则一?需,一要?aInitCommonControlsEx()。?6否。?则,?,6?将?无T法。?§创??建?§窗???口-2。?eINITCOMMONCONTROLSEXInit

8、Ctrls;InitCtrls.dwSize=sizeof(InitCtrls);/将?它一1设|.置?为a包?一1括。?§所.有?衷?2在一2应?|用?程,,?序?中限o1用?的?/公?共2寸?件t类。一。?eInitCtrls.dwICC=ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinApp:InitInstance();AfxEnableControlContainer();/创??建?§shell管一1理。一a器?,6?以?防。一。对?话??框一?包?一1含?/任一?何?shell枳ifo?视。

9、一?图a?才?件t或一?shell歹U史表d一a视。一?图a?寸?件t。?CShellManager*pShellManager=newCShellManager;/标d.o准&?初?始0?化?¥/如一?果?未?使o1用?这a些?功|能"1并?6希?6望?减?小?/最&?终?可一|执?彳?件1的?大?一?小?,6?则?应?|移?除丫下?列©/不?需.一要?a的?特??定?§初?始o?化?响Oy程.?/更-1改?用?于?-2存??储??6设一置?的?注&?6册.,彼era项?/TODO:应?|适。一。当?d修丁改?该?字&?

10、符。?串?,e?/例Oy如一?修T改?为a公?司?或一?组a一|织?监?SetRegistryKey(_T("应?|用?程一?序一?向一?导?生|一2成.|的?本d?地?应?|用?程一?序?");CRecommendDlgdlg;m_pMainWnd=&dlg;INT_PTRnResponse=dlg.DoModal();if(nResponse=IDOK)/TODO:在一2此??放。?置?处?|理。一a何?时o?d用?/“?确一?。定?§”?d来。?关?闭d?又t?话?而一?的?代?一2码?elseif(nResponse=IDCANCEL)/TODO:

11、在一2此??放。?置?处?|理。一a何?时o?d用?/“?取一?消?“?&来。?球?闭d?又t?话??框一?的?代?一2码?/删|?除y上|?面?创?建?§的?shell管一1理。一2器?。?6if(pShellManager!=NULL)deletepShellManager;/由?一|于?一?t?话?而一?已?关?闭d?,6?所以?将?返。|回?FALSE以?便&?退a?出?应?|用?程一?序,?,e?/而?不?是0?启?动?如Z?|用?程?序一?的?消?息?6泵a?o?ereturnFALSE;RecommendDlg.h/RecommendDlg.h:头a?。

12、文?件1/#pragmaonce#include"afxwin.h"#include"afxcmn.h"#include<iostream>#include<fstream>#include<sstream>#include<string>#include<stdio.h>#include<afx.h>#include<time.h>#include<sys/timeb.h>#include<ctime>#include<math.h>

13、#include"user.h"#include"newstj.h"#include<Windows.h>usingnamespacestd;/CRecommendDlg又t?话?框?classCRecommendDlg:publicCDialogEx/构1造?public:CRecommendDlg(CWnd*pParent=NULL);/标(Vo准&?构1造一?函?漱oy/Xt?话?W匡一?数oy据丫enumIDD=IDD_RECOMMEND_DIALOG;protected:virtualvoidDoDataExchange(C

14、DataExchange*pDX);/DDX/DDV支?持?/实o|现?protected:HICONm_hIcon;/生|一2成一|的?消?息?6晚3射|?函?致oyvirtualBOOLOnInitDialog();afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);afx_msgvoidOnPaint();afx_msgHCURSOROnQueryDragIcon();DECLARE_MESSAGE_MAP()public:voidDisPlay(CStringstr);CStringfile_str;CEditm_Edit_Dis;CListCt

15、rlm_CListCtrl;intnum;CStringSTR;stringstr;newstj*TJtemp,*TJhead;newsdy*DYtemp,*DYhead;user*temp,*head;user*Ctemp,*Chead;news*ntemp,*nhead;afx_msgvoidOnBnClickedBtnList();afx_msgvoidOnBnClickedBtnSum();afx_msgvoidOnBnClickedBtnOut();afx_msgvoidOnBnClickedBtnOpen();afx_msgvoidOnBnClickedBtnC();afx_msg

16、voidOnBnClickedBtn();afx_msgvoidOnBnClickedBtnNt();afx_msgvoidOnBnClickedBtnChosen();afx_msgvoidOnBnClickedBtnSt();afx_msgvoidOnEnChangeEditDis();staticUINTThread(LPVOIDlpParam);staticUINTThread_T(LPVOIDlpParam);staticUINTThread_O(LPVOIDlpParam);staticUINTThread_C(LPVOIDlpParam);longlongtime;structt

17、imebt1;structtimebt2;CStringstrTime;CSliderCtrlm_CSliderCtrl;afx_msgvoidOnBnClickedBtnSure();RecommendDlg.cpp/RecommendDlg.cpp:实o|现?文?件t/#include"stdafx.h"#include"Recommend.h"#include"RecommendDlg.h"#include"afxdialogex.h"#ifdef_DEBUG#definenewDEBUG_NEW#endif

18、/用?于?-2应?|用?程,?序?“?球?于?一2”?d菜?单出项?的?CAboutDlg又t?话??框一?CWinThread*pThread;CWinThread*pThread_t;CWinThread*pThread_o;CWinThread*pThread_c;UINTCRecommendDlg:Thread(LPVOIDlpParam)接一?受o,,1的?死一。循-环?。所一在一2绑程.?CRecommendDlg*p=(CRecommendDlg*)lpParam;ifstreamfile(p->file_str);/读一队一?步?相一。关?数oy据Yp->DisPl

19、ay(CString("成一|功|才7?一?开astep_correlation,路?。径?:"+p->file_str);ftime(&p->t1);intjs=0;while(getline(file,p->str)stringstreamss(p->str);stringsub_str;inti=0;while(getline(ss,sub_str,'t')if(i=0)p->TJtemp=p->TJhead;for(;p->TJtemp=p->TJtemp->next)if(p->T

20、Jtemp->newsid="")break;elseif(p->TJtemp->newsid=sub_str)break;i=1;elsep->DYtemp=p->TJtemp->NDYnext;for(;p->DYtemp=p->DYtemp->next)if(p->DYtemp->newsid="")p->DYtemp->newsid=sub_str;p->DYtemp->times+;p->DYtemp->next=newnewsdy;break

21、;elseif(p->DYtemp->newsid=sub_str)p->DYtemp->times+;break;i=0;js+;ftime(&p->t2);file.close();p->STR.Format("%d",js);p->strTime.Format("%lldms",p->t2.time*1000-p->t1.time*1000);p->DisPlay(CString("读,儆一?完2一。成一|.共2读儆一?"+p->STR+'记?录?

22、,耗?时o?d"+p->strTime);return0;UINTCRecommendDlg:Thread_T(LPVOIDlpParam)/接一?受。一1的?死.。循-环?。所一在一2绑程.?(CRecommendDlg*p=(CRecommendDlg*)lpParam;ifstreamfileuser(p->file_str);/读叭一?用?户??最&?后?访。?问.。列叫eT.ap->DisPlay(CString("成"|功|J7?一?开auser_list,路?。径?:"+p->file_str);ftime(

23、&p->t1);intjs=0;while(getline(fileuser,p->str)(stringstreamss(p->str);stringsub_str;inti=0;while(getline(ss,sub_str,'t')(if(i=0)(p->temp->userid=sub_str;i=1;else(if(i=1)(p->temp->newsid=sub_str;p->temp->next=newuser;p->temp=p->temp->next;i=0;p->temp

24、->next=newuser;js+;ftime(&p->t2);fileuser.close();p->STR.Format("%d",js);p->strTime.Format("%lldms",p->t2.time*1000-p->t1.time*1000+p->litm-p->litm);p->DisPlay(CString("读,儆一?完2一。成一|.共2读儆一?"+p->STR+'记?录?,耗?时o?d"+p-&g

25、t;strTime);p->temp=p->head;p->TJtemp=p->TJhead;p->DisPlay(CString("开a始o?计?算?”);ftime(&p->t1);for(;p->temp=p->temp->next)if(p->temp->userid="")break;p->TJtemp=p->TJhead;for(;p->TJtemp=p->TJtemp->next)if(p->TJtemp->newsid=p->t

26、emp->newsid|p->TJtemp->newsid="")break;p->DYtemp=p->TJtemp->NDYnext;intsum=0,sum1=0;for(;p->DYtemp=p->DYtemp->next)if(p->DYtemp->newsid="")break;if(p->DYtemp->times>p->m_CSliderCtrl.GetPos()if(sum1<p->DYtemp->times)if(sum<p

27、->DYtemp->times|sum=p->DYtemp->times)sum1=sum;sum=p->DYtemp->times;p->temp->res1=p->temp->res;p->temp->res=p->DYtemp->newsid;elsesum1=p->DYtemp->times;p->temp->res1=p->DYtemp->newsid;p->temp->t=sum;p->temp->t1=sum1;ftime(&p-

28、>t2);p->strTime.Format("%llds",p->t2.time*1000-p->t1.time*1000+p->litm-p->litm);p->DisPlay(CString("计?算?完a,,o成一|,共2耗?时o?d"+p->strTime);return0;UINTCRecommendDlg:Thread_O(LPVOIDpParam)接,?受0-1的?死.。循-环?。所一在一2绑程.?CRecommendDIg*p=(CRecommendDlg*)lpP

29、aram;ofstreamfout("c:/out.csv");p->DisPlay(CString("正y在2输o?出?,路?。径?:c:out.csv”);p->temp=p->head;fout«"userid,newsid"«endl;for(;p->temp=p->temp->next)(if(p->temp->userid="")break;else(p->TJtemp=p->TJhead;for(;p->TJtemp=p-&g

30、t;TJtemp->next)if(p->TJtemp->newsid=p->temp->newsid)break;intk=atoi(p->temp->cs.c_str();intl=atoi(p->temp->cs_.c_str();if(k!=0&&l<4&&p->TJtemp->sum>10)(if(p->temp->res!="")fout«p->temp->userid««p->temp->

31、;res«endl;if(p->temp->res1!=""&&(100*abs(p->temp->t-p->temp->t1)/p->temp->t<10&&p->temp->res1!=p->temp->res)fout«p->temp->userid««p->temp->res1«endl;)fout.close();p->DisPlay(CString("输o?出?完a

32、-0成.|.");return0;)UINTCRecommendDlg:Thread_C(LPVOIDpParam)接.?受0一1的?死.。循-环?。所在,2线?程.?CRecommendDIg*p=(CRecommendDlg*)lpParam;ifstreamfileinput(p->file_str);/读一次?用?户??最&?后一?访。?问一o列史表d一ap->DisPlay(CString("成一|功|JT?"?开adata,路?。径?:"+p->file_str);ftime(&p->t1);intjs

33、=0;while(getline(fileinput,p->str)stringstreamss(p->str);stringsub_str;inti=0;while(getline(ss,sub_str,'t')if(i=0)if(p->Ctemp->userid="")p->Ctemp->userid=sub_str;p->Ctemp->next=newuser;p->ntemp=p->Ctemp->Nnext;i=1;elseif(p->Ctemp->userid!=sub_

34、str)p->Ctemp=p->Ctemp->next;p->Ctemp->userid=sub_str;p->Ctemp->next=newuser;p->ntemp=p->Ctemp->Nnext;i=1;elsei=1;elsep->ntemp->newsid=sub_str;p->ntemp->next=newnews;p->ntemp=p->ntemp->next;i=0;)js+;)ftime(&p->t2);fileinput.close();p->STR.F

35、ormat("%d",js);p->strTime.Format("%lldms",p->t2.time*1000-p->t1.time*1000+p->litm-p->litm);p->DisPlay(CString("读,儆一?完2一。成一|.共2读儆一?"+p->STR+'记?录?,耗?时o?d"+p->strTime);ofstreamfout("step_correlation.txt");p->Ctemp=p

36、->Chead;for(;p->Ctemp=p->Ctemp->next)if(p->Ctemp->userid="")break;p->ntemp=p->Ctemp->Nnext;for(;p->ntemp=p->ntemp->next)if(p->ntemp->next->newsid="")break;fout<<p->ntemp->next->newsid<<"t"<<p->nt

37、emp->newsid<<endl;)fout.close();p->DisPlay(CString("输o?出?完a一。成.|.");return0;)classCAboutDlg:publicCDialogExpublic:CAboutDlg();/Xt?话?W匡.”数oy据YenumIDD=IDD_ABOUTBOX;protected:virtualvoidDoDataExchange(CDataExchange*pDX);/DDX/DDV支?持?/实o|现?protected:DECLARE_MESSAGE_MAP();CAboutDlg:C

38、AboutDlg():CDialogEx(CAboutDlg:IDD)voidCAboutDlg:DoDataExchange(CDataExchange*pDX)CDialogEx:DoDataExchange(pDX);)BEGIN_MESSAGE_MAP(CAboutDlg,CDialogEx)END_MESSAGE_MAP()/CRecommendDlg又t?话?框一?CRecommendDlg:CRecommendDlg(CWnd*pParent/*=NULL*/):CDialogEx(CRecommendDlg:IDD,pParent)m_hIcon=AfxGetApp()->

39、;LoadIcon(IDR_MAINFRAME);)voidCRecommendDlg:DoDataExchange(CDataExchange*pDX)CDialogEx:DoDataExchange(pDX);DDX_Control(pDX,IDC_LIST1,m_CListCtrl);DDX_Control(pDX,IDC_SLIDER,m_CSliderCtrl);)BEGIN_MESSAGE_MAP(CRecommendDlg,CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC

40、_BTN_CHOSEN,&CRecommendDlg:OnBnClickedBtnChosen)ON_BN_CLICKED(IDC_BTN,&CRecommendDlg:OnBnClickedBtn)ON_BN_CLICKED(IDC_BTN_NT,&CRecommendDlg:OnBnClickedBtnNt)ON_BN_CLICKED(IDC_BTN_ST,&CRecommendDlg:OnBnClickedBtnSt)ON_BN_CLICKED(IDC_BTN_LIST,&CRecommendDlg:OnBnClickedBtnList)ON_BN

41、_CLICKED(IDC_BTN_SUM,&CRecommendDlg:OnBnClickedBtnSum)ON_BN_CLICKED(IDC_BTN_OUT,&CRecommendDlg:OnBnClickedBtnOut)ON_BN_CLICKED(IDC_BTN_OPEN,&CRecommendDlg:OnBnClickedBtnOpen)ON_BN_CLICKED(IDC_BTN_C,&CRecommendDlg:OnBnClickedBtnC)ON_BN_CLICKED(IDC_BTN_SURE,&CRecommendDlg:OnBnClick

42、edBtnSure)END_MESSAGE_MAP()/CRecommendDlg消?息?6处1理。一a程一?序一?voidCRecommendDlg:DisPlay(CStringstr)CStringnum_str;num_str.Format("%d",num);m_CListCtrl.InsertItem(num,num_str);m_CListCtrl.SetItemText(num,1,str);num+;BOOLCRecommendDlg:OnInitDialog()CDialogEx:OnInitDialog();/将?“?关?于?一2”?d菜?单m项?添?

43、-a加一?到?系|纨3菜?单/IDM_ABOUTBOX必d?须?在一2系|a3命一1令。范。?围?内一2。?eASSERT(IDM_ABOUTBOX&0xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL)BOOLbNameValid;CStringstrAboutMenu;bNameValid=strAboutMenu.LoadString(IDS_ABOUTBOX);ASSERT(bNameValid);if(!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu-&g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论