大数据结构期末论文设计.docx
- 文档编号:3234648
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:14
- 大小:94.18KB
大数据结构期末论文设计.docx
《大数据结构期末论文设计.docx》由会员分享,可在线阅读,更多相关《大数据结构期末论文设计.docx(14页珍藏版)》请在冰豆网上搜索。
大数据结构期末论文设计
滨江学院
数据结构课程报告
题目学生信息管理
院系理学系
年级班级2012级信息与计算科学
学生岳珅
学号20122314035
学期2014-2015
(一)
任课教师黄群
二O一四年十二月十日
学生信息管理
1引言
随着人类进入信息科技时代,管理信息系统的开发和设计,则成了必然的发展要求,其重要性也是不可忽视的。
管理工作的成败,取决于能否做出有效的决策,而决策的正确与否则在很大程度上取决于信息的质量。
而学生信息管理系统,是以学校在学生信息管理当面的实际需求为背景,将各相关的业务及工作流程计算机化,以计算机代替传统的手工操作方式,实现通过操作平台对学生相关信息进行整合、分类及查询等功能。
本课题主要的目的是让我们通过这次课程设计更加了解C的应用,学习基本的思考过程,而不能仅仅学习程序的实现技巧。
学会课本上学的容使用在编写的程序中,还要学会写论文为毕业论文打好基础。
设计一个能实际使用的学生信息管理系统。
具有添加学生信息,查询学生成绩的,删除学生信息以及显示所有学生信息。
2需求分析
学生管理系统的开发目的是为了实现学生课程、学籍的信息化管理。
本系统需要完成的功能有:
班级管理、学生管理、科目管理、课程管理、成绩管理以及系统管理员才具有的教师管理和用户管理。
1.班级管理:
可对班级进行添加、删除、修改、查找和报表输出等功能,班级属性有:
名称、班主任(来自于系统中保存的教师)、当前学生人数、建班日期和备注等属性。
2.学生管理:
可对学生进行添加、删除、修改、查找和报表输出等功能,学生属性有:
学号、、性别、所属班级(来自于系统中保存的班级)、相片、出生日期和备注等属性。
3.科目管理:
可对科目进行添加、删除、修改、查找和报表输出等功能,科目属性有:
科目名称、学时数和备注等属性。
4.课程管理:
可对每一个班级的上课科目进行添加、删除、修改、查找和报表输出等功能,课程属性有:
所属班级(来自于系统中保存的班级)、授课老师(来自于系统中保存的教师)、开课日期、结课日期和备注等属性。
5.成绩管理:
可对每一个班级的上课科目的学生成绩进行添加、删除、修改、查找和报表输出等功能,成绩属性有:
学生、所属班级(来自于系统中保存的班级)、课程名、成绩、备注等属性。
6.系统管理:
该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、重新登录等等。
3概要设计
本程序包含11个函数:
1)主函数main();
2)查询函数:
chaxun();
3)根据班级编号返回班级信息函数cx();
4)删除信息函数:
del();
5)删除班级信息函数:
del1();
6)按学号删除学生信息函数:
del2();
7)输出学校班级信息函数:
display();
8)修改某班级信息函数:
edit();
9)插入学生信息函数:
inclass();
10)读信息函数:
read();
11)存储学生信息函数:
save();
4详细设计
4.1学生信息结构类型定义:
typedefstruct{
charname[20];charid[11];intage;charaddress[20];chartel[15];
}students;
4.2班级信息结构类型定义:
typedefstructcla{
charclassid[11];intcount;studentsst[MAX];structcla*next;
}CLASS;
4.3存储学生信息函数伪代码:
voidsave(CLASS*a){
if((fp=fopen("class_list.txt","w"))==NULL){printf("cannotopenfile\n");}
while(a!
=NULL){
if(fwrite(a,sizeof(CLASS),1()fp)!
=1)printf("filewriteerror\n");a=a->next;}
fclose(fp);}
4.4输出学校班级信息函数伪代码:
voiddisplay(CLASS*a){
CLASS*b;b=a;inti=1;
if(b==NULL)cout<<"无信息"< while(b! =NULL{ cout<classid<<"班级人数"< b=b->next;i++;}} 4.5源程序清单 #include"stdio.h" #include"malloc.h" #include"iostream.h" #include"string.h" #defineMAX50 typedefstruct{//学生信息结构类型定义 charname[20];// charid[11];//学号 intage;//年龄 charaddress[20];//住宿 chartel[15];// }students; typedefstructcla{//班级信息结构类型定义 charclassid[11];//班级编号 intcount;//班级总人数 studentsst[MAX];//班级成员信息 structcla*next;//定义一个指向下一个班级的指针变量next }CLASS; FILE*fp;FILE*fq;inti=0; voidsave(CLASS*a){//存储学生信息函数 if((fp=fopen("class_list.txt","w"))==NULL){ printf("cannotopenfile\n");} while(a! =NULL){ if(fwrite(a,sizeof(CLASS),1,fp)! =1) printf("filewriteerror\n"); a=a->next;} fclose(fp);} CLASS*read(){//读信息函数 intflag=1; if((fp=fopen("class_list.txt","r"))==NULL){ printf("未读\n"); flag=0;} CLASS*p,*head=NULL; while(flag){ p=NULL; p=(CLASS*)malloc(sizeof(CLASS)); if(fread(p,sizeof(CLASS),1,fp)! =1){ printf("已读\n"); flag=0;} if(flag==1){ p->next=head; head=p;} } returnhead; } CLASS*inclass(CLASS*a){//插入学生信息函数 CLASS*b; b=(CLASS*)malloc(sizeof(CLASS)); cout<<"班级编号和班级人数"< cin>>b->classid>>b->count; for(i=0;i cout<<"学号年龄宿舍"< cin>>b->st[i].id>>b->st[i].name>>b->st[i].age>>b->st[i].address>>b->st[i].tel;} b->next=a; save(b); returnb;} CLASS*del1(CLASS*a){//删除班级信息函数 CLASS*p,*q;intflag=1; p=a; q=p->next; charid[11]; cout<<"班级编号"; cin>>id; while(q! =NULL){ if(strcmp(id,q->classid)==0){ p->next=q->next; free(q); q=p->next; cout<<"删除该班级成功"< flag=0;} else{ p=p->next; q=p->next;} } if(strcmp(id,a->classid)==0){ p=a; a=p->next; free(p); cout<<"删除该班级成功"< flag=0;} save(a); if(flag) cout<<"该班级不存在,删除失败"< returna;} voiddisplay(CLASS*a){//输出学校班级信息函数 CLASS*b; b=a; inti=1; if(b==NULL) cout<<"无信息"< while(b! =NULL){ cout<classid<<"班级人数"< b=b->next; i++;} } voiddel2(CLASS*a){//按学号删除学生信息函数 charid[11]; inti; if(a==NULL)cout<<"班级不存在"< else{ cout<<"学号"< cin>>id; for(i=0;i if(strcmp(id,a->st[i].id)==0){ for(i;i a->st[i]=a->st[i+1]; a->count--; cout<<"删除学生成功"< } } } CLASS*cx(CLASS*a){//根据班级编号返回班级信息函数 CLASS*b=NULL; charid[11]; cout<<"\t请输入班级编号"< cin>>id; while(a! =NULL){ if(strcmp(id,a->classid)==0){ b=a; break;} a=a->next;} returnb; } voidchaxun(CLASS*a){//查询函数 intch; charid[11]; inti,flag=1; cout<<"1,查询学校班级信息"< cout<<"2,查询某班级学生信息"< cin>>ch; switch(ch){ case1: display(a); break; case2: cout<<"\t输入班级编号"< cin>>id; while(a! =NULL){ if(strcmp(id,a->classid)==0){ cout<<"序号,学号,,年龄,宿舍,"< for(i=0;i cout< cout< cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 期末 论文 设计