当前位置:首页 » 编程语言 » c语言教育系统
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言教育系统

发布时间: 2023-04-13 07:47:38

‘壹’ 安卓手机上可以用的编程软件c语言的系统有哪些

C4droid

C4droid是一个C / C + + IDE + C / C + +编译器,GNU Makefile文件,SDL和Qt支持的Android。 C4droid支持ARM处理器(而不是设备与英特尔的x86和MIPS处理器)的设备。

可以创建自己的应用程序在Android手机中,运行(即使没有上网:编译器为离线状态)和出口的可执行文件(为终端的应用程序)或APK(GUI使用的
应用程序)。此应用程序使用TCC和uClibc(GCC仿生libc的一个插件),所以它有完整的ANSI C和ISO C99支持。
C4droid可用于教育目的或在C和C + +语言的练习。
C4droid支持语法高亮,代码完成和源代码格式,所以它是一个非常方便的工具,在旅途中进行编程。

‘贰’ 全国计算机等级考试c语言用什么操作系统

Visual C6.0和Turbo C2.0只能代表编译器并不是操作系统(上机考试中操作系统一般为Window2000)
Visual C6.0和Turbo C2.0主要区别在于适用的环境、编译的结果和使用的部分函数不同

Visual C6.0适用的环境和编译的结果为32位的程序(Windows程序),不支持部分DOS下相关的函数(具体是哪些,我也不是很清楚),界面为标准的Windows图形界面

Turbo C2.0适用的环境和编译的结果为16位的程序(DOS程序),界面为DOS下的图形界面

全国计算机等级考试c语言用的是Windows2000操作系统+Visual C6.0
以下是2008年全国计算机等级考试(NCRE)报名简章的部分原文
在二级C语言程序设计、三级信息管理技术、三级网络技术和三级数据库技术的上机考试中,采用Visual C++6.0替代Turbo C2.0。

至于你问的:“为什么很多教程都是用TURBO C ”
其实道理很简单,因为中国的计算机教育比较落后,教材也随之落后。同时C语言在计算机编程教育中是一门入门级的语言,因此对于此门语言的学习重点是语法和思路,而编程工具也就不是那么重要了。

P.S Visual C6.0(即Visual C++6.0)如他的名字一样他除了能编译C语言以外还能编译C++语言,而Turbo C2.0只能编译C语言。同时你如果为了考试的话,千万不要去买有关Visual C6.0的书籍,或者要看清楚他的内容,因为Visual C6.0的书籍大多是讲述MFC微软基础类(Microsoft Foundation Classes)的使用技巧,可以看作是微软版的C++内容,作为考试的参考你可以考虑去看一些 标准C的书

‘叁’ 少儿编程培训Scratch与C语言学哪个好

少儿编程培训推荐Scratch

如果我们希望孩子不会说自己“就不是一个编程的料”,最好的办法就是让孩子从第一步就产生成就感,从而产生自我效能感,也就是相信自己可以有能力达到目标,学好编程。

在这样的前提下,你让孩子从学习例如 C 或者 Java 这样的工业级编程开始,他可能会面临的困难不仅仅是编程的困难,他还会遇到打字的困难,标点是否使用正确的困难,编程语言语法的困难,编译错误时莫名其妙的困难等等。 这些困难会消磨掉孩子学习编程的兴趣,自己找理由说“我不喜欢编程”,就和很多人找到无数理由说自己“不喜欢数学”一样。 这就是在没有形成自我效能感的情况下拔苗助长的结果。

欧美在打造孩子的未来创新能力上有很多创新的项目。比如乐高教育,专注于用物理世界的结构搭建;乐高WeDo,专注于机器人编程;Tickle,专注于智能硬件;Scratch,专注于提供适用于儿童的编程语言和工具。其中最为突出的当数 Scratch。

前运算阶段的标志是符号功能的出现。这个阶段的儿童的语言能力,以及玩耍时把棍子想象成枪的“假装”能力,都是符号功能的体现。

但“前运算阶段”的儿童对于守恒和可逆性这样的逻辑运算的理解是有限的。

而在“具体运算阶段”,儿童已经迅速获得了认知操作能力,并能运用这些重要的新技能思考事物。具体运算思维表现为守恒的理解、关系推理的理解运算顺序性的理解。但是,具体运算阶段的儿童思维是有局限的,因为他们只能把运算图式应用到真实的或可以想象得到的事物、情境或者事件上。

因此,在编程教育中,往往最早在“前运算阶段”的后期,也就是6-7岁左右,并不会让儿童直接接触到逻辑和关系推理的概念。而是通过序列(Sequence)来让儿童理解基本的因果关系。

同时,由于“具体运算阶段”的儿童的思维只能映射到具体的事物上,所以高级编程语言中的抽象逻辑、语言和教学方法是很难为这个阶段的儿童所接受。Scratch就很好地解决了这个问题。通过可视化的“积木”形式,儿童可以很轻松的编写自己的游戏或者动画书。在Scratch中,儿童很容易把具象的结果和程序所对应起来,这样就很好的避免了高级编程语言如C、C++等低反馈的学习流程。

所以针对7-11岁的儿童,Scratch的可视化语言可以很好的帮助学生学习基本的逻辑、关系推理、数学的概念,同时避免过早的接触到“形式运算阶段”之后才能理解的抽象的演绎推理。

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

