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

📄 fileinout.cpp

📁 很好的学习C++源码,基于C++版学生管理系统
💻 CPP
字号:
#include "fileinout.h"      //文件输入输出类头文件

int CFileInOut::m_nTime = 0; //初始化静态变量

//函数功能:构造函数什么也不做
//输入参数:无
//输出参数:无
//返回值: 无
//修改人:邹明上
//修改时间:2006.06.25
CFileInOut::CFileInOut()
{
	
}

//函数功能:析构函数什么也不做
//输入参数:无
//输出参数:无
//返回值: 无
//修改人:邹明上
//修改时间:2006.06.25
CFileInOut::~CFileInOut()
{

}

//函数功能:函数从文件中读取数据并创建学生链表
//输入参数:无
//输出参数:显示出错系统信息
//返回值:返回bool型的一个数
//修改人:邹明上
//修改时间:2006.06.25
bool CFileInOut::FileRead(CStudentList* stu) //函数从文件中读取数据
{
	m_nTime = 0;
	FILE* pF = fopen("student.dat","r");
	if(pF == NULL)
	{
		return false;
	}
	else
	{
		fscanf(pF,"%d\n",&stu->m_nSum);    //从pF指向的文件中读出学生总计数
		while(m_nTime < stu->m_nSum)
		{
			CStudentObject* pNew = new CStudentObject;
			pNew->m_pFront = NULL;
			pNew->m_pNext = NULL;
			fscanf(pF,"%s\n",pNew->m_sId);
			fscanf(pF,"%s\n",pNew->m_sName);
			fscanf(pF,"%s\n",pNew->m_sSex);
			fscanf(pF,"%s\n",pNew->m_sTel);
			fscanf(pF,"%d\n",&pNew->m_nAge);
			fscanf(pF,"%lf\n",&pNew->m_dbMath);
			fscanf(pF,"%lf\n",&pNew->m_dbClangue);
			fscanf(pF,"%lf\n",&pNew->m_dbEnglish);
			fscanf(pF,"%lf\n",&pNew->m_dbAverage);
			fscanf(pF,"%lf\n",&pNew->m_dbSum);
			
			if(stu->m_pHead == NULL)
			{
				stu->m_pHead = pNew;
				stu->m_pEnd  = pNew;
			}
			else
			{
				pNew->m_pFront = stu->m_pEnd;
				stu->m_pEnd->m_pNext = pNew;
				stu->m_pEnd  = pNew;
			}
			m_nTime++;
		}
		fclose(pF);
		return true;
	}
}

//函数功能:函数将学生键表数据保存到文件
//输入参数:无
//输出参数:显示出错系统信息
//返回值:返回bool型的一个数
//修改人:邹明上
//修改时间:2006.06.25
bool CFileInOut::FileWrite(CStudentObject* pHead,int nTotal)
{
	m_nTime = 0;
	CStudentObject* pNow = pHead;
	FILE* pF = fopen("student.dat","w");
	if(pF == NULL)
	{
		return false;
	}
	else
	{
		fprintf(pF,"%d\n",nTotal);    //将学生总计数保存到pF指向的文件中
		while(m_nTime < nTotal)
		{
			fprintf(pF,"%s\n",pNow->m_sId);
			fprintf(pF,"%s\n",pNow->m_sName);
			fprintf(pF,"%s\n",pNow->m_sSex);
			fprintf(pF,"%s\n",pNow->m_sTel);
			fprintf(pF,"%d\n",pNow->m_nAge);
			fprintf(pF,"%.2lf\n",pNow->m_dbMath);
			fprintf(pF,"%.2lf\n",pNow->m_dbClangue);
			fprintf(pF,"%.2lf\n",pNow->m_dbEnglish);
			fprintf(pF,"%.2lf\n",pNow->m_dbAverage);
			fprintf(pF,"%.2lf\n",pNow->m_dbSum);
			
			m_nTime ++;
			pNow = pNow->m_pNext;
		}
		fclose(pF);
		return true;
	}
}

⌨️ 快捷键说明

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