学生学籍管理系统设计报告-学生学籍管理系统设计总结

本文目录一览:

学生管理系统开题报告

一、 立论依据

◎ (毕业设计(论文)的意义、现状分析、附主要参考文献)

◎ 意义

学校主要有总务处、政教处、教导处、培训处四大块。其中教导处的工作最为繁重,工作人员多,信息量大。除财务部门有专人及专用软件进行信息处理外,其它各类的数据处理都由班主任以及教导处工作人员人工完成。教导处目前有几十个班级的学生,处理的信息主要有五大类:学生信息、成绩数据、课程信息。本系统主要着眼于以上部分,建立数据库以及对数据的各种操作功能。

对于学生信息,各班的班主任及学校领导由于各种分类和了解的需要,经常性地进行各种查询。例如:查询一个班级中团员的人数,男、女生的人数,住宿或通宿学生的人数等等。教导处在每一届学生进校时必须进行分班,设置学号;每一届学生毕业,要进行学生信息备份;

对于成绩管理,课任教师要进行本科目成绩登记,计算平均分、优秀率、及格率;班主任在期中考试和期末考试后计算本班学生总分,排名次;教导处要统计补考学生人数及相应名单,每学期进行学生成绩备份;学校领导则可通过查询工具来了解学生成绩情况。

对于课程信息,教导处每学期要进行课程安排、课任教师分配、一周课程安排、中途课程调整等等。

以上各类信息目前还处于手工或半手工的管理状态,效率低,可靠性差。配备电脑,但实际利用率不高,如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极的作用。另外随着计算机网络的持续发展,无论是工作、学习还是生活,将会越来越多地融入到流动的比特中,人们的工作节奏在不断加快,需要快捷的信息来源,并对此作出反应。因此,无论是从目前的现状来看,还是面向未来,一个功能完备的学校信息管理系统的开发都非常有必要。

本人作为学习计算机专业的一员,对系统的需求作了较深入的认识,同时也掌握了一定的系统开发理论,借这次毕业设计的契机,一方面利用自己的所学小刀试牛,另一方面通过这次实践必将提升自身对软件工程、数据库、程序设计等理论的认识,积累系统开发的经验。

作为毕业设计,由于时间比较紧张,加之本人没有任何系统开发的经验,它肯定存在许许多多不足的地方,但对它的改善和功能的完备并不会随着毕业设计的结束而终止。本人将在原来的基础上,着眼未来,追踪计算机新技术发展,并应用到系统持续开发中。

◎ 研究现状分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。我所开发的这个系统所采用的是当前较为流行的编程软件VISUAL BASIC 6.0作为实现语言,以数据库Microsoft SQL Server2000作为系统的后台操作,其功能在系统内部有源代码直接完成。我们只需按系统要求输入即可操作。为了校上网做好准备。跟据1999年中国电信的调查报告显示我国的上网人数已达到890万,互联网已经十分普及,学校往界的毕业生希望能在世界的任何一个角落查到自己校友的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。

主要参考文献

本系统的过程中,主要的参考文献版社

XX

XX

XX

XX

XX

二、 设计方案

1、 本设计的目标、设计内容和拟解决的关键问题

◎ 设计目标

实现 :系统管理、学籍管理、班级管理、课程管理、成绩管理五大功能。其中系统管理功能中包括添加用户、修改密码、重新登录和退出系统四个子功能;学籍管理功能中包括,添加学籍信息、修改学籍信息和查询学籍信息三个子功能;班级管理功能中包括添加班级、修改班级信息两个子功能;课程管理功能中包括添加课程信息、修改课程信息和年级开课设置三个子功能;成绩管理功能中包括添加、修改成绩和查询成绩三个子功能。

◎ 研究内容

系统管理模块

该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、重新登录、退出系统等功能。

班级管理模块

该模块的功能是实现对全校班级的管理工作,包括添加班级信息、修改班级信息两个子功能,这两个子功能模块各自独立,实现学校中全部班级的管理功能。