首先做一下自我介绍,本人呢从事了3年的酒店管理软件开发职业经理人 在08年末自己创业了。就你说道的实训报告书面内容如何书写我有以下几点内容建议供你参考:
从以下几个问题出发:
■第1:如何让你自己的作品在众多同学中脱颖而出?(中心思想-做到同而不同(同样的作品不同的感觉))
■第2:如何开场引出你的作品?(设计一些问题或者经常出现的烦恼来与台下的评委做个简单的互动,把大家的注意力吸引到你的身边,同时不乏趣味面的单调,起到抛砖引玉的作用)
■第3:如何介绍自己的作品?(3.1因为针对实训课题是早已经拟定的,并给出了核心技术支持(可以是代码或者是技术理论步骤)所以此部分内容介绍应该干练些。3.2着重点在于基于题目作品之上的创意部分的思路的由来、核心技术的实现办法做重点的阐述(创意可以是功能优化方面的,复合型的多功能实现、核心技术指的是你所用到的新的知识点以及程序的算法部分))3.3对比同类作品(指你同学或者老师的提供的DEMO代码(在业内通常把演示程序叫做DEMO))的功能、性价比(运行速度、文件大小、程序稳定性、安全性等方面)做论证。让听众觉得你自己的作品更有说服力。
■第4:如何让自己的作品报告更加的吸引人呢?(1.要有完整的产品介绍(对于你来说就是一个报告书,你需要分为一下几个部分:创意方案、实体产品(把你的软件要打包刻录成光盘并包装或者在网络上发布)、PPT演示文稿、产品使用示范(在业内行话叫做DEMO演示系统))做到以上4点是产品的发布流程较完整,给人该绝更正规既可)
■■:如果你要是有其它问题或者想知道关于更多今后工作中的产品发布案例可以练习我的QQ313185141 或者登陆我工作室网络官方博客http://hi..com/firesoft 或者E-MAIL:[email protected]

‘伍’ 未来教育考试系统C语言题目的顺序和书上的一样吗

未来教育考试系统C语言题目的顺序和书上的不一样。
C语言基础知识:选择题几乎涉及了所有C语言考点,从第1章到第13章几乎都可能涉及。需要掌握C语言基础知识。
未来教育app是一款计算机等级考试手机版模拟软件,未来教育app包含了计算机考试的一到四级历年考试习题,还有模拟考试系统,让你在手机上就可以进行考试。

‘陆’ 小学CAI教学辅助系统(c语言)!!只要思路!!!!!

