iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实现考勤管理系统
  • 823
分享到

C++实现考勤管理系统

2024-04-02 19:04:59 823人浏览 薄情痞子
摘要

本文实例为大家分享了c++实现考勤管理系统的具体代码,供大家参考,具体内容如下 设计一考勤管理系统,记录学生的缺课情况 1、设计学生类;2、设计课程类;3、设计考勤类;4、录入学生的

本文实例为大家分享了c++实现考勤管理系统的具体代码,供大家参考,具体内容如下

设计一考勤管理系统,记录学生的缺课情况

1、设计学生类;
2、设计课程类;
3、设计考勤类;
4、录入学生的缺课情况;
5、修改某个学生的缺课情况;
6、查询某个学生的缺课情况;
7、统计一段时间内,旷课学生的名单和次数

仅供参考,尚有不足,请多多指正!

#include <iOStream>
#include <cstring>
using namespace std;

class Student
{
    public:
        void setname(char *setname)
        {    
            strcpy(name,setname);
        }
        
        void setcarname(char *setcarname)
        {
            strcpy(carname,setcarname);
        }
        
        void setseating_capacity(char *setseating_capacity)
        {
            strcpy(seating_capacity,setseating_capacity);
        }
        
        void setidentifynumber(char *setidentifynumber)
        {
            strcpy(identifynumber,setidentifynumber);
        } 
        
        char *getname()
        {
            char *setname=name;
            return setname;
        }
        
        char *getcarname()
        {
            char *setcarname=carname;
            return setcarname;
        }
        
        char *getsetseating_capacity()
        {
            char *setseating_capacity=seating_capacity;
            return setseating_capacity;
        }
        
        char *getidentifynumber()
        {
            char *setidentifynumber=identifynumber;
            return setidentifynumber;
        }
        
        
    private:
        char name[30];
        char carname[30];
        char seating_capacity[30];
        char identifynumber[30];
};

class Course:public Student
{
    public:
        void setcoursename(char *setcoursename)
        {
            strcpy(coursename,setcoursename);
        }
        
        void setcoursetime(char *setcoursetime)
        {
            strcpy(coursetime,setcoursetime);
        } 
         
        void setcourseplace(char *setcourseplace)
        {
            strcpy(courseplace,setcourseplace);
        }
        
        char *getcoursename()
        {
            char *setcoursename;
            setcoursename=coursename;
            return setcoursename;
        }
        
        char *getcoursetime()
        {
            char *setcoursetime;
            setcoursetime=coursetime;
            return setcoursetime;
        }
        
        char *getcourseplace()
        {
            char *setcourseplace;
            setcourseplace=courseplace;
            return setcourseplace;
        }
        
    private:
        char coursename[30];
        char coursetime[30];
        char courseplace[30];
}; 

class Attendence:public Course
{
    public:
        void setattendence(int setattendence)
        {
            int i=0;
            attendence[i]=setattendence;
            i++;
        }
        
        int *getattendence()
        {
            int *setattendence;
            setattendence=attendence;
            return setattendence;
        }
    private:
        int attendence[30];
};
 
int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[]);
int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence attendence[],int totalnumber);
int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber);
int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber);
void bubble(int arr[],int len);

Student n[20];
Student i[20];
Course cn[20];
Course ct[20];
Course cp[20];
Attendence a[20];

int totalnumber=0;
char name[30];
char identifynumber[30];
char coursename[30];
char coursetime[30];
char courseplace[30];
int attendence;
int array[30];

int att[30];

int main() 
{
    while(1)
    {
        cout<<"---------吉林大学珠海学院---------\n"
            <<"         学生考勤管理系统\n\n"
            <<"      1.录入学生缺课信息\n"
            <<"      2.修改学生缺课记录\n"
            <<"      3.查询学生缺课情况\n"
            <<"      4.统计一段时间内学生旷课情况\n"
            <<"      5.退出系统\n\n"
            <<"------------------------------"<<endl;
                
        int num;
        for(;;)
        {
            cout<<"请选择需要执行的功能序号(1-5):";
            cin>>num;
            if(num>=1&&num<=5)
                break;
            else
                continue;
        }
        
        cout<<endl;
    
        switch(num){
            case 1:{
                input(n,i,cn,ct,cp,a);
                break;
            }
            
            case 2:{
                modify(i,cn,ct,cp,a,totalnumber);
                break;
            }
            
            case 3:{
                search(n,i,cn,ct,cp,a,totalnumber);
                break ;
            }
            
            
            case 4:{
                statistic(n,i,cn,ct,cp,a,totalnumber);
                break;
            }
            
            case 5:exit(0); 
        }
    }    
}

