⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhengyappwizarddoc.cpp

📁 文本文件读写及图形显示.(1) 自学随机数的生成
💻 CPP
字号:
// ZhengyAppWizardDoc.cpp : implementation of the CZhengyAppWizardDoc class
//

#include "stdafx.h"
#include "ZhengyAppWizard.h"

#include "ZhengyAppWizardDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CZhengyAppWizardDoc

IMPLEMENT_DYNCREATE(CZhengyAppWizardDoc, CDocument)

BEGIN_MESSAGE_MAP(CZhengyAppWizardDoc, CDocument)
	//{{AFX_MSG_MAP(CZhengyAppWizardDoc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CZhengyAppWizardDoc construction/destruction

CZhengyAppWizardDoc::CZhengyAppWizardDoc()
{
	// TODO: add one-time construction code here

}

CZhengyAppWizardDoc::~CZhengyAppWizardDoc()
{
}

BOOL CZhengyAppWizardDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;
   	 	 
	 //生成随机数
	 int RANGE_MIN = 1;//随即数的最小值
     int RANGE_MAX = 200;//随机数的最大值
     
		  for (int zy_count=0;zy_count<90;zy_count++)
		  {  
		    int zy_m=((double)rand()/RAND_MAX)*RANGE_MAX+RANGE_MIN;//生成随机数(1-200) RAND_MAX为rand()获取的最大值 	
			zy_Data[zy_count]=zy_m;//可以用于调试
		  }
	 
		  //在C:\生成产生文本保存随机数   每列为一组
     char* zy_pFileName="c:\Zhengyan.txt";//文本的存储位置
     CStdioFile zy_File;
     zy_File.Open(zy_pFileName,CFile::modeCreate | CFile::modeWrite | CFile::typeText);  
 	 char zy_ch[3]="";
     for( zy_count=0;zy_count<30;zy_count++)
	 {	
 		for(int zy_i=0;zy_i<3;zy_i++)
 		{
 			itoa(zy_Data[zy_count+zy_i*30],zy_ch,10);
 	        zy_File.WriteString(zy_ch);//向文本中写
 	        zy_File.WriteString("     ");//用空格进行分隔
 		}
 		zy_File.WriteString("\r\n");//换行
     }
    // TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CZhengyAppWizardDoc serialization

void CZhengyAppWizardDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
    	char zy_ch[3]="";  		
		for(int zy_count=0;zy_count<30;zy_count++)
		{	
	    	for(int zy_i=0;zy_i<3;zy_i++)
			{
			itoa(zy_Data[zy_count+zy_i*30],zy_ch,10);
	        ar.WriteString(zy_ch);
	        ar.WriteString("  ");
			}
		    ar.WriteString("\r\n");
		}
		
	}
	else
	{   
		     CString zy_FileData;        //定义一个CString变量作为缓冲区
             char zy_TempStr1[3]="";     //临时存储
			 char zy_TempStr2[3]="";
			 char zy_TempStr3[3]="";
			 
			 for(int zy_count=0;zy_count<30;zy_count++)
			 {
			     ar.ReadString(zy_FileData);//读取行
				 sscanf(zy_FileData,"%s %s %s",zy_TempStr1,zy_TempStr2,zy_TempStr3);//按空格分割读取字符串放到到临时存储中
				 zy_Data[zy_count]=atoi(zy_TempStr1);//赋值到数组
				 zy_Data[zy_count+30]=atoi(zy_TempStr2);
				 zy_Data[zy_count+60]=atoi(zy_TempStr3);
			 }
             UpdateAllViews(NULL);//通知所有视图数据更新

		/*
		CFileDialog dlg(TRUE); // 定义一个文件对话框变量
       	if(dlg.DoModal()==IDOK)	
		{
	         CString m_FilePath = dlg.GetPathName(); //取得文件路径及文件名
             CStdioFile File;
	         File.Open(m_FilePath,CFile::modeRead); //以读模式打开文本文件
             CString FileData;        //定义一个CString变量作为缓冲区
             char zy_TempStr1[3];
			 char zy_TempStr2[3];
			 char zy_TempStr3[3];
			 memset(zy_TempStr1,'\0',3);
             memset(zy_TempStr2,'\0',3);
             menset(zy_TempStr3,'\0',3);
			 for(int count=0;count<30;count++)
			 {
			     File.ReadString(FileData);//读取行
				 sscanf(FileData,"%s %s %s",zy_TempStr1,zy_TempStr2,zy_TempStr3);
				 zy_Data[i]=atoi(zy_TempStr1);
				 zy_Data[i+30]=atoi(zy_TempStr2);
				 zy_Data[i+60]=atoi(zy_TempStr3);
			 }
		// TODO: add loading code here
		}*/
	}
}

/////////////////////////////////////////////////////////////////////////////
// CZhengyAppWizardDoc diagnostics

#ifdef _DEBUG
void CZhengyAppWizardDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CZhengyAppWizardDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CZhengyAppWizardDoc commands

int* CZhengyAppWizardDoc::GetFirstData()
{
 return zy_Data;
}

//DEL void CZhengyAppWizardDoc::OnFileSave() 
//DEL {
//DEL 	// TODO: Add your command handler code here
//DEL    /*
//DEL 	char* pFileName="c:\Zhengyan.txt";
//DEL 	CStdioFile sFile;
//DEL 	sFile.Open(pFileName,CFile::modeCreate | CFile::modeWrite | CFile::typeText);  
//DEL 	char ch[3]="";
//DEL 	for(int count=0;count<30;count++)
//DEL 	{	
//DEL 		for(int i=0;i<3;i++)
//DEL 		{
//DEL 			itoa(zy_Data[count+i*30],ch,10);
//DEL 	        sFile.WriteString(ch);
//DEL 	        sFile.WriteString("     ");
//DEL 		}
//DEL 		sFile.WriteString("\n");
//DEL 	}
//DEL     
//DEL 	//UpdateAllViews(NULL);
//DEL 	*/
//DEL }

//DEL void CZhengyAppWizardDoc::OnFileOpen() 
//DEL {
//DEL 	// TODO: Add your command handler code here
//DEL 	CStdioFile sFile;
//DEL 	char ch[3]="";
//DEL 	int temp=0;
//DEL 	/*
//DEL 	for(int count=0;count<30;count++)
//DEL 	{
//DEL 	    while	
//DEL 	}
//DEL 	*/
//DEL }

int CZhengyAppWizardDoc::GetTemp()
{
 return zy_temp;
}

void CZhengyAppWizardDoc::SetTemp(int temp)
{
   zy_temp=temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -