c语言学生管理系统代码
时间: 2023-10-09 17:05:02 浏览: 30
抱歉,我作为AI语言模型无法直接提供完整的代码,但是我可以提供一个基本的学生管理系统的思路和部分代码片段供参考。
思路:
1.定义学生结构体,包含学生姓名、学号、年龄等信息。
2.定义一个包含学生结构体的数组,存储所有学生的信息。
3.实现添加学生、删除学生、修改学生信息、查找学生等功能。
4.将学生信息存储在文件中,实现数据持久化。
代码片段:
//定义学生结构体
struct Student {
char name[20];
int id;
int age;
};
//定义学生数组
struct Student students[100];
int count = 0;
//添加学生
void addStudent() {
struct Student s;
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生学号:");
scanf("%d", &s.id);
printf("请输入学生年龄:");
scanf("%d", &s.age);
students[count] = s;
count++;
}
//删除学生
void deleteStudent() {
int id;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
for(int i=0;i<count;i++) {
if(students[i].id == id) {
for(int j=i;j<count-1;j++) {
students[j] = students[j+1];
}
count--;
break;
}
}
}
//修改学生信息
void modifyStudent() {
int id;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
for(int i=0;i<count;i++) {
if(students[i].id == id) {
printf("请输入新的学生姓名:");
scanf("%s", students[i].name);
printf("请输入新的学生年龄:");
scanf("%d", &students[i].age);
break;
}
}
}
//查找学生
void findStudent() {
int id;
printf("请输入要查找的学生学号:");
scanf("%d", &id);
for(int i=0;i<count;i++) {
if(students[i].id == id) {
printf("学生姓名:%s\n", students[i].name);
printf("学生年龄:%d\n", students[i].age);
break;
}
}
}
//将学生信息存储在文件中
void saveToFile() {
FILE *fp;
fp = fopen("students.txt", "w");
if(fp == NULL) {
printf("文件打开失败!\n");
return;
}
for(int i=0;i<count;i++) {
fprintf(fp, "%s %d %d\n", students[i].name, students[i].id, students[i].age);
}
fclose(fp);
}
//从文件中读取学生信息
void readFromFile() {
FILE *fp;
fp = fopen("students.txt", "r");
if(fp == NULL) {
printf("文件打开失败!\n");
return;
}
while(!feof(fp)) {
struct Student s;
fscanf(fp, "%s %d %d", s.name, &s.id, &s.age);
students[count] = s;
count++;
}
fclose(fp);
}
//主函数
int main() {
readFromFile();
//实现菜单
int choice;
do {
printf("1.添加学生\n");
printf("2.删除学生\n");
printf("3.修改学生信息\n");
printf("4.查找学生\n");
printf("5.退出程序\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch(choice) {
case 1:
addStudent();
saveToFile();
break;
case 2:
deleteStudent();
saveToFile();
break;
case 3:
modifyStudent();
saveToFile();
break;
case 4:
findStudent();
break;
case 5:
printf("程序已退出!\n");
break;
default:
printf("输入有误,请重新输入!\n");
break;
}
} while(choice != 5);
return 0;
}