int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[])
{
    cout<<"----------请开始输入----------\n";
        cout<<"请输入将录入系统的人数:"; 
        cin>>totalnumber;
        cout<<endl;
    
    for(int counter=0;counter<totalnumber;counter++)
    {
        cout<<"学生姓名:";
        cin>>name; 
        n[counter].setname(name);
        cout<<"学生学号:";
        cin>>identifynumber;
        i[counter].setidentifynumber(identifynumber);
        cout<<"课程名称:";
        cin>>coursename;
        cn[counter].setcoursename(coursename);
        cout<<"课程时间(星期几,第几节课):";
        cin>>coursetime;
        ct[counter].setcoursetime(coursetime);
        cout<<"课程地点:";
        cin>>courseplace;
        cp[counter].setcourseplace(courseplace);
        cout<<"缺课次数:";
        cin>>attendence;
        a[counter].setattendence(attendence);
        array[counter]=attendence;
        cout<<'\n';
    }
    
    return 1;
}


int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber)
{
    int inputnumber;
    do{
        char id[8];
        cout<<"请输入学生学号:";
        cin>>id;
        cout<<endl;
    
        if(1)
        {
            for(int counter=0;counter<totalnumber;counter++)
            {
                if(strcmp(id,i[counter].getidentifynumber())==0)
                {
                    int num;
                    cout<<"请选择需要修改信息的种类:"
                        <<"\n1.课程名称\n"
                        <<"2.课程时间\n"
                        <<"3.课程地点\n"
                        <<"4.缺课次数\n";
                        
                    for(;;)
                    {
                        cout<<"请输入需要修改信息的代号(1-4):";
                        cin>>num;
                        if(num>=1&&num<=4)
                            break;
                        else
                            continue;
                    } 
                    
                    cout<<endl;
                
                    switch(num){
                        case 1:{
                            cout<<"请输入修改后的课程名称:"; 
                            cin>>coursename;
                            cn[counter].setcoursename(coursename);
                            cout<<'\n';
                            break;
                        }
                        
                        case 2:{
                            cout<<"请输入修改后的课程时间(星期几,第几节课):";
                            cin>>coursetime;
                            ct[counter].setcoursetime(coursetime);
                            cout<<'\n';
                            break;
                        }
                        
                        case 3:{
                            cout<<"请输入修改后的课程地点:";
                            cin>>courseplace;
                            cp[counter].setcourseplace(courseplace);
                            cout<<'\n';
                            break;
                        }
                        
                        case 4:{
                            cout<<"请输入修改后的缺课次数:";
                            cin>>attendence;
                            a[counter].setattendence(attendence);
                            array[counter]=attendence;
                            cout<<'\n';
                            break;
                        }
                        
                    }
                }
            } 
        }
                  
        else
        {
            cout<<"无该学生缺课信息!\n"
                <<"请再次确认输入学号无误\n\n";
        }
            
        for(;;)
        {
            cout<<"重新查询请输入1|返回目录请输入0\n"; 
            cin>>inputnumber;
            if(inputnumber==1||inputnumber==0)
                break;
            else
                continue;
        }
        
        
    }while(inputnumber==1);
    
    return 1;
}

int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber)
{
    int inputnumber;
    do{
        char ids[8];
        char *identify=ids;
        cout<<"请输入学生学号:";
        cin>>ids;
        cout<<endl;
        strcpy(ids,identify);
    
        if(1)
        {
            for(int counter=0;counter<totalnumber;counter++)
            {
                if(strcmp(ids,i[counter].getidentifynumber())==0)
                {
                    cout<<"学生姓名:"<<n[counter].getname()
                        <<"\n学生学号:"<<i[counter].getidentifynumber()
                        <<"\n缺课课程名称:"<<cn[counter].getcoursename()
                        <<"\n缺课课程日期:"<<ct[counter].getcoursetime()
                        <<"\n缺课时间:"<<cp[counter].getcourseplace()
                        <<"\n缺课次数:"<<*a[counter].getattendence()<<"\n";
                }
            }
        }
                
        else
            cout<<"无该同学数据"; 
                break;
        
        cout<<'\n'<<endl;
        for(;;)
        {
            cout<<"重新查询请输入1|返回目录请输入0\n\n";
            cin>>inputnumber;
            if(inputnumber==0||inputnumber==1)
                break;
            else
                continue;
        }
        
    }while(inputnumber==1);
    
    return 1;
}

