C语言课程设计学生考勤系统
C++课程设计 考勤管理系统
void setkechen(char *kc){strcpy(kechen,kc);}
char *getname(){char *n;n=name;return n;}
char *getqklx(){char *qk=queke;return qk;}
qstu qt[10];
qkechen qk[6];
int ch;
while(1)
{cout<<"********欢迎进入学生考勤管理系统!*********"<<endl;
caidan();
cout<<"--------请选择菜单项:"<<endl;
cin>>ch;
switch(ch)
{case 1: g=shuru(tl); break;
cout<<"4.--------统计某段时间内旷课学生姓名及旷课节数--------------*"<<endl;
cout<<"5.--------统计某段时间内旷课的课程及旷课人次----------------*"<<endl;
cout<<"6.----------------退出系统----------------------------------*"<<endl;
C++课程设计学生考勤管理系统
系统功能:学生 考勤记录查询、 教师考勤记录管 理、管理员系统
运行维护。
系统性能:系统 应具有良好的稳 定性和可靠性, 能够快速响应用 户的操作请求。
功能需求分析
教师信息管理:包括教师基 本信息、课程信息等
学生信息管理:包括学生基 本信息、考勤记录等
考勤记录管理:包括考勤记 录查询、统计、导出等
系统改进:界面设计有待优化,功能模块需要进一步扩展
展望:未来可以加入更多的功能,如课程安排、在线考试等,提高系统的实用性和便捷 性。
汇报人:
系统的优缺点和改进方向
优点:易于操作, 界面友好,功能齐 全
缺点:数据安全性 有待提高,系统稳 定性有待加强
改进方向:加强数 据加密和备份,提 高系统稳定性和可 靠性
改进方向:增加用 户反馈和意见收集 功能,提高用户体 验
总结和展望
系统功能:实现了学生考勤管理、成绩查询等功能
系统性能:运行稳定,响应速度快
系统管理:包括用户管理、 权限管理、系统设置等
数据需求分析
用户信息: 包括姓名、 学号、班 级、联系 方式等
考勤记录: 包括日期、 时间、地 点、考勤 状态等
课程信息: 包括课程 名称、课 程编号、 课程时间、 课程地点 等
考勤规则: 包括迟到、 早退、旷 课等定义 和处罚措 施
系统管理 员信息: 包括用户 名、密码、 权限等
c语言课程设计考勤系统
c语言课程设计考勤系统
一、课程目标
知识目标:
1. 理解C语言的基本语法,掌握数据类型、运算符、控制结构等基础知识;
2. 学会使用数组、函数和指针等C语言特性进行编程;
3. 了解文件操作的基本方法,实现数据存储与读取;
4. 掌握面向过程编程思想,能够运用所学知识设计简单的考勤系统。
技能目标:
1. 能够运用所学C语言知识,编写出结构清晰、逻辑性强的程序代码;
2. 熟练使用编程工具(如Visual Studio、Code::Blocks等)进行代码编写、调试与运行;
3. 学会分析问题,将实际问题转化为程序设计的解决方案;
4. 提高团队协作能力,通过分组讨论、分工合作完成考勤系统的设计与实现。情感态度价值观目标:
1. 培养学生对待编程的兴趣和热情,激发学生主动探索、创新的精神;
2. 培养学生的逻辑思维能力,提高分析问题和解决问题的能力;
3. 增强学生的自信心,使其在完成考勤系统设计的过程中获得成就感;
4. 培养学生的团队协作精神,学会与他人共同解决问题,提高沟通能力。
课程性质:本课程为C语言编程实践课,结合实际应用场景,培养学生的编程能力和实际操作能力。
学生特点:学生具备一定的C语言基础,对编程有一定兴趣,但实践经验不
足。
教学要求:教师应注重理论与实践相结合,引导学生积极思考,鼓励学生动手实践,关注个体差异,因材施教。通过课程学习,使学生在掌握C语言基础知识的同时,具备实际编程能力。
二、教学内容
1. C语言基础知识回顾:数据类型、变量、常量、运算符、表达式、输入输出函数等;
教材章节:第一章至第三章。
C语言课程设计-学生考勤管理系统
学生考勤管理系统
目录
1. 绪论 (1)
1.1课题背景 (1)
1.2课题目的和要求 (1)
1.3课题意义 (2)
2. 系统分析 (2)
2.1功能需求 (2)
2.2数据需求 (3)
2.3性能需求 (3)
3. 总体设计 (3)
3.1功能模块设计 (3)
3.2系统设计方案 (3)
4. 详细设计 (4)
4.1建立学生缺课记录子模块 (4)
4.2修改学生缺课记录子模块 (5)
4.3修改学生缺课记录子模块 (6)
4.4查看单科旷课记录子模块 (7)
4.5查看学生旷课记录子模块 (8)
4.6载入学生旷课记录子模块 (9)
4.7储存学生旷课记录子模快 (9)
5. 调试与测试 (10)
5.1调试 (10)
5.2测试 (11)
6. 结论 (11)
结束语 (11)
参考文献 (11)
附录1—用户手册 (12)
附录2—源程序 (17)
摘要
20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。
学生考勤管理程序是信息管理系统的一个子系统,一个基于单机版的系统。因为随着计算机技术的不断进步与发展,计算机已经深入到人们日常生活的每个角落,例如:政府部门,企事业单位,学校等等。该系统开发功能主要包括:管理员可以通过计算机设置学生考勤管理程序,打印供学校及个人使用。
该程序是使用C语言编写的学生考勤统计程序。
关键词:考勤;姓名;缺课类型;课程名称。
1. 绪论
1.1 课题背景
程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力
C++课程设计-学生考勤管理系统
学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学生缺课信息、查询 某个学生的缺课情况、统计某段时间内(以天为单位),旷课学生姓名及旷课节数和统计某段时间内, 有学生旷课的课程及旷课人次。学生的缺课信息主要包含缺课日期,第几节课、课程名称,学生姓 名,缺课类型。
在录入学生缺课信息时根据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入, 用户可以选择继续或返回主菜单。
滨江学院课程设计报告
图 4 学生缺课信息录入的功能 2、 修改某学生缺课信息功能的模块图
修改某 学生缺 课信息 功能
修改某学生的缺课日期
修改某学生的缺课节次
修改某学生的缺课课程
修改某学生的缺课类型
图 5 学生考勤管理系统修改学生缺课信息功能图 3 查询某学生缺课信息功能图:
查询某 学生缺 课信息 功能
封面符合要求,内容排版规范,图、表规整,语言流畅,无错别字。(A4 纸打印,上边装订)
课题:C++课程设计
学生考勤管理系统
(一)、课程设计题目: C++课程设计
(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握 C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及 C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书
C语言实现考勤管理系统
C语⾔实现考勤管理系统
这些天因为补修c语⾔课设,在花费了⼀段时间后写完了这个课设,课设的要求如下:
考勤信息记录了学⽣的缺课情况,它包括:缺课⽇期、第⼏节课、课程名称、学⽣姓名、缺课类型(迟到、早退、请假及旷课)。试设计⼀考勤管理系统,使之能提供以下功能:
(1) 录⼊学⽣的缺课记录;
(2) 修改某个学⽣的缺课记录;
(3) 查询某个学⽣的缺课情况;
(4) 统计某段时间内,旷课学⽣姓名及旷课次数,按旷课次数由多到少排序;
(5) 统计某段时间内,有学⽣旷课的课程及旷课⼈次,按旷课⼈次由多到少排序;
(6) 系统以菜单⽅式⼯作。
本程序由visual studio 2017编写
我会先将程序放上来然后后⾯慢慢加注释,程序的⼤概思路是设计三个结构体,考勤信息结构体负责保存每⼀条缺课信息,其中包括学⽣信息和课程信息,每次添加考勤信息的时候,剩下的两个学⽣和课程结构体会⾃动从⾥⾯添加所需要的信息,整个程序的功能实现也是建⽴在三个结构体的基础上的。
#define _CRT_SECURE_NO_WARNINGS
#define N 1000
#define M 100
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct kaoqing {
//int total;//旷课总节数
int number;// 旷课的第⼏节
char coure_name[20];//课程名称
char stu_name[20];//学⽣名字
学生考勤系统C语言课程设计
《程序设计》
课程设计说明书
课程名称《程序设计》
设计题目C语言课程设计学生考勤系统
专业班级
学生姓名
指导教师
起止日期2013年6月8日至2013年6月14日福建林业职业技术学院自动化工系
目录
第1章设计目的………………………. 第2章总体设计…………………………第3章详细设计…………………………第4章调试与测试………………………第5章总结与体会………………………附:源程序清单和执行结果……………………………..
第1章设计目的
本次C语言课程设计是对本学期程序设计基础课程的实际应用,也算是对所学知识的一次检验,通过本次课程设计能达到的目的如下:
1.巩固和加深对C课程基本内容和理论知识的理解和掌握。
2.掌握C语言编译和程序调试的基本技能。
3.利用C语言进行基本的程序设计从而逐步了解文件的一些相关操作和掌握函数的使用技巧,包括函数类型的选择,含参数的传递方式。
4.掌握使用数组,指针,引用,文件等编译的方法,提高运用C语言解决实际问题的能力。
5.通过对学生考勤系统的设计、编写源代码,以及对C语言中各个语法和函数的使用,使得对比较复杂的结构体、链接、文件的操作更加熟悉。
6.通过课程设计,将本学期所学知识与实际应用联系和结合起来,培养自己的动手能力,以及加强各学科之间的联系,从而提高个人的团队意识,增强团队之间协调和配合
第2章总体设计
2.1学生考勤信息记录系统的要求
通过该系统实现对学生考勤信息进行创建、录入、修改、查询、保存等操作的管理。
实验考勤信息包括学生姓名,学号,学科种类,各科的考勤信息。
主要功能:
学生考勤系统的c语言课程设计.doc
学生考勤系统的c语言课程设计
.课程设计说明学校,系:
软件学院的专业化:
软件工程学生的名字:
卢清雪没有。以下内容:
1514011242设置项目标题:
学生考勤系统的起止日期是从XXXX :年2月29日到XXXX 3月11日。它指的是导师:财富第一章的设计目的。本课程设计是本学期程序设计基础课程的实际应用,也是对所学知识的测试。通过本课程设计可以达到的目的如下:
1.巩固和深化对C课程基本内容和理论知识的理解和掌握。
2.掌握C语言编译和程序调试的基本技能。
3.用C语言进行基本的程序设计,逐步了解文件的一些相关操作,掌握函数的使用技巧,包括函数类型的选择和参数的传递方式。
4.掌握数组、指针、引用、文件等的编译方法。提高用C语言解决实际问题的能力。
5.通过学生考勤系统的设计,源代码的编写,以及各种语法和函数在C语言中的使用,对较为复杂的结构、链接和文件的操作更加熟悉。
6.通过课程设计,将本学期学到的知识与实际应用相结合,培养自己的动手能力,加强各学科之间的联系,从而提高团队意识,加强团队之间的协调与合作,满足2.1学生考勤信息记录系统第二章总体设计的要求。通过该系统,可以实现学生考勤信息的创建、录入、修
改、查询和保存等操作的管理。
实验出勤信息包括学生姓名、学生编号、科目类型和每个科目的出勤信息。主要功能:
1)、可以完成考勤输入和修改2)、创建班级信息3)、设备查询4)、根据设计要求将考勤信息保存到文件2.2流程图中,绘制如下流程图:
启动菜单24。修改6。5号出口。查询23。创建2。查询11。输入void creat(void),这是2.3中设置的主要功能。无效保存(结构学生*,char[]);结构学生*负荷(char[));无效进入(void);/*输入函数*/void search _ 1(void);/*查询函数_ 1 */void search _ 2(void);/*查询函数_2*/void添加(void);无效修改(void);/*修改功能*/作废返回(作废);/*退出函数*/void _ 1();/* interface-1 */void _ 2();/*接口-2 */mune _ 1();mune _ 2();3.1函数和调用关系void _ 1();/*菜单功能1*/void mune_2() /*菜单功能2*/开始输入记录、查询个人、创建信息、修改信息、查询整班结束菜单_2退出系统1234 56休息休息休息休息休息休息;/*输入功能*/开始输入班级和学生人数p-num==大学体育大学英语口语C语言大学物理马克思大学英语高等数学输入学生对此班级的兴趣Y/N②返回菜单2 n退出开始无效搜索_1(无效);/*查询个人信息*/输入此人的班级和学生编号AP-num==此人出勤信息的真或假输出返回菜单2开始无效搜索_2(无效);/*查询班级信息*/输入班级查询并输出该班级的考勤信息。返回菜单2void modify(无效);/*修改功能*/开始输入您要修改的班级和座位号AP-num==真或假重新
学生管理系统c语言毕业设计
学生管理系统c语言毕业设计
学生管理系统是一个用于管理学生信息和学校日常运营的软件系统。它能够帮助学校管理学生的个人信息、课程安排、成绩记录以及其他相关事务。以下是关于学生管理系统的一些常见问题和解释:
1. 学生管理系统是什么
学生管理系统是一种软件系统,用于帮助学校管理学生信息和学校事务。它可以存储学生的个人信息,包括姓名、年龄、性别、联系方式等。同时,学生管理系统还提供了一系列功能,例如课程安排、成绩记录、考勤管理等。
2. 学生管理系统有哪些功能
学生管理系统通常包含以下主要功能:
-学生信息管理:可以记录学生的个人信息,包括姓名、年龄、性别、住址等。
-课程安排:可以安排学生的课程表,包括课程名称、教师信息、上课时间和地点等。
-成绩记录:可以记录学生的考试成绩和平时成绩,以便后续查询和统计。
-考勤管理:可以记录学生的出勤情况,包括迟到、早退、请假等。-统计分析:可以根据学生的成绩和出勤情况进行统计分析,提供相
关报表和图表。
3. 学生管理系统的优势是什么
学生管理系统有以下几个优势:
-提高工作效率:学生管理系统可以自动化学生信息的录入和管理,减少了手工操作的时间和错误。
-方便数据查询:学生管理系统可以快速查询和检索学生的个人信息、课程安排和成绩记录,提供了方便快捷的数据访问方式。
-信息安全性:学生管理系统可以设置权限和保护机制,保证学生信息的安全性和隐私保护。
4. 如何设计一个学生管理系统
设计一个学生管理系统需要考虑以下几个方面:
-数据库设计:需要设计一个合适的数据库结构来存储学生信息、课程安排和成绩记录等。
C++课程设计-学生考勤管理系统
学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学生缺课信息、查询 某个学生的缺课情况、统计某段时间内(以天为单位),旷课学生姓名及旷课节数和统计某段时间内, 有学生旷课的课程及旷课人次。学生的缺课信息主要包含缺课日期,第几节课、课程名称,学生姓 名,缺课类型。
在录入学生缺课信息时根据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入, 用户可以选择继续或返回主菜单。
目录 1. 系统需求分析................................................................................................................................. 1 2. 总体设计......................................................................................................................................... 1 3. 详细设计......................................................................................................................................... 2 4. 系统调试......................................................................................................................................... 7 5. 结果分析......................................................................................................................................... 7 6. 总结................................................................................................................................................. 8 附录:源程序清单
C语言课程设计学生考勤系统
C语言程序设计
课程设计报告设计题目:学生考勤系统设计专业微电子科学与工程
班级微电131
学生赵杨怡
指导教师
年学期
1.程序的总体设计
◎确定界面,使用户可选择操作项目(录入,修改,查询,评分)。◎录入功能:使用结构体,要求用户输入姓名、性别、学号、日期、节次、当前出勤情况等信息,并写入文件。
◎修改功能:使用户输入学号,姓名其中一项可以修改考勤其信息。对于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再重新覆盖写入文件。
◎查询模块:使用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。对于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。
◎评分模块:系统根据总的应道考勤数按照百分制,求出每个学生的分数,并输出到屏幕。
2.数据结构
学生信息用结构体记录,包括姓名(字符数组)、性别(字符型)、日期(年月日三个字符数组)、节次(整型)、出情况(整型)。
3.函数原型声明
voidmain()//主函数
voidinput();//录入数据函数voidchange();//修改数据函数
voidsearch();//查询数据函数
voidevaluate();//计算总评函数
二、详细设计
1.main()函数
流程图:
2.input()函数
流程图:
3.
N
4.search()函数
流程图:
5.
流程图:
测试方案:按照每个函数功能进行测试,在做完每个函数对其进行测试,主函数测试,先将所有需要的功能模块函数设置为空,每个函数用一个printf语句来测试主函数。
考勤管理系统C语言课程设计
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY
C语言程序设计
课程设计报告
课设题目:考勤管理系统
专业:自动化
班级: xxxxx
姓名: xxxx
成绩: xxxx
目录
1.课程设计目的 (3)
2.需求分析 (3)
2.1要求 (3)
2.2任务描述 (4)
2.3运行环境 (4)
2.4开发工具 (4)
3.总体设计 (4)
3.1系统流设计 (4)
3.2系统模块设计 (5)
4.详细设计 (6)
4.1数据结构设计 (6)
4.2模块接口设计 (6)
4.3 以下是几个主要模块的流程图: (7)
5.运行结果 (10)
5.1主菜单界面: (11)
5.2信息录入界面: (12)
5.3信息浏览界面: (13)
5.4 信息查询界面: (15)
5.5信息修改界面: (15)
6.程序调试与测试 (17)
6.1程序调试 (17)
6.2程序测试 (19)
7.问题与不足 (19)
8.建议 (19)
9.编程体会 (19)
10.程序源代码: (20)
11.参考文献 (38)
12.用户使用手册 (38)
1.课程设计目的
1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,
并设计合理的模块化结构。
2)通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、
链表、结构体、文件等数据结构。
3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程
序。
4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知
识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。
C课设学生考勤系统
C语言程序设计
课程设计报告
设计题目:商品售购系统设计
专业电子信息工程
班级电信111
学生冯叶
指导教师徐开亮
2012 年春季学期
一、总体设计
1.程序的总体设计
◎确定界面,使用户可选择操作项目(录入,查询,修改,浏览)。
◎录入功能:使用结构体,要求用户输入姓名、学号、性别、在场次数、缺席次数、迟到次数等信息,并写入文件。
◎修改功能:使用户输入学号可以修改考勤其信息。对于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再重新覆盖写入文件。
◎查询模块:使用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。对于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。
◎评分模块:系统根据在场次数,缺席次数,迟到次数,求出每个学生的分数,并输出到屏幕。(分数=在场次数*5+迟到次数*3+缺席次数*0)
2. 数据结构
学生信息用结构体记录,包括姓名、学号、性别、在场次数、缺席次数,迟到次数。
3. 函数原型声明
int showmeun //系统主菜单显示
int submeun //子菜单显示
void submain //子系统
void inputinfo //输入学生个人信息
void aboutinfo //查询个人信息
void ModifyByNumber //修改信息
void allabout //查询所有信息
void insert_student //插入学生信息
void delete_student //删除学生信息
二、详细设计
C++课程设计-学生考勤管理系统
3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时 间升序排序。
4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降 序排序,旷课节数相同的学生按姓名升序排序;
输入要查询的学生姓名 显示要查询的学生缺课信息
继续查询或返回菜单
图 6 学生考勤管理系统查询学生缺课信息功能图 4、 统计某段时间内旷课学生姓名及旷课节数功能模块:
统计某段 时间内旷 课学生姓 名及旷课 节数功能
统计某段时间内旷课学生姓名及旷 课节数
显示某段时间内旷课学生姓名及 旷课节数
返回菜单
图 7 统计某段时间内旷课学生姓名及旷课节数功能图
学生考勤管理系统中功能模块图:
学生考勤管理系统
录入学生的 缺课信息
修改某学生 的缺课信息
查询某学生 的缺课信息
统计某段时 间内旷课学 生姓名及旷 课节数
统计某段时间 内,有学生旷课 的课程及旷课 人次
录入缺课学
生的姓名、
缺课日期、 缺课节次、 缺课课程 名称、缺课 类型
修改某学生
的缺课日 期、缺课节 次、缺课课 程名称、缺 课类型
已审阅
lenovo , 17:17:25, 2015/07/09
学生考勤管理系统课程设计
2012-2013学年第二学期学号1208010217
《高级语言程序设计》
课程设计报告
题目:学生考勤管理系统
专业:计算机科学与技术
班级:12(2)班
姓名:李天栋
指导教师:孙淮宁
成绩:
计算机与信息工程系
2013年6月30日
目录
1设计内容及要求 (3)
1.1设计内容 (3)
1.2设计任务及具体要求 (3)
2概要设计 (4)
2.1该系统的功能简介 (4)
2.2 总体程序框图 (4)
2.3各个模块之间的主要关系 (5)
3设计过程或程序代码 (5)
3.1各个模块的程序流程图及运行界面 (5)
3.2对关键代码加以分析说明 (10)
4程序调试分析 (14)
5小结 (17)
致谢 (17)
参考文献 (17)
附:源程序 (18)
1 设计内容及要求
1.1设计内容
学生考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。
1.2设计任务及具体要求
任务:(1)给出软件结构,说明各模块的功能。
(2)设计相关的类,并说明该类的作用。特别要用图形说明类之间的继承关系。
(3)编写代码
具体要求:(1)定义相关的数据,比如:
学生学号
学生姓名
课程名称
上课时间
到课时间
出勤状态 [旷课/病假/事假/迟到/早退]
(2)能够进行以下操作:
A.能够对数据进行增、删、改、查操作。
B.能够按学号顺序列出某一课程的出勤状况
2 概要设计
2.1系统的功能简介
考勤管理系统,有以下功能:
(1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:缺课日期第几节课课程名称学生姓名缺课类型每行一条纪录。例如:
C++课程设计-学生考勤管理系统
系统架构:采用C/S架构,客户端和服务器端分离 模块划分:分为用户管理、考勤管理、统计分析、系统设置四个模块 用户管理模块:实现用户注册、登录、修改密码等功能 考勤管理模块:实现考勤记录查询、考勤统计等功能 统计分析模块:实现考勤数据分析、生成报表等功能 系统设置模块:实现系统参数设置、系统维护等功能
数据库表结构:学生表、课 程表、考勤表等
数据库类型:SQL Server或 MySQL
数据库字段:学号、姓名、课 程名称、考勤时间、考勤状态
等
数据库关系:学生与课程、 课程与考勤的关系等
登录界面:用户名、密码输入框,登录 按钮
主界面:菜单栏、工具栏、状态栏,显 示学生信息、考勤记录等
学生信息界面:显示学生姓名、学号、 班级等信息
登录界面: 输入用户 名和密码, 点击登录 按钮
主界面: 显示学生 信息、考 勤记录、 统计图表 等
学生信息 界面:显 示学生姓 名、学号、 班级等信 息
考勤记录 界面:显 示学生考 勤记录, 包括日期、 时间、状 态等
统计图表界 面:显示学 生考勤统计 图表,包括 考勤次数、 迟到次数、 旷课次数等
学生信息管理:包 括学生姓名、学号、 班级等信息的录入、 修改、删除等操作
考勤记录管理:包 括考勤记录录入、 修改、删除等操作
考勤统计分析:包 括考勤记录统计、 考勤情况分析等操 作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
课程设计报告设计题目:学生考勤系统设计
专业微电子科学与工程
班级微电131
学生赵杨怡
指导教师
年学期
一、总体设计
1.程序的总体设计
◎确定界面,使用户可选择操作项目(录入,修改,查询,评分)。
◎录入功能:使用结构体,要求用户输入姓名、性别、学号、日期、节次、当前出勤情况等信息,并写入文件。
◎修改功能:使用户输入学号,姓名其中一项可以修改考勤其信息。对于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再重新覆盖写入文件。
◎查询模块:使用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。对于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。
◎评分模块:系统根据总的应道考勤数按照百分制,求出每个学生的分数,并输出到屏幕。
2. 数据结构
学生信息用结构体记录,包括姓名(字符数组)、性别(字符型)、日期(年月日三个字符数组)、节次(整型)、出情况(整型)。
3. 函数原型声明
void main() 生信息及考勤情况录入◇\n");
printf(" ●●\n");
printf(" ◇ 2.学生信息及考勤情况修改◇\n");
●●\n");
查询
◎◎\n");
询
◇◇\n");
□\n");
开始
input() 函数
void input()
{
int i,j=0,jx=1;
printf(" ************************学生基本信息录入*****************************\n");
if((fp=fopen("","w"))==NULL)
{
printf("文件打开失败\n");
exit(0);
}
for(i=0;jx==1;i++) ame);
printf("请输入第%d个学生的学号",i+1);
gets(stu[i].number);
printf("请输入第%d 个学生的性别(男:m 女:f) ",i+1);
stu[i].sex=getchar();
printf("请输入第%d 个学生的生日(格式:年 月 日) ",i+1);
scanf("%d%d%d",&stu[i].year,&stu[i].month,&stu[i].day);
printf("请输入第%d 个学生的当前考勤次数 ",i+1);
scanf("%d",&stu[i].kq);
printf("您输入的信息为 姓名 %s 学号 %s 性别 %c 生日 %d 年%d 月%d 日\n 0 重输 1 确认
{ 修 改 } );
q); } ame,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq );
search()void search() N
{ int i=0,j=0,sway,t,x;
char name[10],number[10];
printf(" ***********************学生信息查询***************************\n");
if((fp=fopen("","r"))==NULL) ame,name);
if(j==i)
{
t=0;
printf("未找到您所查询的数据,请重新输入\n");
}
}
if(j
ame,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq );
}
printf("是否继续查询其他学生信息0 否 1 是");
scanf("%d",&x);
if(x==1) search();
}
/**********************按照姓名查找结束*************************umber,number);
if(j==i)
{
t=0;
printf("未找到您所查询的数据,请重新输入\n");
}
}
if(j
ame,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq );
}
printf("是否继续查询其他学生信息0 否 1 是");
scanf("%d",&x);
if(x==1) search();
}
结束{
float score;
char name[10],number[10];
printf(" ***********************学生考勤分数计算**************************\n");
if(kqcs==0)
{
printf("请输入应到考勤总数"); ame,name);
if(j==i)
{
t=0;
printf("未找到您所查询的数据,请重新输入\n");
}
}
if(j
ame,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq );
score=(stu[j-1].kq)/kqcs*100;
printf("该生当前考勤分数为%",score);
}
printf("是否继续计算其他学生考勤分数0 否 1 是");
scanf("%d",&x);
if(x==1) evaluate();
}
/**********************按照姓名查找结束*************************umber,number);
if(j==i)
{
t=0;
printf("未找到您所查询的数据,请重新输入\n");
}
}
if(j
ame,stu[j-1].number,stu[j-1].sex,stu[j-1].year,stu[j-1].month,stu[j-1].day,stu[j-1].kq );
score=(stu[j-1].kq)/kqcs*100;
printf("该生当前考勤分数为%",score);
}
printf("是否继续计算其他学生考勤分数0 否 1 是");
scanf("%d",&x);
if(x==1) evaluate();
}
结束
●