用c语言以文档形式写一个学生管理系统
时间: 2023-05-28 12:04:47 浏览: 67
学生管理系统设计文档
一、需求分析
学生管理系统是一款用于管理学生信息的软件,可以方便地对学生的基本信息进行增删改查。本系统的主要功能包括学生信息的录入、查询、修改和删除。
二、系统设计
1. 系统框架
本系统采用C语言编写,主要包括以下几个模块:
(1)主菜单模块
(2)录入模块
(3)查询模块
(4)修改模块
(5)删除模块
(6)退出模块
2. 数据结构
本系统主要采用结构体数组来存储学生信息,每个结构体包括学号、姓名、性别、年龄、成绩等基本信息。
3. 主要模块介绍
(1)主菜单模块
主菜单模块是整个系统的入口,用户可以选择进入不同的模块进行操作。主菜单模块的代码如下:
void main_menu()
{
printf("\n*****************学生信息管理系统*****************\n");
printf("*************************菜单**************************\n");
printf("1.录入学生信息\n");
printf("2.查询学生信息\n");
printf("3.修改学生信息\n");
printf("4.删除学生信息\n");
printf("5.退出系统\n");
printf("******************************************************\n");
}
(2)录入模块
录入模块用于录入学生信息,主要包括学号、姓名、性别、年龄、成绩等信息。录入模块的代码如下:
void add_student()
{
int i, n;
printf("请输入要添加的学生数量:");
scanf("%d", &n);
for(i = 0; i < n; i++)
{
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &stu[i].num);
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf("%s", stu[i].sex);
printf("年龄:");
scanf("%d", &stu[i].age);
printf("成绩:");
scanf("%f", &stu[i].score);
}
}
(3)查询模块
查询模块用于查找学生信息,用户可以根据学号、姓名等信息进行查询。查询模块的代码如下:
void search_student()
{
int flag = 0, num, i;
char name[20];
printf("请选择查询方式:\n");
printf("1.按学号查询\n");
printf("2.按姓名查询\n");
scanf("%d", &flag);
if(flag == 1)
{
printf("请输入要查询的学生学号:");
scanf("%d", &num);
for(i = 0; i < N; i++)
{
if(stu[i].num == num)
{
printf("学号\t姓名\t性别\t年龄\t成绩\n");
printf("%d\t%s\t%s\t%d\t%.2f\n", stu[i].num, stu[i].name, stu[i].sex, stu[i].age, stu[i].score);
break;
}
}
if(i == N)
{
printf("未找到该学生信息!\n");
}
}
else if(flag == 2)
{
printf("请输入要查询的学生姓名:");
scanf("%s", name);
for(i = 0; i < N; i++)
{
if(strcmp(stu[i].name, name) == 0)
{
printf("学号\t姓名\t性别\t年龄\t成绩\n");
printf("%d\t%s\t%s\t%d\t%.2f\n", stu[i].num, stu[i].name, stu[i].sex, stu[i].age, stu[i].score);
break;
}
}
if(i == N)
{
printf("未找到该学生信息!\n");
}
}
else
{
printf("输入有误,请重新输入!\n");
}
}
(4)修改模块
修改模块用于修改学生信息,用户可以根据学号修改学生信息。修改模块的代码如下:
void modify_student()
{
int num, i;
printf("请输入要修改的学生学号:");
scanf("%d", &num);
for(i = 0; i < N; i++)
{
if(stu[i].num == num)
{
printf("请输入修改后的学生信息:\n");
printf("学号:%d\n", stu[i].num);
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf("%s", stu[i].sex);
printf("年龄:");
scanf("%d", &stu[i].age);
printf("成绩:");
scanf("%f", &stu[i].score);
printf("修改成功!\n");
break;
}
}
if(i == N)
{
printf("未找到该学生信息!\n");
}
}
(5)删除模块
删除模块用于删除学生信息,用户可以根据学号删除学生信息。删除模块的代码如下:
void delete_student()
{
int num, i, j;
printf("请输入要删除的学生学号:");
scanf("%d", &num);
for(i = 0; i < N; i++)
{
if(stu[i].num == num)
{
for(j = i; j < N; j++)
{
stu[j] = stu[j+1];
}
N--;
printf("删除成功!\n");
break;
}
}
if(i == N)
{
printf("未找到该学生信息!\n");
}
}
(6)退出模块
退出模块用于退出学生管理系统。退出模块的代码如下:
void exit_system()
{
printf("谢谢使用,再见!\n");
exit(0);
}
三、系统测试
本系统经过测试,能够正常地进行学生信息的录入、查询、修改和删除操作,符合需求分析的要求。
四、总结
本系统采用C语言编写,主要采用结构体数组来存储学生信息,能够方便地对学生的基本信息进行增删改查。本系统具有简单、易用、实用的特点,可以方便地进行学生信息管理。