int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber)
{
    int inputnumber;
    for(int index=0;index<30;index++)
        att[index]=index;
    
    if(totalnumber==0)
    cout<<"数据库无信息\n\n";
    
    else if(totalnumber==1)
    cout<<"学生姓名:"<<n[0].getname()
        <<"\n学生学号:"<<i[0].getidentifynumber()
        <<"\n缺课课程名称:"<<cn[0].getcoursename()
        <<"\n缺课课程日期:"<<ct[0].getcoursetime()
        <<"\n缺课时间:"<<cp[0].getcourseplace()
        <<"\n缺课次数:"<<*a[0].getattendence()<<"\n\n";
    
    else if(1)
    {
        for(int counter=0;counter<totalnumber;counter++)
        {
            if(a[counter].getattendence()<a[counter].getattendence()+1)
            {
                bubble(array,totalnumber);
            }
            
            else if(a[counter].getattendence()==a[counter+1].getattendence())
            {
                if(strcmp(i[counter].getidentifynumber(),i[counter+1].getidentifynumber())>0)
                {
                    int temp;
                    int a=counter;
                    int b=counter+1;
                    
                    temp=a;
                    a=b;
                    b=temp;
                }
            }
            
        }

        for(int index=0;index<totalnumber;index++)
        {
            cout<<"学生姓名:"<<n[att[index]].getname()
                <<"\n学生学号:"<<i[att[index]].getidentifynumber()
                <<"\n缺课课程名称:"<<cn[att[index]].getcoursename()
                <<"\n缺课课程日期:"<<ct[att[index]].getcoursetime()
                <<"\n缺课时间:"<<cp[att[index]].getcourseplace()
                <<"\n缺课次数:"<<*a[att[index]].getattendence()<<"\n\n";
        }
        
    }
    
    cout<<"返回目录请输入0\n";
    cin>>inputnumber;
    if(inputnumber==0)
        return 1;
}

