C语言知识生信息管理计划系统.doc
《C语言知识生信息管理计划系统.doc》由会员分享,可在线阅读,更多相关《C语言知识生信息管理计划系统.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#+C语言课程设计题目名称: 学生信息管理系统 姓 名 XXX 学 号 XXXXXXXX 专 业 网络工程 班 级 一班 指导教师 XXX 编写日期 2011/6/6 目录1、序言32、需求分析32.1.具体目标32.1.132.1.2.32.1.3.32.1.4.33、总体设计43.1.算法分析43.2.程序框图54、详细设计54.1.函数模块54.1.1.主界面函数54.1.2.输入函数64.1.3.查询函数74.1.4.修改信息函数94.1.5.增加信息函数114.1.6删除信息函数.134.1.7.输出信息函数144.1.8保存信息函数144、组员名单155、结论和心得156、致谢21
2、1、序言随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。2、需求分析 本系统主要需要解决的任务是实现学生信息关系的系统化、规范化和自动化,其主要目的是计算学生各种信息进行日常管理,如查询、修改、增加删除学生信息等。在实现程序功能的同时应该做到界面简单易懂,容易操作,方便使用的要求。并且程序需要有一定的纠错能力。2.1.具体目标本系统主要应用于学生学籍管理、信息查询等部分,具有不同的操作功能。具体功能
3、如下:2.1.1 有关学生信息的录入,学生信息包括输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等(学生信息用文件保存)。 2.1.2. 学生信息的浏览功能。2.1.3. 学生信息的查询功能,其中实现按学号和姓名二种方式查询。2.1.4. 学生信息的修改功能,包括增加、删除等。3、总体设计3.1.算法分析首先,考虑信息的录入,一个学生包括这么多的属性,应该考虑定义一个结构体。其次,我们应该考虑数据的存储形式,在这里我们用一个数组。从文件中录入我们首先要定义一个文件指针,打开该文件后通过一个循环来读文件,将所有信息读出来后关闭文件。对于菜单的实现,首先用printf语句把程
4、序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。信息的浏览,我们只需要通过一个循环将结构体中所有元素输出就行了。信息的查询,我们选择用switch结构来解决用学号和姓名二种方式来查询的要求。等输入学号或者姓名的时候,通过字符串比较函数,如果存在,那么输出学生信息,否则提示错误并要求重新输入。信息的修改,输入要修改信息的学号。首先用字符串比较函数判断改学生信息是否存在,如果存在,同过switch语句来依次修改学生的各项信息。修改信息我们需要用字符串复制函数。增加新学生信息,输入要增加的学号。首先用字符串比较函数判断,如果输入的学号已经存在,则提示重新输入,否则依次
5、输入各项信息。删除学生信息,通过比较找到要删除的学号,用后一个学生的信息直接赋值,后面的依次赋值给前一个学生的信息。3.2.程序框图 学生信息管理录入学生信息查询学生信息修改学生信息增加学生信息删除学生信息显示当前信息保存学生信息退出系统按学号按姓名4、详细设计4.1.函数模块4.1.1.主界面函数void menu() int num; printf( 简易学生通讯录系统nn); printf( -系统功能菜单-n); printf( *n); printf( * 1.读入学生信息 *n); printf( *2.查询学生信息 *n); printf( *3.修改学生信息 *n); prin
6、tf( *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();
7、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(student.dat,r)=NULL) printf(Open file studentdent.dat e
8、rror! Strike any key to exit!); exit(0); while(fscanf(fp,%s %s%d%s %s %s %s %s,studenti.number,studenti.name,&studenti.age, studenti.sex,studenti.time,studenti.add,studenti.tel,studenti.email)=8) i+; fclose(fp); n=i; printf(录入完毕!n);说明:此函数的功能是从文件中录入信息。首先定义了一个文件指针fp,用他来打开文件student.dat(事先已经储存),通过while循
9、环录入信息,最后关闭文件。显示录入信息成功!4.1.3.查询函数void inquir()int i,j,item,flag; char s1LEN; printf(-n);printf(1.按学号查询n);printf(2.按姓名查询n);printf(3.退出本菜单n);printf(-n);while(1) printf(请选择子菜单编号:); scanf(%d,&item); flag=0; switch(item) case 1: printf(请输入要查询的学生的学号:n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(studenti.numbe
10、r,s1)=0) flag=1; printf(该学生学号,姓名,年龄,性别,出生年月,地址,电话,E-email 分别为:n); printf(%s %s %d %s %s %s %s %sn,studenti.number,studenti.name,studenti.age, studenti.sex,studenti.time,studenti.add,studenti.tel,studenti.email); if(flag=0) printf(该学号不存在!n); break; case 2: printf(请输入要查询的学生的姓名:n); scanf(%s,s1); for(i=
11、0;in;i+) if(strcmp(studenti.name,s1)=0) flag=1; printf(该学生学号,姓名,年龄,性别,出生年月,地址,电话,E-email 分别为:n); printf(%s %s %d %s %s %s %s %sn,studenti.number,studenti.name,studenti.age, studenti.sex,studenti.time,studenti.add,studenti.tel,studenti.email); if(flag=0) printf(该姓名不存在!n); break; case 3:return; defaul
12、t:printf(请在1-3之间选择n); 说明:首先定义一个变量,输入值通过switch来选择相应模块。用一个for循环和字符串比较函数来不断的把输入的数据和系统储存的信息比较,如果相同,则输出信息。否则提示信息不存在!4.1.4.修改信息函数void modify() int i,j,item,num; char sex13,s1LEN,s2LEN; printf(请输入要要修改的学生的学号:n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(studenti.number,s1)=0) num=i;printf(-n);printf(1.修改姓名n);p
13、rintf(2.修改年龄n);printf(3.修改性别n);printf(4.修改出生年月n);printf(5.修改地址n);printf(6.修改电话号码n);printf(7.修改E-email地址n);printf(8.退出本菜单n);printf(-n);while(1) printf(请选择子菜单编号:); scanf(%d,&item); switch(item) case 1: printf(请输入新的姓名:n); scanf(%s,s2); strcpy(studentnum.name,s2); break; case 2: printf(请输入新的年龄:n); scanf
14、(%d,&studentnum.age);break; case 3: printf(请输入新的性别:n); scanf(%s,sex1); strcpy(studentnum.sex,sex1); break; case 4: printf(请输入新的出生年月:n); scanf(%s,s2); strcpy(studentnum.time,s2); break; case 5: printf(请输入新的地址:n); scanf(%s,s2); strcpy(studentnum.add,s2); break; case 6: printf(请输入新的电话号码:n); scanf(%s,s2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 信息管理 计划 规划 系统
限制150内