大数据结构期末论文设计.docx

上传人:b****5 文档编号:3234648 上传时间:2022-11-20 格式:DOCX 页数:14 大小:94.18KB
下载 相关 举报
大数据结构期末论文设计.docx_第1页
第1页 / 共14页
大数据结构期末论文设计.docx_第2页
第2页 / 共14页
大数据结构期末论文设计.docx_第3页
第3页 / 共14页
大数据结构期末论文设计.docx_第4页
第4页 / 共14页
大数据结构期末论文设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

大数据结构期末论文设计.docx

《大数据结构期末论文设计.docx》由会员分享,可在线阅读,更多相关《大数据结构期末论文设计.docx(14页珍藏版)》请在冰豆网上搜索。

大数据结构期末论文设计.docx

大数据结构期末论文设计

滨江学院

 

数据结构课程报告

题目学生信息管理

院系理学系

年级班级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<<"班级人数"<count<

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;icount;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<<"班级人数"<count<

b=b->next;

i++;}

}

voiddel2(CLASS*a){//按学号删除学生信息函数

charid[11];

inti;

if(a==NULL)cout<<"班级不存在"<

else{

cout<<"学号"<

cin>>id;

for(i=0;icount;i++){

if(strcmp(id,a->st[i].id)==0){

for(i;icount;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;icount;i++){

cout<

cout<st[i].id<<"";

cout<st[i].name<<"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1