学生学籍管理模块

该模块的主要功能是实现对学生的基本信息的管理工作,包括添加学籍、修改学籍、查询学籍等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。

课程管理模块

在该模块中可以对各个年级的课程进行设置,并可在其中进行全校所有课程信息的添加和修改,方便了学校教材管理部门和教务科人员的工作。该模块包括添加课程、修改课程和设置年级开课三个子功能。

成绩管理模块

在我国,学生的考试成绩是检验学生学习情况的一个主要依据,所以学生成绩管理功能在一个学生信息管理系统中占有非常重要的地位,本系统的成绩管理模块包括添加、修改成绩信息和查询成绩信息等子功能。

◎ 拟解决的关键问题

 有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩 等。

 学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。

 学生信息的修改。

 班级信息管理的输入,包括输入班级设置、年级信息等。

 班级信息管理的修改。

 班级管理信息的查询。

 学校基本课程信息的输入。

 基本课程信息的修改。

 学生课程的设置和修改。

 学生成绩信息的输入。

 学生成绩信息的修改。

 学生成绩信息的查询。

 学生成绩信息的统计。

2、 拟采取的设计方法及可行性分析

◎ 拟采取的设计方法

本系统采用面向对象的软件开发办法,以Microsoft公司的可视开发环境 Visual Basic6.0 作为主要开发工具,使用Microsoft Access 2000作为关系数据库,并为VB编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,放问数据库,对数据库的更新,较好地实现了预定的需求功能

◎ 可行性分析

学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。

4楼

学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。

本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。

采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。

.

3、 预期的设计(论文)进展和成果

◎ 设计进展:

第一周和第二周 项目建议、启动,需求调研、系统分析;

第三周 系统框架设计开始;

第四周 系统总体与详细设计,编码;

第五周 系统测试、运行

◎ 论文进展

第一周 论文开题报告;

第二周 论文开题报告完成;

第三周 论文完成初稿;

第四周 论文修改,定稿;

三、论文大纲

1 引言

1.1、研究的必要性

1.2研究的目的和意义

1.3其它情况说明及关键字

2 序论

2.1项目的背景与意义

2.2相关技术与开发工具介绍

2.3 可行性分析

3 总体设计

3.1系统功能描述

3.2数据流图与数据字典

3.2.1数据流图

3.2.2数据字典

3.3数据库设计

4详细设计

4.1系统界面设计

4.2系统流程分析

四、设计基础

1、 已具备的条件,尚缺少的条件和拟解决的途径

◎ 已具备的条件

1.通过课堂平时训练已经具备大致框架

2.熟悉学生信息管理系统体系结构

3.熟悉VB , Access设计工具

◎ 尚缺少的条件

对VB具体结构体系不熟悉,其他辅助工具再VB中的运用,及连接

◎ 拟解决的途径

查阅相关资料,掌握相关技术。

五、指导老师意见

指导老师签名:

200 年 月 日

急求学生学籍管理的详细设计报告和项目编码

目的: 为系统中的每一个模块确定使用的算法和块内数据结构,并用表达工具给出清晰的描述。

实现数据库之间的联系:数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。

下面为本系统的数据流程图:(图16)

查询成员

学生基本信息录入

维护统计

班级注册

成绩查询结果

成绩和学生挡案打印

成绩维护

成绩录入

成绩打印

(图16)

修改已建的数据库:数据库的修改分为添加、编辑和删除记录。我都由Visual Basic 创建的程序来实现。

与Visual Basic 6.0的连接:Visual Basic 6.0提供了与底层数据库系统紧密的连接。Visual Basic 6.0 支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。生成独立应用或脱离服务器运行的服务以上的应用,Visual Basic 6.0连接数据库的方式有两种:

•通过使用Visual Basic的 DATA控件。

•通过使用由Visual Basic提供的专用的直接与数据库相连的接口。

程序描述