CAI软件设计中的教学设计理论的应用 摘要]:随着信息技术的发展,CAI 软件的应用越来越广泛和深入.本文分析了当前CAI 软件中存在的问题和为题的原因,从教学设计理论的角度讨论了CAI 软件设计的过程,学习内容分析,学习者分析与CAI 软件设计的关系等方面,并指出CAI 软件设计模式正随着教学设计理论的发展而发生转变.
[关键词]:教学设计 CAI 软件 组织形式 教学模式 理念转变
[作者]:尤甜,四川师范大学现代教育技术中心 四川成都 610068
一,问题的提出
计算机辅助教学(Computer Assisted Instruction)简称CAI , 是教师将计算机用作教学媒体,学生通过与计算机的交互作用进行学习的一种教学形式,在我国教育技术界已研究了多年,并已有了较成熟的系统.CAI软件能充分携和氏利用计算机存储量大,快速处理图象,声音,动画等功能,产生出图文并茂,声色俱全的视听效果,达到改善学习环境,优化教学效果的目的,完成传统教学方式难以实现的教学任务.使用CAI软件教学不但有利于改进教学,提高教学质量,还有助于推动学生变被动接受教育为主动学习,促进教育从应试型向素质型转变.
但是,综观目前已有的CAI软件,还存在着一些问题,主要可概括为以下几点:
1.有些CAI软件缺乏交互,可控性低,是用计算机观看的电视教学片,学习者无法根据自身的学习风格,学习习惯来进行学习.
2.某些CAI软件以文字浏览为主或是大搞题海战术,完全是课棚和本或题库搬家.
3.智能水平低,缺乏对学习者学习效果的跟踪,记录,分析.
究其原因,笔者认为主要有三点:
1).缺乏教育理论,学习理论的指导,对CAI软件的认识不足.
2).缺乏科学,系统的设计.
3).人工智能技术,虚拟现实技术,网络技术在CAI软件中的应用有待进一步发展和完善.
深入研究和理解教学设计理论,有助于科学,系统地设计CAI软件,以利于CAI软件更好地发挥其优势.
二,CAI软件设计中教学设计理论的应用
1.教学设计的概念阐述
教学设计是运用系统方法分析教学问题和确定教学目标,建立解决教学问题的策略方案,试行解决方案,评价试行结果和对方案进行修改的过程.它以优化教学效果为目的,以学习理论,教学理论和传播学为辩散理论基础,是学习理论,教学理论和传播学理论到教学过程的桥梁,是CAI软件设计中应首要重视的理论.
2.以产品为中心的教学设计过程与CAI软件设计,开发过程.
伯格曼(R.E.Bergman)和穆尔(T.V.Moore)曾提出的以产品为中心的教学设计过程模式中包含六个主要阶段的活动:分析,设计,开发,生产,创作和批推合法.其中,开发阶段制定的生产文件包括情节顺序板,音频材料的稿本,图象的分镜头稿本,美工与图形的草案和管理制作的数据库等;生产阶段是在生产文件基础上分别制作相应的声音序列和图象序列材料,图表图形和文字教材;创作阶段是通过编码,试验和调整三个子活动把已制作好的单个媒体材料整合进完整的产品当中;批准合法阶段要把完成的产品与预定的目标相比较,找出问题作最后的修改.对于CAI软件的开发,可以将整个过程分为四个阶段,分析阶段,设计阶段,开发和调试阶段以及评价和修改阶段.如图1所示.很显然,开始软件的创意和设计之前,首先应当分析软件的使用对象和学科特点等问题,这就是教学设计系统方法中所阐述的学习需要分析,学习内容分析和学习者分析.
图1
3.分析学习内容和学科特点与CAI软件中学习材料的组织形式.
在教学设计中,为了保证教学目标的实现,要求教学必须有正确的,合乎目的的内容.分析学习内容的工作以总的教学目标为基础,旨在规定学习内容的范围,深度和揭示学习内容各组成部分的联系,以保证达到教学最优化的内容效度.自20世纪90年代以来,建构主义理论在教学设计中占据了十分重要的地位.在建构主义理论强调以学生为中心的教学设计中,包含了学生学习环境的设计,而学习环境中不可避免地包含了学习材料的设计.因此,在CAI软件的分析阶段有必要分析学科特点,根据学科内容制定教学策略,确定教学重点.例如,中小学语文的教学任务是通过读写训练,培养学生听说,读,写的能力以及对语言信息的查找,筛选,归纳,概括和删改,编辑等能力.对于语文学科的CAI软件设计,应当考虑为学生提供语言环境和语文环境,使学生在有兴趣的前提下逐步培养能力.而数学教育的任务是培养学生的数学知识,数学思维,数学精神,数学方法,注意开发式教育,启发学习者的发散与收敛思维.所以,对于数学学科的CAI软件设计,应考虑在组织教学内容的过程中,为学生提供有益的训练,使学生在获得数学知识的同时,掌握数学方法,培养良好的思维习惯.在学科特点分析之后,可以确定学习材料的媒体表现形式以及知识体系组织和内容层次结构.
4.学习者分析与CAI软件的教学模式.
教学设计的一切活动都是为了学习者的学,学生是学习环境的主人,他们是学习的主体,教师在学生的学习过程中是学生学习的帮助者,促进者.教学目标是否实现,要在学习者自己的认识和发展的学习活动中体现出来,学生在学习过程中要以自己的特点来进行学习.因此,要取得教学设计的成功,必须重视对学习者的分析.同样的,设计CAI软件之前进行学习者分析也是尤为重要的.学习者分析包括学生的特征分析,学习风格分析及学习者初始能力分析等.例如学生当前的学习起点,智力水平,知识技能等.例如,对于同一门英语学科的CAI软件,尽管它的使用者都是毫无英语基础的,但由于学习者的不同年龄阶段,软件可以具有完全不同的风格与教学模式.《洪恩GOGO学英语》与《从零开始学英语》就是这样的例子.《洪恩GOGO学英语》是面向儿童的英语学习的英语学习软件,因此整个教学软件的教学过程有数十个精彩的动画构成,用卡通形象,故事情节,英文童谣,歌曲等形式引导学习者融入英语环境,领会英语的精华.而《从零开始学英语》是面向成年人的英语学习软件,其特点是通过老师的带领进入日常生活的场景,在英语环境和练习中提高英语水平.
对于学习者的分析还应当重视对学习者当前创新能力的分析.新世纪需要有创新能力的新型人才.CAI软件的设计与开发,必须考虑如何培养学生的创造力和协作能力.何克抗教授在专着《创造性思维理论——DC模型的建构与论证》中指出,创造性思维的出现在于发散思维的方向性指导,然后再通过人类的时间逻辑思维,形象思维和直觉思维这三种基本思维要素的某些循环操作过程,并由辩证思维提供宏观的指导策略及横纵思维提供微观的心理加工策略而得.要培养创造力首先要在发散思维达好基础,并要以综合的方式来训练时间逻辑思维,形象思维和直觉思维.例如,物理,化学,数学,地理等学科有直觉思维的内容,美术,音乐,语文等有助于培养形象思维,数学能综合地训练时间逻辑思维和直觉思维.在这一分析中有必要分析学习者当前的思维能力,也就是学习者已经经过了怎样的学习训练,在本CAI软件中如何依据学科特点和教学策略进一步培养学生的思维能力,从而逐步培养学习者的创新能力.经过分析,评价,修改,再分析之后就可以确定CAI软件的教学策略,教学材料的呈现方式,顺序等问题,确定CAI软件的教学模式.
三,教学设计理论的发展与CAI软件设计模式的理念转变
综观教学设计理论的发展,从行为主义理论的以知识为中心的教学设计到20世纪90年代以来所风靡的建构主义理论的以学生为中心的教学设计.人们对学习过程的认识逐渐深入,从认为学习是建立一种刺激(S)和反应(R)之间的联结并予以强化的过程到认为学习的本质并非简单的S-R联结而是一个复杂的个体信息加工过程.在20世纪90年代末西方发达国家开始用行为理论作为教学设计的理论框架,其基本思想是人类行为是人与形成社会和物理环境的事物以及社会和物理环境所造就的事物之间的双向交互的过程.人的意识与行为是辩证的统一体.在这个过程中CAI软件设计的模式也经历了一系列转变.早期地程序教学机是典型的行为主义理论的产物,发展到操练和练习模式,模拟演示模式,个别授导模式.在信息技术发展的前提下,CAI软件设计模式开始向智能导学,研究型学习模式,资源型学习模式,基于网络的合作型,互助型等模式发展.这些CAI软件设计模式的理念转变更加体现了以学习者为中心,重在发展学习者的素质和能力的教学设计理论思想.

