【C语言】学生打卡系统(完整代码)

题目描述

1.学生信息及打卡情况的录入
2.修改某个学生的打卡情况
3.查询某个学生的打卡情况
4.旷课学生的姓名及次数
5.学生打卡的总评分数计算

完整代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

FILE *fp;  //定义文件
char a;    //返回选择变量
float kq = 10;    //应到打卡次数

 struct  student
{
	char name[10];      //姓名
	char number[11];    //学号
	char sex;           //性别
	int year;           //出生日期--年
	int month;          //出生日期--月
	int day;            //出生日期--日
	int k;              //打卡次数
}stu[100];

void input();
void change();
void search();
void times();
void evaluate();
int main();

int main()
{
	int it = 0;
	printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★\n");
	printf("\t\t★         ※欢迎进入学生考勤系统             ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         1.学生信息及打卡情况录入           ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         2.修改某个学生的打卡情况           ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         3.查询某个学生的打卡记录           ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         4.旷课学生的姓名及次数             ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         5.学生打卡的总评分数计算           ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★         6.退出系统                         ★\n");
	printf("\t\t★                                            ★\n");
	printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★\n");
	printf("\t *******请选择您需要的操作*******  ");
	scanf("%d", &it);
	switch (it)
	{
	case 1: input(); break;
	case 2:change(); break;
	case 3:search(); break;
	case 4:times(); break;
	case 5:evaluate(); break;
	case 6:           break;
	default: printf("请重新输入!\n");
	}
	if (it == 6)
		printf("\t\t\t退出考勤系统,欢迎下次使用!");
	system("pause");
	return 0;
}

void input()
{
	int i = 0;
	int j = 0;
	int x = 1;
	printf(
好,下面是一个简单的学生打卡管理系统的示例代码。这个系统可以用来记录学生的考勤情况,包括学生姓名、考勤日期、考勤时间等信息。 ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 100 #define MAX_NAME_LEN 20 #define MAX_DATE_LEN 10 #define MAX_TIME_LEN 10 struct student { char name[MAX_NAME_LEN]; char date[MAX_DATE_LEN]; char time[MAX_TIME_LEN]; }; struct student students[MAX_STUDENTS]; int num_students = 0; void add_student() { if (num_students >= MAX_STUDENTS) { printf("Error: maximum number of students reached!\n"); return; } struct student new_student; printf("Enter student name: "); scanf("%s", new_student.name); printf("Enter date (format: YYYY-MM-DD): "); scanf("%s", new_student.date); printf("Enter time (format: HH:MM:SS): "); scanf("%s", new_student.time); students[num_students++] = new_student; printf("Student added successfully!\n"); } void list_students() { if (num_students == 0) { printf("No students found!\n"); return; } printf("%-20s %-10s %-10s\n", "Name", "Date", "Time"); printf("--------------------------------------------------\n"); for (int i = 0; i < num_students; i++) { printf("%-20s %-10s %-10s\n", students[i].name, students[i].date, students[i].time); } } int main() { int choice; while (1) { printf("1. Add student\n"); printf("2. List students\n"); printf("3. Quit\n"); printf("Enter your choice: "); scanf("%d", &choice); switch (choice) { case 1: add_student(); break; case 2: list_students(); break; case 3: printf("Goodbye!\n"); exit(0); default: printf("Invalid choice!\n"); break; } printf("\n"); } return 0; } ``` 这个系统使用了一个结构体来存储每个学生的信息,包括姓名、考勤日期考勤时间。用户可以选择添加新的学生记录或者列出已有的学生记录。在添加新的学生记录时,用户需要输入学生姓名、考勤日期考勤时间,系统会将这些信息存储到一个结构体中,并将这个结构体添加到学生数组中。在列出已有的学生记录时,系统会遍历学生数组并输出每个学生姓名、考勤日期考勤时间
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值