C语言学生信息管理系统 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计
题目名称:学生信息管理系统
姓名XXX
学号XXXXXXXX
专业网络工程
班级一班
指导教师XXX
编写日期2011/6/6
目
录
查询函数.............................................................................................................................
1、序言
随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
2、需求分析
本系统主要需要解决的任务是实现学生信息关系的系统化、规范化和自动化,其主要目的是计算学生各种信息进行日常管理,如查询、修改、增加删除学生信息等。在实现程序功能的同时应该做到界面简单易懂,容易操作,方便使用的要求。并且程序需要有一定的纠错能力。
.具体目标
本系统主要应用于学生学籍管理、信息查询等部分,具有不同的操作功能。具体功能如下:
2.1.1 有关学生信息的录入,学生信息包括输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等(学生信息用文件保存)。
2.1.2. 学生信息的浏览功能。
2.1.
3.学生信息的查询功能,其中实现按学号和姓名二种方式查询。
2.1.4.学生信息的修改功能,包括增加、删除等。
3、总体设计
.算法分析
首先,考虑信息的录入,一个学生包括这么多的属性,应该考虑定义一个结
构体。其次,我们应该考虑数据的存储形式,在这里我们用一个数组。从文件中录入我们首先要定义一个文件指针,打开该文件后通过一个循环来读文件,将所有信息读出来后关闭文件。
对于菜单的实现,首先用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
信息的浏览,我们只需要通过一个循环将结构体中所有元素输出就行了。
信息的查询,我们选择用switch结构来解决用学号和姓名二种方式来查询的要求。等输入学号或者姓名的时候,通过字符串比较函数,如果存在,那么输出学生信息,否则提示错误并要求重新输入。
信息的修改,输入要修改信息的学号。首先用字符串比较函数判断改学生信息是否存在,如果存在,同过switch语句来依次修改学生的各项信息。修改信息我们需要用字符串复制函数。
增加新学生信息,输入要增加的学号。首先用字符串比较函数判断,如果输入的学号已经存在,则提示重新输入,否则依次输入各项信息。
删除学生信息,通过比较找到要删除的学号,用后一个学生的信息直接赋值,后面的依次赋值给前一个学生的信息。
.程序框图
4、详细设计
.函数模块
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");
}
}
说明:此函数的功能是输出主界面功能菜单,已供选择相应的模块进行操作。
其中定义一个变量num,通过输入num的值来进入相应的功能,switch提供了不同选择的入口。在结束相应功能的操作后又返回主界面,并且对错误的输入有一定的纠错能力。
4.1.2.输入函数
void input()
{
FILE *fp;
int i=0;
if ((fp=fopen("","r"))==NULL)
{ printf("Open file error! Strike any key to exit!");
exit(0);
}
while(fscanf(fp,"%s %s%d%s %s %s %s %s",student[i].number,student[i].name,&student[i].age, student[i].sex,student[i].time,student[i].add,student[i].tel,student[i].email)==8)
{
i++;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}
说明:此函数的功能是从文件中录入信息。首先定义了一个文件指针fp,用他来打开文件