‘柒’ C语言程序设计 学生成绩管理信息系统

我还有代码呢,要的话,马上帖出来..给个红棋吧,呵呵

一、 课题设计名称
学生成绩管理信息系统分析设计
二、 课题设计目的
通过本次课程的设计,加深对信息系统基础理论和基本知识的理解,掌握使用信息系统分析、设计的基本方法,提高解决实际管理问题、开发信息系统的实践能力。
三、 任务要求:
用信息系统开发工具(例如Visual Foxpro、Visual Basic、Delphi等)开发一个实用的中小型管理信息系统。
1、根据课程设计时间选择适当规模大小的设计课题。
2、根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。
3、课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档(小组各成员可分别完成某阶段的技术文档),最后要求提交详细的课程设计报告。
4、开发出可以运行的管理信息系统,通过上机检查。
四、 课题设计报告书要求:
1、 课题设计报告书第一页为封面,封面上写清楚标题、班级、姓名、指导老师、完成日期,格式自己设计。
2、 课题设计报告书第二页为本任务书。
3、 课题设计报告书第三页为教师评语。
4、 课题设计报告书第四页为目录。
5、 课题设计报告书第五页开始为具体内容:

(1)可行性分析
(2)系统分析部分
1)业务流程图
2)数据流程图
3)功能分析图
4)数据字典
5)数据加工处理的描述
6)管理信息系统流程设想图(新系统模型)
(3)系统设计部分
1)功能结构图设计
2)新系统信息处理流程设计
3)输出设计(主要指打印输出设计)
4)存储文件格式设计(数据库结构设计)
5)输入设计(主要指数据录入卡设计)
6)代码设计(职工证号和部门代号等)
7)程序设计说明书
(4)附录或参考资料

6、课题设计报告书最后一页是本次课程设计的小节和参考文献。
7、字数要求不少于4000字。
8、打印纸张使用B5纸,页边距设为上、下、左2厘米,右1.5厘米,
五、 如有雷同,将作不及格处理。
六、 完成时间:2007.1.5
计算机二系
尚晋
2007.10.28
教师评语

评分模块 评分标准及分值 得分
平时成绩(20分) 1. 态度(10分)
2. 考勤(10分)
分析与设计部分
(65分) 3. 需求分析(5分)
4. 系统复杂度(5分)
系统分析部分(20分) 5. 业务流程图(5分)
6. 数据流程图(5分)
7. 功能分析图(3分)
8. 数据字典(7分)
系统设计部分
(35分) 9. 系统配置方案设计(5分)
10. 用户界面导航图(5分)
11. 界面设计(5分)
12. 有效性验证(5分)
13. 错误处理(5分)
14. 编码设计(5分)
15. 数据库设计(5分)
报告部分(10分) 16. 条理清晰、语言精练准确(5分)
17. 描述图形工具使用恰当(5分)
组长加分(5分) 18. 组织得力,合作完成情况好(5分)
总分(100分)

成绩:

学生成绩管理信息系统
1. 系统规划

1.1项目开发的背景
伴随着信息社会的到来,信息的极大丰富必然要求人们适应信息社会,信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用,其中最重要的前提就是充分利用人们的才智和学习能力。传统的教学只教会了学生相关的知识,没有教会学生如何利用这些知识,以及再学习的能力。特别对于“管理信息系统”这类实用性比较强的课程,更需要培养学生的实际动手能力。.教与学互动与结合,强调应用,不仅让学生了解课程上讲授的管理信息系统方法和原理,而且让学生们利用这些知识解决实际问题。这对学生的实际工作能力是一个很好的锻炼。密切结合学生独立完成的系统开发作业,通过指导教师的点评,使学生能够在较短的时间内,通过实践,真正掌所学的知识。同时人们对信息和数据的利用与处理也已经进入了自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对于成绩管理员的劳动强度、提高工作质量和效率;方便管理人员对信息的查询、提高信息资源的利用效率和管理水平都具有重要意义。
1.2 可行性分析
基于以上对问题的调查和分析,利用计算机给我们提供的信息,及时地了解学生的信息,并且形成一整套动态的管理就十分必要了。本系统开发的主要目的是对学生信息和成绩的实现计算机管理。学生管理系统的建立,是在进行对大量用户需求与调查分析得到的。
(1)技术可行性
成绩管理系统主要是用于计算机教育部关于教学计划、课程、教师信息、成绩的查询和管理。通过使用Microsoft公司提供的Visual FoxPro 6.0工具以及SQL Server数据库可以实现对有关课的教学计划、课程等的网上查询和管理,主要目的是对学生成绩实现计算机管理。
(2)经济可行性
开发学生成绩管理系统费用较底,可利用现有的微机设备,经济上是可行的,非常适合于成绩管理,因为该系统实现了将管理和查询网络
化,极大地方便了管理员、教师、学生。
(3)操作可行性
本系统的界面设计简单直观,易于理解。它使用的控件都是用户常用的或常见的,操作起来很容易上手。不需要特别的培训和讲解,用户便能使用该系统。
(4)组织与管理可行性
成绩管理员是对学生的成绩进行管理的,但过去由于采用人工方法进行管理,工作效率低,劳动强度大,所以他们希望采用计算机管理,将已有的管理经验转化到管理软件中。这就使得系统调查、需求分析能够得到有关人员的大力支持和积极配合。
1.3 制定系统开发计划
开发学生成绩管理系统的计划见表1-1
表1-1 实验小学学生成绩管理系统开发简略计划表

