C++课程设计--个人简历管理系统(MFC)

课设题目

个人简历管理系统

课设要求

  1. 用户管理;
  2. 设计个人简历信息,实现信息的录入、修改和删除;
  3. 按身份证号查询个人简历
  4. 按性别统计并显示人员信息
  5. 按专业统计并显示人员信息
  6. 将统计结果保存到文件中
  7. 简历信息导入和导出

程序运行界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

核心代码

// pay.cpp : implementation file
//

#include "stdafx.h"
#include "个人简历管理系统.h"
#include "pay.h"
#include"Cai.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// pay dialog
BOOL pay::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_pay.InsertColumn(0,"姓名",LVCFMT_CENTER,100);
	m_pay.InsertColumn(1,"性别",LVCFMT_CENTER,100);
	m_pay.InsertColumn(2,"身份证号",LVCFMT_CENTER,100);
	m_pay.InsertColumn(3,"专业",LVCFMT_CENTER,100);
   	m_pay.InsertColumn(4,"个人简介",LVCFMT_CENTER,165);
	m_pay.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

 
	ShowCai();

	m_sex.SetCurSel(0);
    m_major.SetCurSel(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void pay::ShowCai()
{
	m_pay.DeleteAllItems();
	int num=ReadCai();
	for(int i=0;i<num;i++)
	{
	
		m_pay.InsertItem(i,0);
		m_pay.SetItemText(i,0,cai[i].name);
		m_pay.SetItemText(i,1,cai[i].sex);
		m_pay.SetItemText(i,2,cai[i].id);
		m_pay.SetItemText(i,3,cai[i].major);
		m_pay.SetItemText(i,4,cai[i].about);
	  }

}
int pay::ReadCai()
{
	FILE *file=fopen("resume.txt","r");
	int a=0;
	while(!feof(file))
	{
		fscanf(file,"%s%s%s%s%s",&cai[a].name,&cai[a].sex,&cai[a].id,&cai[a].major,&cai[a].about);
		a++;
	}
	fclose(file);
	a--;
	return a;
}

pay::pay(CWnd* pParent /*=NULL*/)
	: CDialog(pay::IDD, pParent)
{
	//{{AFX_DATA_INIT(pay)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void pay::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(pay)
	DDX_Control(pDX, IDC_COMBO2, m_major);
	DDX_Control(pDX, IDC_COMBO1, m_sex);
	DDX_Control(pDX, IDC_LIST1, m_pay);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(pay, CDialog)
	//{{AFX_MSG_MAP(pay)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
	ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
	ON_BN_CLICKED(IDC_BUTTON9, OnButton9)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// pay message handlers

void pay::OnButton1() 
{
	int sel = m_pay.GetSelectionMark();
	if(sel ==-1)
	{
		MessageBox("请选择需要删除的简历");
	}

	CString id=	m_pay.GetItemText(sel,0);
	int num=ReadCai();
	FILE *file=fopen("resume.txt","w+");

	for(int i=0;i<num;i++)
	{
		if(i==sel)  
			continue;
		fprintf(file,"%s   %s   %s   %s   %s\r\n",cai[i].name,cai[i].sex\
			,cai[i].id,cai[i].major,cai[i].about);
	}
	fclose(file);
	MessageBox("删除成功","提示");
	ShowCai();	
}

void pay::OnButton2() 
{
	// TODO: Add your control notification handler code here
	int sel = m_pay.GetSelectionMark();
	
	CString sex,id,major,about;
	GetDlgItem(IDC_COMBO1)->GetWindowText(sex);
	GetDlgItem(IDC_EDIT1)->GetWindowText(id);
	GetDlgItem(IDC_COMBO2)->GetWindowText(major);
	GetDlgItem(IDC_EDIT3)->GetWindowText(about);

	if(sel ==-1)
	{
		MessageBox("请选择需要修改的简历");
	}
	else
	{
	
	
	if(sex==""||id==""||major==""||about=="")
	{
		MessageBox("修改信息不完整!请补充完所有信息!");
	}
	else
	{
	CString name=m_pay.GetItemText(sel,0);
		int num=ReadCai();
	FILE *file=fopen("resume.txt","w");	
	for(int i=0;i<num;i++)
	{
		if(sel==i)
		{
			strcpy(cai[i].name,name);
			strcpy(cai[i].sex,sex);
			strcpy(cai[i].id,id);
            strcpy(cai[i].major,major);
			strcpy(cai[i].about,about);

		}
		fprintf(file,"%s   %s   %s   %s   %s\r\n",cai[i].name,cai[i].sex\
			,cai[i].id,cai[i].major,cai[i].about);
	}
	fclose(file);

	MessageBox("修改成功");
	ShowCai();
	}
	
	}
}

void pay::OnButton3() 
{
	// TODO: Add your control notification handler code here
		m_pay.DeleteAllItems();
	CString id;
	GetDlgItem(IDC_EDIT1)->GetWindowText(id);
	if(id=="")
	{
		ShowCai();
	}
	else
	{
		int i = 0;
		for(int a=0;a<ReadCai();a++)
		{
			if(strcmp(id,cai[a].id)==0)
			{
				m_pay.InsertItem(i,0);
				m_pay.SetItemText(i,0,cai[a].name);
				m_pay.SetItemText(i,1,cai[a].sex);
				m_pay.SetItemText(i,2,cai[a].id);
				m_pay.SetItemText(i,3,cai[a].major);
				m_pay.SetItemText(i,4,cai[a].about);
				i++;
			}
		}
	}
}

void pay::OnButton5() 
{
	// TODO: Add your control notification handler code here
		m_pay.DeleteAllItems();
	CString major;
	GetDlgItem(IDC_COMBO2)->GetWindowText(major);
	if(major=="")
	{
		ShowCai();
	}
	else
	{
		int i = 0;
		for(int a=0;a<ReadCai();a++)
		{
			if(strcmp(major,cai[a].major)==0)
			{
				m_pay.InsertItem(i,0);
				m_pay.SetItemText(i,0,cai[a].name);
				m_pay.SetItemText(i,1,cai[a].sex);
				m_pay.SetItemText(i,2,cai[a].id);
				m_pay.SetItemText(i,3,cai[a].major);
				m_pay.SetItemText(i,4,cai[a].about);
				i++;
			}
		}
	}
}

void pay::OnButton6() 
{
	// TODO: Add your control notification handler code here
			m_pay.DeleteAllItems();
	CString sex;
	GetDlgItem(IDC_COMBO1)->GetWindowText(sex);
	if(sex=="")
	{
		ShowCai();
	}
	else
	{
		int i = 0;
		for(int a=0;a<ReadCai();a++)
		{
			if(strcmp(sex,cai[a].sex)==0)
			{
				m_pay.InsertItem(i,0);
				m_pay.SetItemText(i,0,cai[a].name);
				m_pay.SetItemText(i,1,cai[a].sex);
				m_pay.SetItemText(i,2,cai[a].id);
				m_pay.SetItemText(i,3,cai[a].major);
				m_pay.SetItemText(i,4,cai[a].about);
				i++;
			}
		}
	}
}

void pay::OnButton7() 
{
	// TODO: Add your control notification handler code here
	
    // 获取当前符合条件的记录个数
	int nums=m_pay.GetItemCount();
	CString name,sex,id,major,about;
	FILE *file=fopen("major.txt","a+");
	for(int i=0;i<nums;i++)
	{
	
fprintf(file,"%s   %s   %s   %s   %s\r\n",m_pay.GetItemText(i,0),m_pay.GetItemText(i,1),m_pay.GetItemText(i,2),m_pay.GetItemText(i,3),m_pay.GetItemText(i,4));
	}
	
	fclose(file);	
		MessageBox("保存成功!");

//	CString x;
//	x.Format("%d",nums);
//	MessageBox(x);

//(CListCTrl *)GetDlgItem(IDC_LIST1)->GetItemCount(nums);
}

void pay::OnButton8() 
{
	// TODO: Add your control notification handler code here
		int nums=m_pay.GetItemCount();
	CString name,sex,id,major,about;
	FILE *file=fopen("sex.txt","a+");
	for(int i=0;i<nums;i++)
	{
	
fprintf(file,"%s   %s   %s   %s   %s\r\n",m_pay.GetItemText(i,0),m_pay.GetItemText(i,1),m_pay.GetItemText(i,2),m_pay.GetItemText(i,3),m_pay.GetItemText(i,4));
	}
	
	fclose(file);	
		MessageBox("保存成功!");
}

void pay::OnButton9() 
{
	// TODO: Add your control notification handler code here
		MessageBox("保存成功!");
}

项目源码

需要源码的小伙伴请前往
微信公众号:海轰Pro
回复: 海轰
O(∩_∩)O哈哈~

发布了155 篇原创文章 · 获赞 110 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_44225182/article/details/103828457