给定某个班级显示该班所有学生的学生证信息的代码
时间: 2023-04-04 10:00:49 浏览: 57
以下是一个简单的示例代码,可以显示班级中所有学生的学生证信息:
#include <stdio.h>
#include <string.h>
// 定义学生证结构体
struct StudentID {
char name[20];
char id[10];
int age;
};
int main() {
// 定义班级学生数组
struct StudentID students[5] = {
{"张三", "1001", 18},
{"李四", "1002", 19},
{"王五", "1003", 20},
{"赵六", "1004", 21},
{"钱七", "1005", 22}
};
// 遍历班级学生数组,输出学生证信息
for (int i = ; i < 5; i++) {
printf("姓名:%s,学号:%s,年龄:%d\n", students[i].name, students[i].id, students[i].age);
}
return ;
}
相关问题
给定某学生学号修改该学生班级信息的代码
以下是修改学生班级信息的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
#define MAX_CLASS_NAME_LEN 20
typedef struct {
char id[10];
char name[20];
char class_name[MAX_CLASS_NAME_LEN];
} Student;
int main() {
Student students[MAX_STUDENT_NUM];
int student_num = ;
char target_id[10];
char new_class_name[MAX_CLASS_NAME_LEN];
// 读取学生信息
FILE *fp = fopen("students.txt", "r");
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
while (fscanf(fp, "%s %s %s", students[student_num].id, students[student_num].name, students[student_num].class_name) != EOF) {
student_num++;
}
fclose(fp);
// 输入要修改的学生学号和新班级名称
printf("请输入要修改的学生学号:");
scanf("%s", target_id);
printf("请输入新的班级名称:");
scanf("%s", new_class_name);
// 查找要修改的学生并修改班级名称
int found = ;
for (int i = ; i < student_num; i++) {
if (strcmp(students[i].id, target_id) == ) {
strcpy(students[i].class_name, new_class_name);
found = 1;
break;
}
}
// 输出修改结果
if (found) {
fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
for (int i = ; i < student_num; i++) {
fprintf(fp, "%s %s %s\n", students[i].id, students[i].name, students[i].class_name);
}
fclose(fp);
printf("修改成功!\n");
} else {
printf("未找到该学生!\n");
}
return ;
}
```
给定某学生的学号删除该学生的学生证信息的代码
这个问题可以回答。以下是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 1000
typedef struct {
char id[20];
char name[50];
char gender[10];
char major[50];
char phone[20];
} Student;
int main() {
Student students[MAX_STUDENT_NUM];
int num_students = 0;
// 读入学生信息
FILE *fp = fopen("students.txt", "r");
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
while (fscanf(fp, "%s %s %s %s %s", students[num_students].id, students[num_students].name, students[num_students].gender, students[num_students].major, students[num_students].phone) != EOF) {
num_students++;
}
fclose(fp);
// 删除指定学生的信息
char target_id[20];
printf("请输入要删除的学生的学号:");
scanf("%s", target_id);
int found = 0;
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, target_id) == 0) {
found = 1;
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
break;
}
}
if (!found) {
printf("未找到该学生\n");
return 1;
}
// 将修改后的学生信息写回文件
fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
for (int i = 0; i < num_students; i++) {
fprintf(fp, "%s %s %s %s %s\n", students[i].id, students[i].name, students[i].gender, students[i].major, students[i].phone);
}
fclose(fp);
printf("删除成功\n");
return 0;
}
```