序号 项目内容 时间进度 项目负责人
1 系统规划和可行性分析 2007年12月 向万秀
2 系统分析 2007年12月 张春先、向万秀、刁胜
3 系统设计 2007年12月 向万秀、张春先
4 系统实施与测试 2007年12月 向万秀
5 系统评价与维护 2007年12月 张春先
6 安全保障措施 2007年12月 向万秀、张春先

2系统分析
1现行系统业务流程的调查
对某学校进行实地调查,其现行的成绩管理工作都是采用传统的手工管理,经过对成绩管理员、学生和教师的全面的调查研究,手工工作效率低,工作质量差,不适合现在学校成绩管理系统的需求,所以需要改进传统的成绩管理模式。实现科学化管理。
对现行系统的调查业务流程图如下图1-1所示:

学生

1-1 业务流程图
2 需求分析
(1) 功能描述
本系统包括用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、各方面的查询等等。
1.教学管理功能
① 新本学期所开设课程的录入与查询:例如在2006年上学期开设课程:C语言与经济数学。
说明:所有的课程成绩均由三部分组成:平时成绩,上机成绩, 笔试成绩。所占的比重分别为:30%,10%,60%,在该系统中这三部分及其比重是固定不变的。
② 对各系科的课程安排的录入与查询,课程安排即是该学期每个学科
的选课课程、任课教师以及上课时间和上课地点。
说明:每一个院系中所有的不同专业所选的课程都是一样的。但是同一院系的学生不一定有同一个教师授课。
(2).成绩管理的功能(教师使用)如下:
① 录入成绩:既可以单个录入也可以批量录入,其中批量录入以成绩单单位,每次从系统中调出一张成绩单,编辑完成后一次性提交。
成绩单:成绩单包括学期、院系、专业、课程、任课教师、学生成绩。
② 查询成绩:单个查询(学生可使用),根据学生的学号或姓名查询出该学生的所有课程的成绩信息。批量查询以成绩单为单位,每次查询出一张成绩单。
③ 打印成绩:可以一次打印一张成绩单,也可以按要求批量打印。
④ 统计调整:对成绩单中的成绩进行统计,指出各个分数段的人数分布情况。因为有时学生的成绩整体上偏低,需要进行调整,一次系统可以按照用户设置的规则对成绩单中的成绩进行调整。
成绩调整规则:将成绩单中总分在某一分数段的学生成绩调整到另外一个分数段。例如将50到60分的学生成绩全部调整到60到65分之间。为了使调整过程尽可能合理,还可以对待调整分数段的学生成绩进行限制,例如设置其笔试成绩必须在50分以上,而平时成绩则可以适当放宽。
⑤ 每学期考试不及各的学生自动纳入新学期的跟考或辅修教学计划中。
(3).权限说明:
① 管理员可使用功能:教师信息管理、系科显示、课程管理、教学计划管理、学生成绩查询;
② 教师可使用成绩管理各项功能:对学生成绩的添、删除、修改、查询、分析、调整;
③ 学生可使用的功能:查询单个学生所有成绩,班级成绩,学生平均成绩,最高分,最低分等。
为学校教师和学生提供快捷的查询手段,让老师和学生能够及时查询学生成绩信息,更快而又方便的进行查询。
(4).性能要求
本系统采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。由于现在实行九年义务教育,学校学生不断增加,该系统可高效的进行大规模的查询。系统的安全保密性高,能防止非法访问
3新系统的逻辑模型的建立

(1) 新开发的学生成绩管理系统的功能分析
在学生成绩管理信息系统中,主要有三类外部实体:学生、教师、教务处工作人员。学生成绩管理信息系统的大部分功能是为教务处工作人员设置的。经调查分析,新开发飞的学生成绩管理信息系统应具有以下的功能。
(1.1) 查询学生的基本信息和成绩信息,包括学生信息的添加、修改、删除等。
(1.2) 管理学生成绩,包括考试管理,成绩管理等。
(1.3) 成绩的处理,即统计成绩、分析成绩等。

(2) 绘制数据流图
绘制数据流图时,只考虑学生和教务处两个外部实体,顶层数据流图如图1-2所示。

学生成绩录入 教师课程信息

学生成绩单
学生登录信息
学生选课信息 辅修/跟考通知单

用户名、密码 部门信息
课程类型 学生成绩信息
课程信息 学生考试信息

图1-2 顶层数据流图
0层数据流如图1-3所示。由于1层图没有完整绘制,0层图中只属于一个加工的文件(例如权限表)也在0层图上出现。
0层数据流图通过反应整个系统中不同数据流向,来揭示系统的组成结构以及各组成部门之间的关系,这种关系主要体现在对数据的操作和处理上。

用户名、密码
学生信息
部门信息
学生成绩
学生信息

学生成绩单
成绩类型 辅修/跟考通知

学生成绩 不及格成绩
缺考

图1-3 0层数据流图
学生信息数据流程图如图1-4、1-5所示。

学生信息 审查1.1 合格单 是否新生1.2 新生信息

学生纪录

学生成绩

总学生纪录表及成绩

图1-4 1层数据流图
(3) 数据字典
数据字典是进行数据收集和数据分析所获得的主要成果,是系统中各类数据描述的集合。数据字典通常包括数据项、数据流、数据存储、处理逻辑。

数据项
名称:学生信息
别名:学生信息
说明:学生信息=学生基本信息+学生记录+学生成绩记录
类型:字符型
长度:12
取值范围:0000000000001~99999999999

