本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"!
作者:张磊|慕课网讲师
0基础学员在经过C语言基础语法的学习后,需要通过一些实战案例来学习如何将C语言应用到实际工作中,今天我们通过一个学生管理系统案例的开发来提升实际开发能力。
1. 系统介绍
在这里,我们首先采用了数组的方式来存储我们输入的内容。同时,我们这里利用里前面学习到的 struct
来结构化存储我们的学生信息。
我们实现了基本的对于数据操作的几项功能:增、删、改、查。
也就是我们可以向这个系统中添加数据,删除数据,修改数据,还有就是查询数据。这里的查询数据,我们又分为了全部无条件的查询,和按照姓名条件的查询。
2. 功能
系统的功能里面我们设计了添加、删除、修改、列表显示和查询等 5 个功能。
添加:添加就是将数据添加到存储数据的数组中;
删除:删除就是根据指定的序列号删除特定的一条数据;
修改:修改就是根据指定的序列号来修改学生的成绩;
列表显示:列表的显示,其实就是无条件的查询,也就是在没有特点查询条件的情况下,将存储的数据全部显示出来;
查询:这里的查询,就是按照姓名这个特性的条件。把符合这个条件的数据筛选出来,并显示出来。
示例程序
#include <stdio.h>
#include <string.h>
#define StudentNumbers 50
#define NameLength 50
typedef struct
{
int id;
char name[NameLength];
int age;
int score;
int flag;
} Student;
int add(Student student, Student Students[]);
int del(int id, Student students[]);
int display(Student students[]);
int update(int id, Student students[]);
int search(char name[], Student students[]);
int main()
{
int id = -1;
char name[NameLength];
int choice = 0;
int stop = 0;
Student students[StudentNumbers];
Student student;
for (int i = 0; i < StudentNumbers; i++)
{
students[i].id = i;
students[i].flag = 0;
}
while (stop == 0)
{
printf("-------------------------\n");
printf("* 学生管理系统 *\n");
printf("-------------------------\n");
printf("1 添加\n");
printf("2 修改成绩\n");
printf("3 查询\n");
printf("4 删除\n");
printf("5 显示学生列表\n");
printf("0 退出程序\n");
printf("请直接输入数字选项:");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("请输入学生姓名:");