功能模块的描述与数据表的创建如下:

学籍模块:

该模块主要完成学生基本信息的录入、删除 、更新等功能。在此模块中定义了九个域名来进行学生的信息存储。如果用户修改某一纪录中的某一项,可单添加按钮进行学生记录的编辑,此窗口使用数据窗口的FREEDOM风格(典型的录入界面)。该种风格特点是列标题紧挨着数据列在此窗口还可以增加新学生纪录。

学生基本信息表:

学生基本信息表里存储了学生的档案包括:学号、姓名、性别、年龄、班号等 表如下图

主键:学生学号

列名 数据类型 长度 允许空

学生学号

学生姓名

学生性别

出生日期

班号

联系电话

入校日期

政治面貌

籍贯

民族

家庭住址 Varchar 50 Yes

注释 Varchar 200 Yes

班级模块:

班级模块主要完成班级信息的录入、删除 、更新等功能。在此模块中定义了四个域名来进班级信息表的存储。

班级信息表:

班级信息表里存储了学生的信息包括:班号、年级等 表如下图

主键:班号

列名 数据类型 长度 允许空

班号

年级

班主任

教室

课程模块:

该模块主要完成存储课程的所有信息及录入、删除 、更新等功能。此模块主要有四个域名来进行学生课程信息的存储。

课程信息表:

课程信息表存储了课程的信息:课程纺号、名称、描述等如下表:

主键:课程编号

列名 数据类型 长度 允许空

课程编号

课程类型

课程描述

年级模块:

该模块主要完成存储年级与课程信息的录入、删除 、更新等功能。此模块主要有二个域名来进行年级信息的存储。

年级课程信息表:

年级课程信息表存储了年级的信息:年级、课程等如下表

年级课程信息表:

列名 数据类型 长度 允许空

年级

课程

成绩模块:

该模块主要完成学生成绩的基本信息的录入、删除 、更新等功能。在此模块中定义了六个域名来进行学生的信息存储。

成绩信息表:

成绩信息表里存储了学生的成绩包括:学号、成绩等如下表

列名 数据类型 长度 允许空

考试编号

学生学号

课程名称

分数

用户模块:

该模块主要完成用户基本信息的录入、删除 、更新等功能。在此模块中定义了三个域名来进行学生的信息存储。

用户信息表:

用户信息表里存储了用户的信息包括:用户名、密码等如下表

用户信息表:

列名 数据类型 长度 允许空

用户名

用户密码

用户注释

以上几张表为本系统的基本信息,还不够完善,以待改进。

程序逻辑

模块功能实现的算法流程图:(图17、图18、图19、图20、图21)

各实体间的E-R图(图17)

录入模块流程图(图18)

查询模块流程图(图19)

维护模块流程图(图19)

系统维护模块流程图(图20)

系统的实现:

设置数据库,选择“开始设置|控制面板,菜单,打开”管理工具文件夹,双击“数据源”项目,在弹出的对话框中选择“文件DSN”标签页,然后单击“添加”按钮,选择“SQL SERVER”项目。单击“完成”按钮,在名称文本框中填写“Hotel_MIS”,服务器中选择“(local)”, 单击“下一步”按钮,选择登录ID,这里使用认的选择,也可发自己设置其他的登录方式。单击“下一步”按钮,出现选择认数据库对话框,选中“更改认数据库为:”选项,然后选择“student”,单击下一步,单击完成按钮,完成数据源设置。单击“测试数据源”进行数据源测试,出现测试成功,单击“确定”,退出数据源设置。

在系统文件中选择SQL文件,复制此文件,然后按开始菜单选择Microsoft SQL Server2000/查询分析器/把此文件复制到此文件中,单击保存就可以生成数据库了。然后运行这个程序会出现登陆窗口。输入用户名和密码后,就可以进入系统了。

第五章:编码

见附录

第六章: 结束语

经过二个多月的设计和开发,永兴三中学籍管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及各类相关报表的打印。

