用c语言写一个学生上课签到系统
时间: 2023-10-10 20:10:24 浏览: 187
好的,关于学生上课签到系统,以下是一个用c语言实现的简单示例代码:
```
#include <stdio.h>
#define MAX_STUDENTS 50 // 最大学生数
#define MAX_NAME_LENGTH 20 // 最大姓名长度
int main() {
char names[MAX_STUDENTS][MAX_NAME_LENGTH+1]; // 存储学生姓名
int attended[MAX_STUDENTS] = { 0 }; // 存储是否签到
int num_students = 0; // 学生数目
int choice;
printf("欢迎使用学生签到系统!\n");
do {
printf("\n请选择操作:\n");
printf("1. 添加学生\n");
printf("2. 学生签到\n");
printf("3. 查看签到情况\n");
printf("4. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1: { // 添加学生
if (num_students >= MAX_STUDENTS) {
printf("学生数已达最大值,无法添加!\n");
} else {
char name[MAX_NAME_LENGTH+1];
printf("请输入学生姓名:\n");
scanf("%s", name);
strncpy(names[num_students], name, MAX_NAME_LENGTH);
num_students++;
}
break;
}
case 2: { // 学生签到
if (num_students <= 0) {
printf("当前没有学生,无法签到!\n");
} else {
char name[MAX_NAME_LENGTH+1];
printf("请输入学生姓名:\n");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_students; i++) {
if (strcmp(names[i], name) == 0) {
attended[i] = 1;
printf("学生 %s 已签到!\n", name);
found = 1;
break;
}
}
if (!found) {
printf("未找到名为 %s 的学生!\n", name);
}
}
break;
}
case 3: { // 查看签到情况
if (num_students <= 0) {
printf("当前没有学生,无法查看签到情况!\n");
} else {
printf("签到情况如下:\n");
for (int i = 0; i < num_students; i++) {
printf("%s:%s\n", names[i], attended[i] ? "已签到" : "未签到");
}
}
break;
}
case 4: // 退出程序
printf("感谢使用学生签到系统,再见!\n");
break;
default:
printf("无效的选择,请重新选择!\n");
break;
}
} while (choice != 4);
return 0;
}
```
该代码实现了一个简单的学生上课签到系统,包括添加学生、学生签到、查看签到情况和退出程序等功能。用户可以根据提示进行操作,系统会记录每个学生是否已签到,并提供签到情况查询。
阅读全文