学生证信息管理系统共16页word资料.doc
《学生证信息管理系统共16页word资料.doc》由会员分享,可在线阅读,更多相关《学生证信息管理系统共16页word资料.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流学生证信息管理系统【精品文档】第 15 页1系统的意义及其功能 本系统为学生证管理程序。系统任务描述:假设某校学生学生证基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1)通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证;(2)给定学号,显示某位学生的学生证信息;(3)给定某个班级的班号,显示该班所有学生的学生证信息;(4)给定某位学生的学号,修改该学生的学生证信息;2系统的功能结构图以及调用关系学生证管理程序输入学号输入某班级的班号输入某位学生的学号按学号排序或姓名排序来显示该班
2、所有学生证信息的学生证信息显示该生学生证信息修改该生的学生证信息键入某位学生的学生证信息3系统功能详细分析学生证管理系统需要完成的功能主要有:从主函数进入各个子函数:子函数包括学生证信息的键入、查询信息的功能、修改学生证信息的功能、退出系统。具体功能如下:3.1学生证信息的键入学生证信息的键入此程序是将学生证信息录入文件开始主菜单学生证信息的键入输入学生证信息是否继续保存文件YN3.2 查询信息的功能查询记录的主要功能是通过不同的查询方式查询学生的信息。先是进入查询界面,再选择查询的方式,选择后将输出该学生的信息。共分为两种: 给定某个学生的学号,显示该学生的学生证信息; 给定某个班级的班号,
3、按学号排序来显示该班所有学生的学生证信息; 按班级排序来显示该班所有学生的学生证信息;3.2.1 输入学号,显示该生的学生证信息学生证信息查询此程序是通过输入某位学生的学号,显示该生的学生证信息。开始主菜单学生证信息查询输入学号显示该生的学生证信息关闭文件是否继续NY3.2.2 输入班号,显示该班所有学生的学生证信息学生证信息查询此程序是通过输入某班级的班号,然后选择按学号排序或班级排序,最后显示该班所有学生的学生证信息。开始主菜单学生证信息查询输入班号显示该班所有学生的学生证信息关闭文件是否继续NY按学号排序按班级排序3.3 修改学生证信息的功能修改信息功能修改信息的主要功能是通过输入某位学
4、生的学号来修改该生的学生证信息。先是进入修改界面,再输入学号,输入后,将输出该生的学生证信息,再选择是否修改此记录,选择是,则输入修改的信息,并保存修改。开始主菜单修改学生证信息功能输入学号显示该生学生证信息是否修改写入并保存文件YN4 运行界面主菜单界面学生证键入的界面个人学生证信息显示界面显示班级信息的选择输出方式的界面按学号排序显示该班所有学生的学生证信息界面按姓名排序显示该班所有学生的学生证信息界面显示班级信息的退出界面修改学生证信息的界面5系统使用说明1、进入程序时,先以菜单形式显示所有命令,然后用户通过菜单项选择操作;例如:1 学生证信息的键入2 输入学号,显示该生学生证信息3 输
5、入班号,显示该班所有学生的学生证信息4 给定学号,修改该生学生证信息5 退出系统请选择1/2/3/4/5:2、键入学生证信息时,按照所给定的格式输入。3、查询信息是按学生学号和班号的形式进行查询,填入学号后,则显示出该生所有信息;选择按班号查询功能后,在选择显示输出方式,分两种:一种按学号排序;另一种是按姓名排序。选定后,再填入班号,则显示出该班所有学生的学生证信息(按已选定的排序方式显示)。4、修改信息是按输入学号的形式进行修改,填入后,则显示出该生所有信息,然后询问是否修改,若回答“y”(大小写通用),则输入新值,否则不作修改。6 C语言源程序代码#include #include /用来
6、使用清屏函数#include #include #include #define LEN sizeof(struct STUcard)struct STUcard *creat();void viewperson();void viewclass();void number();void name();void change();struct STUcard *save();struct dateint year;int month;int day; /定义用来嵌套的结构体struct STUcard int number; char name20; char sex10; char depa
7、rtment20; char classnumber10; struct date timeofenter; /嵌套结构体 char IDnumber30; struct date birthday; struct STUcard *next; /定义结构体void main()char c; int n=0; struct STUcard *head;char build; /创建文件FILE *fp;fp=fopen(XX.out,rb);if(fp=NULL)printf(文件不存在,请创建(Y or N)); scanf(%c,&build); if(build=Y) fp=fopen
8、(XX.out,wb); else exit(0); do system(cls); /清屏 printf(*n); printf( 1: 输入学生证信息 n); printf( 2: 查找个人信息 n); printf( 3: 查找班级里所有学生的学生证信息 n); printf( 4: 修改学生证信息 n); printf( 5: 退出 n); printf(*n); printf( n); printf(请选择输入选项12345:); do c=getchar(); while(c!=1&c!=2&c!=3&c!=4&c!=5); getchar(); switch(c) case 1:
9、 head=creat(); break; case 2: viewperson(head); break; case 3: viewclass(head); break; case 4: change(head); break; case 5: exit(0); break; printf( 按任意键返回主菜单:n); flushall(); getchar(); printf(%d,n); system(cls); while(1);int n;struct STUcard *creat() /录入学生证信息函数struct STUcard *head,*p1,*p2;n=0;head=N
10、ULL;p1=p2=(struct STUcard *)malloc(LEN);printf(请按以下格式输入学生证信息,注意 每个数据之间间隔一个空格!n以学号为00000000结束录入,并且剩下的信息字符用“0”代替输入 注意:输入格式不变!:n);printf(学号 姓名 性别 院系 班级 入学时间(年 月 日) 身份证号 出生日期(年 月 日)n); scanf(%d %s %s %s %s %d %d %d %s %d %d %d,&p1-number,p1-name,p1-sex,p1-department,p1-classnumber,&p1-timeofenter.year,&
11、p1-timeofenter.month,&p1-timeofenter.day,p1-IDnumber,&p1-birthday.year,&p1-birthday.month,&p1-birthday.day);while(p1-number!=00000000)n=n+1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct STUcard *)malloc(LEN);scanf(%d %s %s %s %s %d %d %d %s %d %d %d,&p1-number,p1-name,p1-sex,p1-department,p1-clas
12、snumber, &p1-timeofenter.year,&p1-timeofenter.month,&p1-timeofenter.day,p1-IDnumber, &p1-birthday.year,&p1-birthday.month,&p1-birthday.day);p2-next=NULL;free(p1);save(head); /保存文件return(head); /把已录入信息的链表头指针返回给住函数void viewperson(struct STUcard * head) /查找个人信息函数int m,a=0;struct STUcard *p;printf(请输入学号
13、:);printf( n );scanf(%d,&m);p=head; /获取头指针,以使用链表while(p-next!=NULL) /判断是否为空指针if(p-number=m) printf(学号:%dn姓名:%sn性别:%sn院系:%sn班级:%sn入学时间:%d年%d月%d日n身份证号:%sn出生日期:%d年%d月%d日n, p-number,p-name,p-sex,p-department,p-classnumber, p-timeofenter.year,p-timeofenter.month,p-timeofenter.day,p-IDnumber, p-birthday.y
14、ear,p-birthday.month,p-birthday.day);printf(n);a=a+1; p=p-next; /结点后移if(p-number=m)printf(学号:%dn姓名:%sn性别:%sn院系:%sn班级:%sn入学时间:%d年%d月%d日n身份证号:%sn出生日期:%d年%d月%d日n, p-number,p-name,p-sex,p-department,p-classnumber, p-timeofenter.year,p-timeofenter.month,p-timeofenter.day,p-IDnumber, p-birthday.year,p-bir
15、thday.month,p-birthday.day);printf(n);a=a+1;printf(n);printf(共%d人n,a);if(a=0) printf( 对不起,查无此人!n);void viewclass(struct STUcard * head) /查找班级信息函数char c;void number();void name();do system(cls); /清屏 printf(*n); printf( 1: 按学号排序输出 n); printf( 2: 按姓名排序输出 n); printf( 3: 退出 n); printf(*n); printf( n); pr
16、intf(请选择输入选项123:); do c=getchar(); while(c!=1&c!=2&c!=3); getchar(); switch(c) case 1: number(head); break; case 2: name(head); break; case 3: exit(0); continue; printf( 按任意键返回上层菜单:n); flushall(); getchar(); system(cls); while(1); void number(struct STUcard *head) /按学号排序 char c10; int h1,a=0,i,j,k,w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生证 信息管理 系统 16 word 资料
限制150内