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

C语言实现学生考勤系统

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

本文实例为大家分享了C语言实现学生考勤系统的具体代码,供大家参考,具体内容如下 项目要求: 学生考勤系统 功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性

本文实例为大家分享了C语言实现学生考勤系统的具体代码,供大家参考,具体内容如下

项目要求:

学生考勤系统

功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。

分步实施:

(1)初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
(2)最低要求:建立一个文件,包括同一个班的10个学生的必要信息,能对文件进 行补充、修订、删除。

采用结构体数组读入读出文件(二进制形式写进data.txt文件)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

const int N = 1010;
const int LEN = 20;
const int CLAstunumber = 10;//每个班CLAstunumber人 

typedef struct
{
    char attdate[LEN];//日期
    int atts;//出勤情况 0缺勤 1出勤  
}attdent;


typedef struct
{
    char stname[LEN];
    char sex[LEN];
    int stnumber;
    int core;
    attdent stattdent[N];//最多纪录N个日期的考勤情况    
}studentinf;
int cnt;//记录日期数组用到哪里 

studentinf students[CLAstunumber];

void menu()
{
    printf("========================================================\n");
    printf("0.学生信息录入\n");
    printf("1.开始考勤\n");
    printf("2.修改学生考勤纪录\n");
    printf("3.生成并查看学生考勤分数\n");
    printf("4.读取数据\n");
    printf("5.保存数据\n");
    printf("6.退出\n");
    printf("========================================================\n");
}

void studentinput()
{
    //录入操作 
    for(int i = 0 ; i < CLAstunumber; i ++)
    {
        printf("----------------------------------------\n");
        printf("请输入学生姓名:                       |\n");
        studentinf student1;
        scanf("%s",student1.stname);
        printf("请输入学生性别:                       |\n");
        scanf("%s",student1.sex);
        printf("请输入学生学号:                       |\n");
        scanf("%d",&student1.stnumber);
        student1.core = 0;
        //(student1.stattdent[N]).attdate[LEN] = '0';
        students[i] = student1;
        printf("----------------------------------------\n");
    }
}

void attcheck()
{
    //考勤操作 
    for(int i = 0;i < CLAstunumber ; i ++)
    {
        students[i];
        printf("------------------------------\n");
        printf("姓名:%s\n",students[i].stname);
        printf("性别:%s\n",students[i].sex);
        printf("学号:%d\n",students[i].stnumber);
        printf("请输入时间:XXXX/XX/XX\n");
        scanf("%s",(students[i].stattdent[cnt]).attdate);
        printf("请输入该学生出勤情况:(0表示缺勤,1表示出勤)\n");
        scanf("%d",&(students[i].stattdent[cnt]).atts);
        cnt ++;
        printf("------------------------------\n");
        
    }
}

void changeinf()
{
    //遍历修改
    char fname[LEN];
    char fdate[LEN];
    printf("----------------------------------\n");
    printf("请输入学生姓名:\n");
    scanf("%s",fname);
    int stand1;//退出第一层for标准 
    for(int i = 0;i < CLAstunumber; i ++) 
    {
        if(!strcmp(fname,students[i].stname))
        {
            printf("学生姓名:%s\n",students[i].stname);
            printf("请输入时间:(XXXX/XX/XX)\n");
            scanf("%s",fdate);
            for(int j = 0;j < cnt ; j ++)
            {
                if(!strcmp(fdate,(students[i].stattdent[j]).attdate))
                printf("学生:%s",fname);
                printf("考勤时间:%s\n",fdate);
                printf("出勤情况:%d\n",(students[i].stattdent[j]).atts);
                printf("请输入修改后的出勤情况:\n");
                scanf("%d",&(students[i].stattdent[j]).atts);
                printf("修改成功!\n");
                stand1 = 1;
                break;
            }
            if(stand1 == 1) break;
        }
    }
    printf("----------------------------------\n");
}

void checkcore()
{
    //生成考勤分数 = 出勤次数即分数 
    for(int i = 0;i < CLAstunumber; i++)
    {
        printf("----------------------------\n");
        printf("学生姓名:%s\n",students[i].stname);
        printf("学生性别:%s\n",students[i].sex);
        printf("学生学号:%d\n",students[i].stnumber);
        //计算分数
        students[i].core = 0;
        for(int j = 0;j < cnt ; j ++)
        {
            students[i].core += (students[i].stattdent[j]).atts;    
        } 
        printf("考勤分数:%d\n",students[i].core);    
        printf("----------------------------\n");
    }
    
}

void readdata()
{
    FILE *fp = NULL;
    fp = fopen("data.txt","rb");
    
    //读出 
    int i = 0;
    while(!feof(fp))
    {
        fread(&students[i],sizeof(studentinf),1,fp);
        i ++;
    }
    i --;
    
    cnt = i;
    
    fclose(fp);      
    printf("读取成功!\n");
}

void savedata()
{
    FILE *fp = NULL;
    fp = fopen("data.txt","wb");
    //写入
    for(int i = 0;i < CLAstunumber  ; i ++)
    {
        fwrite(&students[i],sizeof(studentinf),1,fp);
    }
    
    fclose(fp);  
    printf("保存成功!\n");    
}

