用c语言写一个学生信息管理系统要求有注册,登录,添加学生信息,查找学生信息,删除学生信息,显示学生信息并用文件读写储存的方式保存的项目
时间: 2024-03-27 19:39:10 浏览: 14
好的,这是一个比较完整的学生信息管理系统,需要实现一些基本的功能,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100 //最多存储100个学生信息
#define FILE_NAME "student.txt" //保存学生信息的文件名
typedef struct student {
char id[10]; //学号
char name[20]; //姓名
int age; //年龄
char sex[5]; //性别
char phone[20]; //电话
} Student;
Student students[MAX_SIZE]; //定义一个数组存储学生信息
int count = 0; //学生信息数量计数器
//注册
void registerUser() {
//此处省略注册功能的实现
printf("注册成功!\n");
}
//登录
void login() {
//此处省略登录功能的实现
printf("欢迎登录!\n");
}
//添加学生信息
void addStudent() {
if (count >= MAX_SIZE) {
printf("学生信息已满,无法添加!\n");
return;
}
printf("请输入学生信息(学号 姓名 年龄 性别 电话):\n");
scanf("%s%s%d%s%s", students[count].id, students[count].name, &students[count].age, students[count].sex, students[count].phone);
count++;
printf("添加成功!\n");
}
//查找学生信息
void searchStudent() {
char id[10];
printf("请输入要查找的学生学号:\n");
scanf("%s", id);
int i;
for (i = 0; i < count; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("学号\t姓名\t年龄\t性别\t电话\n");
printf("%s\t%s\t%d\t%s\t%s\n", students[i].id, students[i].name, students[i].age, students[i].sex, students[i].phone);
return;
}
}
printf("未找到该学生信息!\n");
}
//删除学生信息
void deleteStudent() {
char id[10];
printf("请输入要删除的学生学号:\n");
scanf("%s", id);
int i;
for (i = 0; i < count; i++) {
if (strcmp(students[i].id, id) == 0) {
int j;
for (j = i; j < count - 1; j++) {
students[j] = students[j + 1];
}
count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
//显示学生信息
void displayStudent() {
printf("学号\t姓名\t年龄\t性别\t电话\n");
int i;
for (i = 0; i < count; i++) {
printf("%s\t%s\t%d\t%s\t%s\n", students[i].id, students[i].name, students[i].age, students[i].sex, students[i].phone);
}
}
//将学生信息保存到文件中
void saveToFile() {
FILE *file = fopen(FILE_NAME, "w");
if (file == NULL) {
printf("文件打开失败!\n");
return;
}
int i;
for (i = 0; i < count; i++) {
fprintf(file, "%s %s %d %s %s\n", students[i].id, students[i].name, students[i].age, students[i].sex, students[i].phone);
}
fclose(file);
printf("保存成功!\n");
}
//从文件中读取学生信息
void readFromFile() {
FILE *file = fopen(FILE_NAME, "r");
if (file == NULL) {
printf("文件打开失败!\n");
return;
}
count = 0;
while (!feof(file)) {
fscanf(file, "%s%s%d%s%s", students[count].id, students[count].name, &students[count].age, students[count].sex, students[count].phone);
count++;
}
fclose(file);
printf("读取成功!\n");
}
int main() {
int choice;
//读取文件中的学生信息