数据流条目:
合格单=姓名+系别+班级+专业
新生信息=入学时间+姓名+性别+年龄+专业+系别+班级
加工条目:
加工名:审查
编号:1.1
输入:学生信息
输出:合格单
加工逻辑:根据学生信息判断是否是新生

加工逻辑

加工逻辑
加工名:是否是新生
编号:1.2
输入:合格单
输出:新生信息
加工逻辑:根据合格单建立新生信息
加工名:录入、存储学生信息、各科成绩
编号:1。3
输入:新生信息、考试成绩
输出:本次考试成绩

2层数据流图

学号、课程号 有效查询 成绩

考试成绩 成绩单

学生纪录 班级 统计成绩

各科

本次成绩 升留级名单 学生纪录

成绩标准

图1-5 2 层数据流图
数据字典:
数据项
名称:学号、课程号
别名:编号
说明:惟一标识一个学生编号
类型:字符型
长度:12
取值范围:0000000000001~9999999999999

数据存储文件
数据存储条目:
数据存储名称:考试成绩

组成:姓名+班级+专业+系别+成绩+学号

组织方式:索引文件,以学号为关键字

加工处理
加工逻辑
加工名:有效性检查
编号:2。1
输入信息:学号、课程号
输出信息:有效查询
加工逻辑:根据所输入的信息来检查有效性
加工名:查询成绩
编号:2。2
输入信息:考试成绩
输出信息:成绩
加工逻辑:根据考试成绩查询成绩

加工条目:
加工名:统计选择
编号:3。1
输入信息:学生记录
输出信息:按规定统计成绩
加工逻辑:根据所输入学生记录,按班级、单科统计成绩
数据存储条目:
文件名:成绩标准 组成:成绩

加工条目:
加工名:是否升级
编号:4。1
输入信息:本次成绩、成绩标准
输出信息:升留级名单
加工逻辑:根据本次成绩
IF 大于等于标准成绩 ELSE 降级
ENDLF THEN 升级

加工名:更新记录
编号:4。2
输入信息:升留级名单
输出信息:学生记录
加工逻辑:根据升留级名单修学生记录

3.系统设计
1. 系统总体结构设计与功能模块划分及系统功能描述
本系统的主要任务是实现对学校教导处的学生信息管理、成绩管理、课程管理及相关查询。其主要功能包括:
学生成绩管理模块,学生信息管理模块、系统模块等等。
学生信息管理功能
(1)班级管理。提供给班主任进行本班学生的信息更新、删除。
(2)添加学生。以班级为单位,进行学生入库。其中分为单个添加和成批添加。单个添加学生供数量较少的学生信息入库;成批添加可以从现存的学生信息EXCEL文件中成批录入到数据库中。
(3)删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行成批地删除学生信息,如连续学号区段的多位学生信息删除,整个班级的删除,所有学生信息的删除。
(4)新生管理。本部分的功能主要有新生导入、分班、及设置学号。新生导入实现从现存的EXCEL新生名单中录入学生信息。分班功能实现按新生的报考专业、成绩及性别进行分班。设置学号实现自动为各班学生编发学号。
学生信息备份。在学生信息删除前,将其按班级为单位保存到备份数据库。
(5)学生信息模块主要包括对学生信息的存储,审查记录以及学生对学生整个信息的调查进行分类和查找。可以实现添加、修改、删除、查询学生信息管理的调查。
(6)学生基本信息管理功能包括:学生信息、学生记录、学生成绩、总学生记录表和成绩。
(7)学生基本信息包括:学生学号、学生班级号、课程号、学生联系方式等等
(8)课程管理。提供本学期各年级各专业所开课程名称的录入、修改、删除。它是学生成绩管理的基础。用以保证数据库中一致性原则。
2.系统功能分析
系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。
学生基本信息所需要完成的功能主要有:
●学生信息的输入,包括输入学生基本信息、所在班级、所学课和 成 绩等。
● 学生信息的查询,包括输入学生基本信息、所在班级、已学课程和成绩 等。
● 学生信息的修改。
● 班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。
● 基本课程信息的输入、查询、修改。
● 学生成绩信息的输入、查询、修改。
对上述各功能进行集中、分块、按照结构化程序设计的要求。
2.绘制学生信息管理模块功能结构图如图

图1-6 学生信息系统管理的功能结构图