但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。

致谢:

在系统开发的两个月里,我受到了指导老师李平建老师的细心指导,李老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高.借此我特提出感谢.

同时我还感谢母校的老师,谢谢他们为本系统提供的帮助.让我能够顺利地完成本系统的开发.也感谢那些对我提供帮助的同学,没有他们就不会现在的系统.

第七章

参考文献

[1]软件工程 作者:陈明 中央广播电视大学出版社 2001年

[2]Visual Basic程序设计 作者:陈明 中央广播电视大学出版社 2000年

[3]Visual Basic6.0数据库系统开发实例导航 作者: 刘韬、骆娟、何旭洪

人民邮电出版社 2002年

[4]数据库基础与应用 作者:王利 中央广播电视大学出版社 1997年

[5]SQL Server2000系统管理 飞思科技产品研发中心 电子工业出版社 2001年

[6] Visual Basic 6.0 使用指南 作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.

电子工业出版社

[7] Visual Basic 6.0 中文版控件大全 作者:Microsoft电子工业出版社

学生学籍信息管理系统C语言的报告总结

首先做一下自我介绍,本人呢从事了3年的酒店管理软件开发职业经理人 在08年末自己创业了。就你说道的实训报告书面内容如何书写我有以下几点内容建议供你参考:

从以下几个问题出发:

■第1:如何让你自己的作品在众多同学中脱颖而出?(中心思想-做到同而不同(同样的作品不同的感觉))

■第2:如何开场引出你的作品?(设计一些问题或者经常出现的烦恼来与台下的评委做个简单的互动,把大家的注意力吸引到你的身边,同时不乏趣味面的单调,起到抛砖引玉的作用)

■第3:如何介绍自己的作品?(3.1因为针对实训课题是早已经拟定的,并给出了核心技术支持(可以是代码或者是技术理论步骤)所以此部分内容介绍应该干练些。3.2着重点在于基于题目作品之上的创意部分的思路的由来、核心技术的实现办法做重点的阐述(创意可以是功能优化方面的,复合型的多功能实现、核心技术指的是你所用到的新的知识点以及程序的算法部分))3.3对比同类作品(指你同学或者老师的提供的DEMO代码(在业内通常把演示程序叫做DEMO))的功能、性价比(运行速度、文件大小、程序稳定性、安全性等方面)做论证。让听众觉得你自己的作品更有说服力。

■第4:如何让自己的作品报告更加的吸引人呢?(1.要有完整的产品介绍(对于你来说就是一个报告书,你需要分为一下几个部分:创意方案、实体产品(把你的软件要打包刻录成光盘并包装或者在网络上发布)、PPT演示文稿、产品使用示范(在业内行话叫做DEMO演示系统))做到以上4点是产品的发布流程较完整,给人该绝更正规既可)

■■:如果你要是有其它问题或者想知道关于更多今后工作中的产品发布案例可以练习我的QQ313185141 或者登陆我工作室百度官方博客 或者E-MAIL:snowyufei@hotmail.com

跪求c语言程序设计报告,学生学籍管理系统

试试看

#includeiostream

#includestring

#includeiomanip

#includefstream

using namespace std;

#define NULL 0

class student

{

public:

long num;

string name;

string dizhi,dihua,banji;

student *next;

};

int n; //链结点的个数

student *head,*stu;

/////////////////////////////////////////////////////////////////////

student *creat(void) //创建动态链表 返回以各指向链表头的指针

{ student *head;

student *p1,*p2;

n=0;

p1=p2=new student; //开辟新单元,用P1 P2指向

cout"按顺序输入学生的学号,姓名,地址,电话,班级,输入0 * * * *就停止录入(*为任意字符)" endl;

cinp1-nump1-namep1-dizhip1-dihuap1-banji;

head=NULL;

while(p1-num!=0) //循环输入的作用

{n=n+1;

if(n==1)head=p1;

else p2-next=p1;

p2=p1;

p1=new student; //开辟新单元,

cinp1-nump1-namep1-dizhip1-dihuap1-banji; //输入数据

}

p2-next=NULL; //p2指向最后

return(head);

}