int main()
{
    menu();
    int op;
    while(1)
    {
        scanf("%d",&op);
        if(op == 0)
        {
            system("cls");
            studentinput();
            menu();
        }
        else if(op == 1)
        {
            system("cls");
            attcheck();
            menu();
        } 
        else if(op == 2)
        {
            changeinf();
            menu();
        }
        else if(op == 3)
        {
            system("cls");
            checkcore();
            menu();
        }
        else if(op == 4)
        {
            system("cls");
            readdata();
            menu();
        }
        else if(op == 5)
        {
            system("cls");
            savedata();
            menu();
        }
        else if(op == 6)
        {
            break;
        }
        else printf("input error!\n");
    }
     
}

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

--结束END--

本文标题: C语言实现学生考勤系统

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

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

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

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

下载Word文档
猜你喜欢
  • C语言实现学生考勤系统
    本文实例为大家分享了C语言实现学生考勤系统的具体代码,供大家参考,具体内容如下 项目要求: 学生考勤系统 功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性...
    99+
    2024-04-02
  • C语言实现考勤管理系统
    这些天因为补修c语言课设,在花费了一段时间后写完了这个课设,课设的要求如下: 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假...
    99+
    2024-04-02
  • 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
  • C语言实现新生入学登记系统
    本文实例为大家分享了C语言实现新生入学登记系统的具体代码,供大家参考,具体内容如下 项目所用数据结构:链表算法:对链表数据的增删改查操作,冒泡排序系统架构图: 项目文件结构: (...
    99+
    2024-04-02
  • C语言实现班级学生管理系统
    本文实例为大家分享了C语言实现班级学生管理系统的具体代码,供大家参考,具体内容如下 下面是根据班级,这个人数较少的单位设计的学籍管理系统,录入时,要求班内序号由1开始  按顺序录入,...
    99+
    2024-04-02
  • C语言实现简易学生管理系统
    本文实例为大家分享了C语言实现学生管理系统的具体代码,供大家参考,具体内容如下 首先我们在做一个管理系统之前要了解这个学生管理系统需要哪些功能,如:简单的增,删,改,查,即:录入成绩...
    99+
    2024-04-02
  • C语言实现学生消费管理系统
    本文实例为大家分享了C语言实现学生消费管理系统的具体代码,供大家参考,具体内容如下 代码可以实现的功能: (1)直接从终端键盘输入信息(2)从磁盘文件录入学生信息(3)可以查询学生消...
    99+
    2022-11-13
    C语言学生消费系统 C语言消费管理系统 C语言学生管理系统
  • C语言实现学生宿舍管理系统
    本文实例为大家分享了C语言实现学生宿舍管理系统的具体代码,供大家参考,具体内容如下 实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等,系...
    99+
    2024-04-02
  • 基于C语言实现学生管理系统
    本文实例为大家分享了C语言实现学生管理系统的具体代码,供大家参考,具体内容如下 1.目标要求: 1.学生成绩管理系统2.可增、删、改、查、浏览3.数据保存在文件中 2.C语言代码: ...
    99+
    2024-04-02
  • c语言实现学生管理系统详解
    目录infor.htest.cinfor.c总结 该学生管理系统的实现是通过分文件的方式来写的,infor.h 文件为头文件,源文件infor.c实现源文件tes...
    99+
    2024-04-02
  • C语言实现学生管理系统总结
    本文实例为大家分享了C语言实现学生管理系统的具体代码,供大家参考,具体内容如下 前言 本周完成了学生管理系统,在完成的过程中遇见了许多问题,今天来总结上周写管理系统一些比较困难的模块...
    99+
    2024-04-02
  • C语言实现学生信息管理系统
    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include <stdi...
    99+
    2024-04-02
  • C语言实现学生档案管理系统
    本文实例为大家分享了C语言实现学生档案管理系统的具体代码,供大家参考,具体内容如下     #include<stdio.h&...
    99+
    2024-04-02
  • C语言编写实现学生管理系统
    本文实例为大家分享了C语言实现学生管理系统的具体代码,供大家参考,具体内容如下 项目介绍 学生信息管理系统是一个基于C语言开发的系统,其中有用到冒泡排序、指针、结构体、二位数组等知识...
    99+
    2024-04-02
  • C语言模拟实现学生学籍管理系统
    学生学籍管理系统的C语言模拟实现是对链表、指针、结构体、文件操作等知识点的综合运用,需要实现的功能主要包含:输入学生信息、显示学生信息、查询学生信息、新增学生信息、删除学生信息、修改...
    99+
    2024-04-02
  • C语言实现简单的学生学籍管理系统
    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 一 .课题设计内容与主要功能 1.1问题描述: 通过该系统实现对学生学籍信息进行录入、显示、修改、...
    99+
    2024-04-02
  • 考勤薪资管理系统的实现
    简介:本文将详细介绍如何使用Python和MySQL数据库开发一个基本的考勤薪资管理系统。该系统可以记录员工的工作时间和工资信息,并通过图形化界面显示数据,方便管理人员进行查询和分析。 正文: 一、系统需求分析在设计这个系统时,我们需要考虑...
    99+
    2024-01-25
    管理系统 薪资 考勤
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作