3.系统配置方案设计
鉴于本系统的业务性质,必须选择具有较高的可靠性、稳定性和必要的容错能力的计算机硬件和软件系统,以保证任何情况下都不至于丢失、损坏数据。
必须具有较高的响应速度,以保证各项具体业务的顺利进行。
应考虑具有良好的可维护性,可操作性和可扩充性,以保证将来系统规模的扩展和升级的需要。
4.开发与运行环境的使用
开发前台工具:Visual FoxPro 6.0
操作系统对整个网络起着重要的作用,Windows 2000作为一种强健的、多用途的操作系统,不仅能够运行强有力的客户/服务器应用软件,还可以提供可靠的文件与打印服务,再加其内置的通信与Internet/Internet服务功能,以及安装、使用、管理和维护的方便性,因此,本系统采用Microsoft Windows 2000Server作为操作系统。
本系统准备采用客户机/服务器(C/S)结构模式。C/S结构的最大优势在于广泛采用了网络技术,将系统中的各部分任务分配给分布在网络上的担任不同角色的计算机。把较复杂的计算机管理任务交给服务器完成。再把一些频繁与用户打交道的任务交给客户机完成。通过这种结构完全实现了网络上信息资源的共享。
开发基于C/S结构的管理系统所用到的开发工具包括前台开发工具和后台数据库管理系统,主要根据开发者对开发工具的熟悉程度而定。本系统的前端开发工具采用Visual FoxPro 6.0。
5.编码(Code)设计
6.数据库设计
(1) 概念结构设计
经过本次实验,概念结构设计的主要工作是根据用户需求设计概论性数据模型。概念模型是一个面向问题的模型,它独立于具体的数据库管理系统,从用户的角度看待数据库,反映用户的现实环境,与将来数据库如何实现无关。概念模型设计的典型方法是E-R方法,即用实体—联系模型表示。
E-R方法使用E-R图来描述现实世界,E-R图包含三个基本成分:实体、联系、属性。E-R图直观易懂,能够比较准备地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。
实体:是指客观世界存在的事物,可以是人或物,也可以是抽象概念。E-R图中各实体的关系说明如下。
学号记载学生成绩管理系统中所登记的一类编号,而所有的学生姓名是所代表的是学生的代码。中两个实体之间为一对多关系。
学生可以选择多门课程,一门课程可以有多个学生选择。其中本系统中E-R图包括学生性别、出生日期等等。课程中包括课程号、课程名、教师姓名等等。

M N

学生与课程之间的关系

课程名是惟一的,而选课的学生是多个的,这两个实体之间为一对一关系。
一个学校有多位老师,这两个实体之间为一对多关系。
学生与课程表中的同一课程对应多个不同的老师与学生,这两个实体间为一对多关系。

‘捌’ C语言编写一个教务管理系统 注:可以把这个程序也发我一下吗

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#defineLENsizeof(structstudent)
#defineFORMAT"%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf "
#defineDATAstu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
structstudent/*定义学生成绩结构体*/
{intnum;/*学号*/
charname[15];/*姓名*/
doubleelec;/*选修课*/
doubleexpe;/*实验课*/
doublerequ;/*必修课*/
doublesum;/*总分*/
};
structstudentstu[50];/*定义结构体数组*/
voidin();/*录入学生成绩信息*/
voidshow();/*显示学生信息*/
voidorder();/*按总分排序*/
voiddel();/*删除学生成绩信息*/
voidmodify();/*修改学生成绩信息*/
voidmenu();/*主菜单*/
voidinsert();/*插入学生信息*/
voidtotal();/*计算总人数*/
voidsearch();/*查找学生信息*/
voidmain()/*主函数*/
{intn;
menu();
scanf("%d",&n);/*输入选择功能的编号*/
while(n)
{switch(n)
{case1:in();break;
case2:search();break;
case3:del();break;
case4:modify();break;
case5:insert();break;
case6:order();break;
case7:total();break;
case8:show();break;
default:break;
}
getch();
menu();/*执行完功能再次显示菜单界面*/
scanf("%d",&n);
}
}

voidin()/*录入学生信息*/
{inti,m=0;/*m是记录的条数*/
charch[2];
FILE*fp;/*定义文件指针*/
if((fp=fopen("data.txt","a+"))==NULL)/*打开指定文件*/
{
printf("cannotopen ");
return;
}
while(!feof(fp))
{
if(fread(&stu[m],LEN,1,fp)==1)
m++;/*统计当前记录条数*/
}
fclose(fp);
if(m==0)
printf("Norecord! ");
else
{
system("cls");
show();/*调用show函数,显示原有信息*/
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("cannotopen ");
return;
}
for(i=0;i<m;i++)
fwrite(&stu[i],LEN,1,fp);/*向指定的磁盘文件写入信息*/

printf("pleaseinput(y/n):");
scanf("%s",ch);
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要录入新信息*/
{
printf("number:");
scanf("%d",&stu[m].num);/*输入学生学号*/
for(i=0;i<m;i++)
if(stu[i].num==stu[m].num)
{
printf("thenumberisexisting,pressanytocontinue!");
getch();
fclose(fp);
return;
}
printf("name:");
scanf("%s",stu[m].name);/*输入学生姓名*/
printf("elective:");
scanf("%lf",&stu[m].elec);/*输入选修课成绩*/
printf("experiment:");
scanf("%lf",&stu[m].expe);/*输入实验课成绩*/
printf("requiredcourse:");
scanf("%lf",&stu[m].requ);/*输入必修课成绩*/
stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*计算出总成绩*/
if(fwrite(&stu[m],LEN,1,fp)!=1)/*将新录入的信息写入指定的磁盘文件*/
{
printf("cannotsave!");
getch();
}
else
{
printf("%ssaved! ",stu[m].name);
m++;
}
printf("continue?(y/n):");/*询问是否继续*/
scanf("%s",ch);
}
fclose(fp);
printf("OK! ");
}

voidshow()
{FILE*fp;
inti,m=0;
fp=fopen("data.txt","rb");
while(!feof(fp))
{
if(fread(&stu[m],LEN,1,fp)==1)
m++;
}
fclose(fp);
printf(" ");
for(i=0;i<m;i++)
{
printf(FORMAT,DATA);/*将信息按指定格式打印*/
}
}

voidmenu()/*自定义函数实现菜单功能*/
{
system("cls");
printf(" ");
printf(" |---------------------STUDENT-------------------| ");
printf(" | 0.exit| ");
printf(" | 1.inputrecord| ");
printf(" | 2.searchrecord| ");
printf(" | 3.deleterecord| ");
printf(" | 4.modifyrecord| ");
printf(" | 5.insertrecord| ");
printf(" | 6.order| ");
printf(" | 7.number| ");
printf(" | 8.show| ");
printf(" |-----------------------------------------------| ");
printf(" choose(0-8):");
}