///////////////////////////////////////////作为二进制储存和读出二进制文件

void write_read()

{student *p;

student stud[100];

n=0;

for(p=head;p!=NULL;p=p-next)

{ stud[n].dizhi=p-dizhi;

stud[n].dihua=p-dihua;

stud[n].banji=p-banji;

stud[n].name=p-name;

stud[n].num=p-num;

n++;

}

ofstream outfile("student.dat",ios::binary);

if(!outfile)

{ cerr"open error...."endl;

abort();

}

for(int i=0;in;i++)

outfile.write((char*)stud[i],sizeof(stud[i]));

outfile.close();

ifstream infile("student.dat",ios::binary);

if(!infile)

{ cerr"open error...."endl;

abort();

}

for(int j=0;jn;j++)

infile.read((char*)stud[i],sizeof(stud[i]));

infile.close();

for(int k=0;kn;k++)

{ cout"姓名: "stud[k].nameendl;

cout"学号: "stud[k].numendl;

cout"地址 : "stud[k].dizhiendl;

cout"电话: "stud[k].dihuaendl;

cout"班级: "stud[k].banjiendlendlendl;

}

}

///////////////////////////////////////////////////////////////图形的输出

void exit()

{

cout" ┃ \n"

" ┃ \n"

" ┏━━━━┻━━━━┓ \n"

" ┃ ┃ \n"

" ┏━━━━┻━━━━━━━━━┻━━━━┓\n"

" ┃ ^^^^^谢谢使用^^^^^^^ ┃\n"

" ┃ ┃\n"

" ┃ 偷得浮生半日闲 ┃\n"

" ┃ ┃\n"

" ┃ ┃\n"

" ┗━━━━━━━━━━━━━━━━━━━┛\n";

}

/////////////////////////////////////////////////////////////////////////////////////////////////////

void print(student *head) //输出链表

{student *p;

cout" 学生信息表 "endl;

p=head;

if(head!=NULL)

cout" "endl;

cout" 学号 姓名 地址 电话 班级 "endl;

cout" "endl;

if(head!=NULL)

do

{ coutsetw(12)p-num

setw(14)p-name

setw(10)p-dizhi

setw(10)p-dihua

setw(10)p-banji

endl;

cout" "endl;

p=p-next;

}while(p!=NULL);

}

////////////////////////////////////////////////////////////////////////删除链表

student *del(student *head,long num)

{student *p1,*p2;

if(head==NULL)

{cout"此为空表"endl;return(head);}

p1=head;

while(num!=p1-num p1-next!=NULL)

{p2=p1;p1=p1-next;}

if(num==p1-num)

{if(p1==head)head=p1-next;

else p2-next=p1-next;

cout"删除"numendl;

n=n-1;}

else

cout"没有该同学数据!"numendl;

return(head);

coutendlendl;

}

///////////////////////////////////////////////////////////////////////////// 链表的舔加

student *insert(student *head,student *stud)

{student *p0,*p1,*p2;

p1=head; //P1指向第一个节点

p0=stud; //要插入的节点

if(head==NULL)

{head=p0;p0-next=NULL;} //是P0指向节点作为头

else

{while((p0-nump1-num)(p1-next!=NULL))

{p2=p1; p1=p1-next;}

if(p0-num=p1-num)

{if(head==p1)head=p0;

else

p2-next=p0;

p0-next=p1;

}

else

{p1-next=p0;p0-next=NULL;} //差 如节点之后

}

n=n+1; //节点+1

return(head);

coutendlendl;

}

///////////////////////////////////////////////////////////////////////查找学生

void find()

