手把手教你制作C++项目:出差登记管理系统,初学者也能做!

本文介绍了一个基于MFC框架的出差记录管理系统,适用于初学者学习VC++数据库编程。系统能方便高效地管理企业员工的出差记录,包括员工信息和出差天数,作为业绩考核依据。
摘要由CSDN通过智能技术生成

基于计算机技术的迅速发展,各行各业都在努力开发出适应该领域的软件。各种应用软件相继问世,基于MFC框架,根据出差记录管理流程,设计出的出差记录管理系统,能使管理出差记录更加方便而有效率。

VC++ Access 出差登记管理程序附源代码,VC6.0开源源码,程序主要是进行公司、企业员工出差记录的登记,是一个小型的办公辅助软件,可记录员工信息、员工的出差天数,作为公司业绩考核的依据。

项目结构展示:

源码展示:

VC++新手可用来学习VC的数据库编程技术,挺简单的例子。

声明:本文内容来源于网络,如有侵权请联系删除

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用vc编写操作系统,你也可以的到 CCriticalSection csDocLock; //文件锁保证读写互斥 CCriticalSection csReadCount; //读者记数互斥 CCriticalSection csPreWriteLock;//写者优先锁 int g_iReadCount = 0; bool g_bPreWriter= false; //写者优先标志 HANDLE hReadSemaphore=CreateSemaphore(NULL,3,3,"Semaphore1.object");//读者信号量 共允许3个读者同时进行 //线程体 bool who[3]={false}; DWORD WINAPI ReaderThreadFun(PVOID param) { CReader_WriterDlg * pWnd=(CReader_WriterDlg *)param; int iStep = 0; //申请信号量 if(g_bPreWriter)//写者优先锁 csPreWriteLock.Lock(); csReadCount.Lock(); g_iReadCount++; if(g_iReadCount==1) csDocLock.Lock();//锁定文件,保证不能写 csReadCount.Unlock(); ::WaitForSingleObject(hReadSemaphore,-1); if(g_bPreWriter)//写者优先锁 csPreWriteLock.Unlock(); //此处换算当前线程与对话框的哪个ProgressBAR控件关联 DWORD id; //要求4个读者进度条控件的ID顺序排列 int cur; //who[4]的元素与4个控件一一对应,某个下标对应的元素为true //,表示对应的进度条正在模拟中,模拟完成后,将其 //恢复为false,允许别的读者线程"占用"对应的控件,进行 //模拟 for(cur=0;cur<3;cur++) { if(!who[cur]) //找到第一个为false的下标cur { who[cur]=true; //一旦找到,将其置为true id=IDC_PROGRESS2+cur; //得到对应的进度条控件ID号 break; } } //模拟读者 while(iStep<10) { for(int i=0;i<10000;i++) { for(int j=0;j<1000;j++) ;//虚动作 } pWnd->SendMessage(WM_MSG_READER,(DWORD)iStep,id); iStep++; } //释放信号量 who[cur]=false; ::ReleaseSemaphore(hReadSemaphore,1,NULL); //判断是否所有读者均读完 csReadCount.Lock(); g_iReadCount--; if(g_iReadCount==0) { csDocLock.Unlock(); } csReadCount.Unlock(); return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值