学生管理系统
-
功能:增加、删除、保存、刷新、查询、修改、显示学生信息
-
模块思想,将每一个功能写成一个函数
-
将每个学生基本信息定义一个结构体
N为宏定义,最大学生数struct STU {
char num[100]; //学号
char name[100]; //姓名
char sex[10]; //性别
int age; //年龄
float score[3]; //成绩*3[C语言,高数,英语]
}stu[N]; -
函数声明
void menu(); //打印菜单
void help(); //打印使用帮助
void increase(); //增加学生信息
void search(); //搜索学生信息
void dlt(); //删除学生信息
void save(); //保存学生信息
void display(); //显示学生信息
void modify(); //修改学生信息
void flush(); //刷新学生信息
void exit(); //退出 -
main函数
在对每一个函数命名时尽量做到见名知意
当t为真时,循环运行,t为假时,循环结束int main()
{
int number;
while (t)
{
menu();
printf(“请输入菜单编号:”);
scanf(“%d”, &number);
switch (number)
{
case 1:help(); break; //使用帮助
case 2:increase(); break; //增加学生信息
case 3:search(); break; //查询学生信息
case 4:dlt(); break; //删除学生信息
case 5:save(); break; //保存当前信息
case 6:display(); break; //显示当前信息
case 7:modify(); break; //修改学生信息
case 8:flush(); break; //刷新学生信息
case 9:exit(0); break; //退出
default:printf(“输入有误!”);
}
}
} -
menu函数
void menu() //显示菜单
{
printf("
“);
printf(”*****************************************************
“);
printf(”* 学生信息管理系统 *
“);
printf(”*****************************************************
");
printf("系统功能菜单*
“);
printf(”----------------------- -------------------------
“);
printf(”*****************************************************
“);
printf(”** 1、使用帮助 * 2、增加学生信息 **
“);
printf(”*****************************************************
“);
printf(”** 3、查询学生信息 * 4、删除学生信息 **
“);
printf(”*****************************************************
“);
printf(”** 5、保存当前信息 * 6、显示当前信息 **
“);
printf(”*****************************************************
“);
printf(”** 7、修改学生信息 * 8、刷新学生信息 **
“);
printf(”*****************************************************
“);
printf(”** 9、退出系统 * **
“);
printf(”*************************
“);
printf(”----------------------- -------------------------
");
} -
help函数
- system(“pause”); 让系统暂停
void help() //使用帮助
{
printf("
这是一个学生管理系统,为方便您更快了解它,请先阅读以下注意事项:
“);
printf(”
注意事项:
“);
printf(”
1、请根据提示进行操作!
“);
printf(”
2、初次使用请先选择增加学生信息!
“);
printf(”
3、修改或者增加学生信息后切记保存!
“);
printf(”
4、如果数据有错误,请先修改再保存!
“);
printf(”
5、若您之前使用过,下次进入系统请先刷新学生信息!
“);
printf(”
6、在添加学生时,用两个字符代表不同的性别,比如男用‘M’代替,女用‘W’代替!
“);
printf(”
7、保存或者刷新时,输入的文件名后缀请使用.txt,比如: stu.txt,系统会在源程序
“);
printf(”
“学生管理系统.exe”的相同目录建立一个.txt文件来保存学生信息,您可以查看
“);
printf(”
该文件,但非专业人员不要轻易改动,否则会造成刷新数据异常或刷新失败!
“);
printf(”
8、学生信息包括:姓名、学号、性别、年龄、C语言成绩、高数成绩、英语成绩等!
“);
printf(”
9、使用遇到任何问题请与我们联系,电话:12345678
“);
printf(”
10、最后感谢您的使用!
");
system(“pause”); //让系统暂停
} -
increase函数(增加学生信息)
- 定义flag,判断学生信息是否存在
- n为已存在的学生信息数量
void increase() //增加学生信息
{
int m, flag, i = n, j;
printf(“请输入待添加的学生人数:
“);
scanf(”%d”, &m);
if (m > 0)
{
do
{
flag = 1;
while (flag != 0)
{
flag = 0;
printf("请输入第%d位学生的学号:
", i + 1);
getchar();
gets(stu[i].num);
for (j = 0; j < i; j++)
{
if (strcmp(stu[i].num, stu[j].num) == 0)
{
printf("该学号已存在,请重新输入!
");
flag = 1;
break;
}
}
}
printf("请输入第%d位学生姓名:
", i + 1);
gets(stu[i].name);
printf("请输入第%d位学生性别:
", i + 1);
gets(stu[i].sex);
printf(“请输入第%d位学生年龄:
“, i + 1);
scanf(”%d”, &stu[i].age);
printf(“请输入第%