{student *p;

int a;

cout"请输入想要找的学生的学号"endl;

cina;

for(p=head;p!=NULL;p=p-next)

{ if(a==p-num)

{ cout" "endl;

cout" 学号 姓名 地址 地话 班级 "endl;

cout" "endl;

coutsetw(12)p-num

setw(14)p-name

setw(10)p-dizhi

setw(10)p-dihua

setw(10)p-banji

endl;

cout" "endl;

break;

}

else

continue;

}

}

///////////////////////////////////////////////////////////////////////////////删除和添加的链表的多次执行的实现

void list()

{ int a;

long del_num;

student *creat(void);//输入学生数据

student *cunt_put(student *);

student *del(student *,long);

student *insert(student *,student *);

void print(student *);

cout" "endlendlendl;

head=creat();

print(head); //输出全部结点

cout"如果要删除学生资料请输入1,如果需要添加请输入2"endl;

cina;

if(a==1)

{ cout"输入要删除学号"endl;

cindel_num;

while(del_num!=0 )

{ head=del(head,del_num);

print(head); //调用输出函数

cout"是否继续删除:是(输入学号),不是(输入0)"endl;

cindel_num;

}

}

cout",往下执行就按任意数字"endl;

cina;

if (a==2) //操作选择

{ cout"输入要添加的就输入学号"endl;

stu=new student; //开创新的空间

cinstu-numstu-namestu-dizhistu-dihuastu-banji; //输入数据

while(stu-num!=0) //可以循环删除,删除多个

{ head=insert(head,stu); //调用添加函数

print(head); //调用输出函数

cout"如果需要添加请输入学号,无需添加输入0 * * * *就停止录入(*为任意字符)"endl;

stu=new student;

cinstu-numstu-namestu-dizhistu-dihuastu-banji;

}

}

coutendlendl;

}

/////////////////////////////////////////////////////////////////////////调用各个函数

void swich()

{ int a;

list();//删除和添加调用

cout"退出软件输入9 直接查看学生资料输入10"endl;

cina;

if(a==9)

exit();

if(a=10)

{ for(int u=0;;u++)

{

cout" 0按学号查某个学生的数据 1查看成绩表 3退出系统且读取二进制文件 "endl;

int t;

cint;

if(t==1)

{ print(head);continue;

}

if(t==3)

{ exit();

break;

}

if(t==0)

{ find();continue;

}

}

}

cout"读取二进制文件如下"endlendlendl;

write_read();

}

////////////////////////////////////////////////////////密码实现

void mima()

{ int n,m=1988825;

for(int j=0;;j++)

{

cout"这是我的地盘,请输入密码:"endl;

cinn;

if(m==n)

{ cout"恭喜你猜对了!!!"endl;

swich();

break;

}

else

{

cout"内有怪物,生人勿进!"endl;

continue;

}

}

}

//////////////////////////////////////////////////主函数

int main()

{ mima();

return 0;

}

求C语言程序设计(学生学籍管理系统)的实验报告,

实验报告

实验人:** 学号:** 指导老师:**

院系:** 年级:** 班级:A**

实验地点: 实验日期:2008.06.18

----------------------------------------------------------------------------------------------------------------------

一. 实验所属课程名称:程序设计与C语言设计。

二. 实验名称:学员成绩管理系统。

三. 实验类型:操作性、综合性、设计性。

四. 实验软件:Microsoft Visual C++ 6.0。

五. 实验目的:培养我们综合运用理论知识来分析和解决实际问题的能力、严谨的科学态度、较强的程序编码能力和良好的程序设计习惯,最终实现由知识向智能的初步转化。

六. 实验内容、步骤:

(1).包含一个头文件,用于导入输入输出函数。

(2).定义一个结构( struct xueyuan ),保存每个学员的信息,包括学号( num )、姓名( name[15 ])、三门课成绩( c1、c2、c3 )、平均成绩( c )。

(3).使用结构数组保存所有学员的信息( struct xueyuan a[50] )。

(4).定义并实现单个学员信息的录入函数( struct xueyuan in() )。