voidorder()/*自定义排序函数*/
{FILE*fp;
structstudentt;
inti=0,j=0,m=0;
if((fp=fopen("data.txt","r+"))==NULL)
{
printf("cannotopen! ");
return;
}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;
fclose(fp);
if(m==0)
{
printf("norecord! ");
return;
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("cannotopen ");
return;}
for(i=0;i<m-1;i++)
for(j=i+1;j<m;j++)/*双重循环实现成绩比较并交换*/
if(stu[i].sum<stu[j].sum)
{t=stu[i];stu[i]=stu[j];stu[j]=t;}
if((fp=fopen("data.txt","wb"))==NULL)
{printf("cannotopen ");return;}
for(i=0;i<m;i++)/*将重新排好序的内容重新写入指定的磁盘文件中*/
if(fwrite(&stu[i],LEN,1,fp)!=1)
{
printf("%scannotsave! ");
getch();
}
fclose(fp);
printf("savesuccessfully ");
}
voiddel()/*自定义删除函数*/
{FILE*fp;
intsnum,i,j,m=0;
charch[2];
if((fp=fopen("data.txt","r+"))==NULL)
{printf("cannotopen ");return;}
while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;
fclose(fp);
if(m==0)
{
printf("norecord! ");
return;
}
printf("pleaseinputthenumber:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)
break;
printf("findthestudent,delete?(y/n)");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/
for(j=i;j<m;j++)
stu[j]=stu[j+1];/*将后一个记录移到前一个记录的位置*/
m--;/*记录的总个数减1*/
if((fp=fopen("data.txt","wb"))==NULL)
{printf("cannotopen ");return;}
for(j=0;j<m;j++)/*将更改后的记录重新写入指定的磁盘文件中*/
if(fwrite(&stu[j],LEN,1,fp)!=1)
{printf("cannotsave! ");
getch();}
fclose(fp);
printf("deletesuccessfully! ");
}

voidsearch()/*自定义查找函数*/
{FILE*fp;
intsnum,i,m=0;
charch[2];
if((fp=fopen("data.txt","rb"))==NULL)
{printf("cannotopen ");return;}
while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;
fclose(fp);
if(m==0){printf("norecord! ");return;}
printf("pleaseinputthenumber:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)/*查找输入的学号是否在记录中*/
{printf("findthestudent,show?(y/n)");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf(" ");
printf(FORMAT,DATA);/*将查找出的结果按指定格式输出*/
break;
}
}
if(i==m)printf("cannotfindthestudent! ");/*未找到要查找的信息*/
}

voidmodify()/*自定义修改函数*/
{FILE*fp;
inti,j,m=0,snum;
if((fp=fopen("data.txt","r+"))==NULL)
{printf("cannotopen ");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)m++;
if(m==0){printf("norecord! ");
fclose(fp);
return;
}
show();
printf("! ");
printf("modifynumber:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)/*检索记录中是否有要修改的信息*/
break;
printf("findthestudent!youcanmodify! ");

printf("name:");
scanf("%s",stu[i].name);/*输入名字*/
printf("elective:");
scanf("%lf",&stu[i].elec);/*输入选修课成绩*/
printf("experiment:");
scanf("%lf",&stu[i].expe);/*输入实验课成绩*/
printf("requiredcourse:");
scanf("%lf",&stu[i].requ);/*输入必修课成绩*/
printf("modifysuccessful!");
stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;
if((fp=fopen("data.txt","wb"))==NULL)
{printf("cannotopen ");return;}
for(j=0;j<m;j++)/*将新修改的信息写入指定的磁盘文件中*/
if(fwrite(&stu[j],LEN,1,fp)!=1)
{printf("cannotsave!");getch();}
fclose(fp);
}

voidinsert()/*自定义插入函数*/
{FILE*fp;
inti,j,k,m=0,snum;
if((fp=fopen("data.txt","r+"))==NULL)
{printf("cannotopen ");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)m++;
if(m==0){printf("norecord! ");
fclose(fp);
return;
}
printf("!(inputthenumber) ");
scanf("%d",&snum);/*输入要插入的位置*/
for(i=0;i<m;i++)
if(snum==stu[i].num)
break;
for(j=m-1;j>i;j--)
stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/
printf(". ");
printf("number:");
scanf("%d",&stu[i+1].num);
for(k=0;k<m;k++)
if(stu[k].num==stu[i+1].num)
{
printf("thenumberisexisting,pressanytocontinue!");
getch();
fclose(fp);
return;
}
printf("name:");
scanf("%s",stu[i+1].name);
printf("elective:");
scanf("%lf",&stu[i+1].elec);
printf("experiment:");
scanf("%lf",&stu[i+1].expe);
printf("requiredcourse:");
scanf("%lf",&stu[i+1].requ);
stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;
if((fp=fopen("data.txt","wb"))==NULL)
{printf("cannotopen ");return;}
for(k=0;k<=m;k++)
if(fwrite(&stu[k],LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/
{printf("cannotsave!");getch();}
fclose(fp);
}

voidtotal()
{FILE*fp;
intm=0;
if((fp=fopen("data.txt","r+"))==NULL)
{printf("cannotopen ");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;/*统计记录个数即学生个数*/
if(m==0){printf("norecord! ");fclose(fp);return;}
printf("theclassare%dstudents! ",m);/*将统计的个数输出*/
fclose(fp);
}