C语言课程设计
题目名称:
学生信息管理系统
姓
名
XXX
学
号
XXXXXXXX
专
业
网络工程
班
级
一班
指导教师
XXX
编写日期
2011/6/6
目
录
查询函数 ...............................................
1、序言
随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增
加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这
样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,
从而减少管理方面的工作量。
2、需求分析
本系统主要需要解决的任务是实现学生信息关系的系统化、规范化和自动化,其
主要目的是计算学生各种信息进行日常管理,如查询、修改、增加删除学生信息等。
在实现程序功能的同时应该做到界面简单易懂,容易操作,方便使用的要求。并且程
序需要有一定的纠错能力。
2.1. 具体目标
本系统主要应用于学生学籍管理、信息查询等部分,具有不同的操作功能。具体功能如下:
2.1.1有关学生信息的录入,学生信息包括输入学生的学号,姓名,年龄,性别,出
生年月,地址,电话, E-mail 等(学生信息用文件保存) 。
2.1.2.学生信息的浏览功能。
2.1.3.学生信息的查询功能,其中实现按学号和姓名二种方式查询。
2.1.4.学生信息的修改功能,包括增加、删除等。
3、总体设计
3.1. 算法分析
首先,考虑信息的录入,一个学生包括这么多的属性,应该考虑定义一个结构体。其次,我们应该考虑数据的存储形式,在这里我们用一个数组。从文件中录入我们首先要定义一个文件指针,打开该文件后通过一个循环来读文件,将所有信息读出来后关闭文件。
对于菜单的实现,首先用 printf 语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
信息的浏览,我们只需要通过一个循环将结构体中所有元素输出就行了。
信息的查询,我们选择用 switch 结构来解决用学号和姓名二种方式来查询的要求。等输入学号或者姓名的时候,通过字符串比较函数,如果存在,那么输出学生信息,否则提示错误并要求重新输入。
信息的修改,输入要修改信息的学号。 首先用字符串比较函数判断改学生信息是否存在,如果存在,同过 switch 语句来依次修改学生的各项信息。修改信息我们需要用字符串复制函数。
增加新学生信息, 输入要增加的学号。 首先用字符串比较函数判断, 如果输入的学号已经存在,则提示重新输入,否则依次输入各项信息。
删除学生信息, 通过比较找到要删除的学号,用后一个学生的信息直接赋值,后面
的依次赋值给前一个学生的信息。
3.2. 程序框图
学生信
息管理
录入学
生信息
查 询 学生信息
修改学
生信息
增加学
生信息
删除学
生信息
显示当
前信息
保存学
生信息
退出系
统
按学号按姓名
4、详细设计
4.1. 函数模块
4.1.1. 主界面函数
void menu()
{ int num;
printf("
简易学生通讯录系统 \n\n");
printf("
-----------
系统功能菜单 ----------
\n");
printf("
*****************************\n");
printf("
*
1.
读入学生信息
*\n");
printf("
*
2.
查询学生信息
*\n");
printf("
*
3.
修改学生信息
*\n");
printf("
*
4.
增加学生信息
*\n");
printf("
*
5.
按学号删除信息
*\n");
printf("
*
6.
显示当前信息
*\n");
printf("
*
7.
保存当前学生信息 *\n");
printf("
*
8.
退出系统
*\n");
printf("*****************************\n");
printf("请选择菜单编号 :");
scanf("%d",&num);
switch(num)
{
case 1:input();break;
case 2:inquir();break;
case 3:modify();break;
case 4:increase();break;
case 5:del();break;
case 6:output();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在 1-8 之间选择 \n");
}
}
说明:此函数的功能是输出主界面功能菜单,已供选择相应的模块进行操作。
其