(5).定义和实现main函数,调用单个学员信息输入函数( in() ),完成所有学员信息的录入。录入界面如图所示:

(6).定义一个display函数( void display (struct xuyuan a[],int t) )用来多次随时显示所有学员的信息。

(7).定于排序函数( void paixu(struct xueyuan a[],int t) ).实现按照学员平均成绩有大到小的排序功能(冒泡排序法)。

(8).在主函数中调用排序函数( paixu(a,t); ),并通过调用显示函数( display(a,t); ),显示排序前后的学员信息。如图:

(9).定于插入函数( void charu(struct xueyuan a[],int t) ),实现插入学员信息功能,要求插入后仍然保存成绩表有序(即在此函数中调用排序和显示函数)。

(10). 在主函数中调用插入函数(charu(a,t);)。如图:

(11).定于删除函数( void shanchu(struct xueyuan a[],int i,int t) ),实现删除学员信息功能,要求删除后仍保持成绩表有序。

(12)在主函数中调用删除函数(shanchu(a,i,t);),并通过调用显示函数( display(a,t); ),显示删除后的学员信息。如图:

七. 实验结果处理:通过以上步骤,编写出了一个能够实现学员成绩管理功能的程序。但通过自己对该程序不断检查和运行,发现该程序还有许多不足之处:

(1).在该程序的运行中,用户录入了第一个学员的信息后,在问用户是否继续输入时

,用户的输入可能不规范(即不是y或n),同样在问用户

是否插入和删除学员信息时该问题也同样存在。

解决该问题的关键代码如下:

printf("\n 是否继续?y or n");

fflush(stdin);

flag=getchar();

if(flag!='y' flag!='n')

{

do

{

printf("对不起,你的输入有误,请重新输入:y or n");

fflush(stdin);

flag=getchar();

}while(flag!='y' flag!='n');

}

(2).在用户继续输入或插入学员信息时,有可能会有重复输入的时候(即输如学号相同)。

解决该问题的关键代码如下:

printf("\n学号:");

scanf("%d",b.num);

for(j=0;jt;j++)//防止输入的学员的学号重复

{

if(b.num==a[j].num)

{

printf("对不起,您输入的学号重复,请重新输入:");

scanf("%d",b.num);

j=-1;

}

}

八. 实验总结与心得体会:

从刚开始看完题目不知道从何入手到写完这个程序,我的感悟很多.................


原文链接:https://527256.com/45295.html

相关文章

访客
访客
发布于 2022-10-24 03:42:14  回复
组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。 下面为本系统的数据流程图:(图16) 查询成员 学生基本信息录入 维护统计 班级注册 成绩查询结果 成绩和学生挡案打印 成绩维护 成绩
访客
访客
发布于 2022-10-24 11:33:31  回复
; ),显示删除后的学员信息。如图: 七. 实验结果处理:通过以上步骤,编写出了一个能够实现学员成绩管理功能的程序。但通过自己对该程序不断检查和运行,发现该程序还有许多不足
访客
访客
发布于 2022-10-24 04:28:06  回复
基本课程信息的修改。 学生课程的设置和修改。 学生成绩信息的输入。 学生成绩信息的修改。 学生成绩信息的查询。 学生成绩信息的统计。2、 拟采取的设计方法及可行性分析◎ 拟采取的设计方法本系统采用面向对象的软件开发办法,以Mic
访客
访客
发布于 2022-10-24 06:04:42  回复
.2相关技术与开发工具介绍2.3 可行性分析3 总体设计3.1系统功能描述3.2数据流图与数据字典3.2.1数据流图3.2.2数据字典3.3数据库设计4详细设计4.1系统界面设计4.2
访客
访客
发布于 2022-10-24 11:52:56  回复
框架设计开始;第四周 系统总体与详细设计,编码;第五周 系统测试、运行◎ 论文进展第一周 论文开题报告;第二周 论文开题报告完成;第三周 论文完成初稿;第四

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

返回顶部