void bubble(int arr[],int len)
{
    int i,j,temp;
    int t;
    for(i=0;i<len-1;i++)
    {
        for(j=0;j<len-1-i;j++)
        {
            if(arr[j]<arr[j+1])
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;    
            
                t=att[j];
                att[j]=att[j+1];
                att[j+1]=t; 
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C++实现考勤管理系统

本文链接: https://www.lsjlt.com/news/142623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++实现考勤管理系统
    本文实例为大家分享了C++实现考勤管理系统的具体代码,供大家参考,具体内容如下 设计一考勤管理系统,记录学生的缺课情况 1、设计学生类;2、设计课程类;3、设计考勤类;4、录入学生的...
    99+
    2024-04-02
  • C++如何实现考勤管理系统
    本篇内容主要讲解“C++如何实现考勤管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++如何实现考勤管理系统”吧!设计一考勤管理系统,记录学生的缺课情况设计学生类;2、设计课程类;3、设...
    99+
    2023-06-29
  • C语言实现考勤管理系统
    这些天因为补修c语言课设,在花费了一段时间后写完了这个课设,课设的要求如下: 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假...
    99+
    2024-04-02
  • C++实现教工考勤信息管理系统
    本文实例为大家分享了C++实现教工考勤信息管理系统的具体代码,供大家参考,具体内容如下 需求分析 传统意义上的考勤管理都是采用原始的手工操作来完成的。人事部的管理人员或办公室人员要进...
    99+
    2024-04-02
  • 考勤薪资管理系统的实现
    简介:本文将详细介绍如何使用Python和MySQL数据库开发一个基本的考勤薪资管理系统。该系统可以记录员工的工作时间和工资信息,并通过图形化界面显示数据,方便管理人员进行查询和分析。 正文: 一、系统需求分析在设计这个系统时,我们需要考虑...
    99+
    2024-01-25
    管理系统 薪资 考勤
  • C++怎么实现教工考勤信息管理系统
    这篇“C++怎么实现教工考勤信息管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++怎么实现教工考勤信息管理系统”文...
    99+
    2023-06-30
  • 薪酬考勤管理系统
    薪酬考勤管理系统是一种用于管理和跟踪员工薪资和考勤记录的软件系统。它帮助企业实现工资计算、考勤记录、加班管理、请假审批等人力资源管理任务的自动化。本文将详细介绍薪酬考勤管理系统的主要功能以及如何选择适合企业的薪酬考勤管理系统的解决方案。1...
    99+
    2023-12-27
    管理系统 考勤 薪酬
  • C语言实现学生考勤系统
    本文实例为大家分享了C语言实现学生考勤系统的具体代码,供大家参考,具体内容如下 项目要求: 学生考勤系统 功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性...
    99+
    2024-04-02
  • C语言实现考试报名管理系统
    本文实例为大家分享了C语言实现考试报名管理系统的具体代码,供大家参考,具体内容如下 源代码: #include<stdio.h> #include<stdlib.h...
    99+
    2024-04-02
  • 基于C#的在线考勤管理系统开发项目经验分享
    在当今信息化时代,随着企业规模的不断扩大和跨地域的发展,对于员工考勤管理的需求也日益增加。为了提高员工考勤管理的效率和准确性,许多企业选择了使用在线考勤管理系统来管理员工的考勤记录。本文将分享一个基于C#的在线考勤管理系统开发项目的经验。一...
    99+
    2023-11-03
    C#开发 项目经验分享 在线考勤管理
  • 如何使用C++编写一个简单的员工考勤管理系统?
    如何使用C++编写一个简单的员工考勤管理系统?概述:员工考勤管理是企业管理中非常重要的一环,它能够帮助企业实时记录和统计员工的考勤情况,提高工作效率和管理水平。本文将介绍如何使用C++语言编写一个简单的员工考勤管理系统,帮助读者了解基本的编...
    99+
    2023-11-02
    C++ 员工 考勤
  • 钉钉后勤管理系统
    在当今快节奏的社会中,人们的生活和工作节奏越来越快,每天都在奔波于工作和家庭之间,难免会遇到各种各样的困难和问题。在这个时候,一个可靠的后勤管理系统就显得尤为重要。钉钉后勤管理系统,为企业和员工提供了方便快捷的后勤管理方式。 钉钉后勤管理...
    99+
    2023-10-28
    管理系统 后勤
  • python opencv怎么实现人脸识别考勤系统
    小编给大家分享一下python opencv怎么实现人脸识别考勤系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python可以做什么Python是一种编程语言...
    99+
    2023-06-14
  • 聊聊怎么用PHP实现一个考勤系统
    随着互联网的快速发展,越来越多的企业开始推广使用考勤系统来管理员工的考勤情况。而PHP技术的广泛应用,使得利用PHP技术开发考勤系统成为可能。下面,本文将对基于PHP的考勤系统的实现进行详细阐述。一、需求分析当今企业管理和人事部门对于考勤管...
    99+
    2023-05-14
  • C语言如何实现考试报名管理系统
    这篇文章主要介绍了C语言如何实现考试报名管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现考试报名管理系统文章都会有所收获,下面我们一起来看看吧。源代码:#include<stdio.h...
    99+
    2023-06-30
  • Java如何实现考试管理系统
    本篇内容主要讲解“Java如何实现考试管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现考试管理系统”吧!项目简述本系统功能包括:支持单选题、多选题、判断题支持学生(stud...
    99+
    2023-06-22
  • 基于Java实现考试管理系统
    目录项目简述项目运行项目技术效果图展示主要代码项目简述 本系统功能包括: 支持单选题、多选题、判断题支持学生(student)、教师(teacher)、管理员(admin)三种角色学...
    99+
    2024-04-02
  • PHP+SQL考勤系统安全性的设计与实现
    第一章 概 述 1.1  PHP的概念 PHP: Hypertext Preprocessor (超文本预处理器) 的缩写,它是一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独...
    99+
    2023-09-01
    php sql 开发语言
  • Python+OpenCV人脸识别签到考勤系统实现(附demo)
    目录前言项目效果图项目需要的环境编译器代码部分后记项目下载前言 本项目为IOT实验室人员签到考勤设计,系统实现功能:1.人员人脸识别并完成签到/签退2.考勤时间计算3.保存考勤数据为...
    99+
    2024-04-02
  • C++实现酒店管理系统
    本文实例为大家分享了C++实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、先看效果 1、run 2、查询   3、入住   再查询,可以看到201有人...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作