當前位置:首頁 » 編程語言 » 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);
}