課設語言課程設計_第1頁
課設語言課程設計_第2頁
課設語言課程設計_第3頁
課設語言課程設計_第4頁
課設語言課程設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

開發(fā)學生成績管理系統(tǒng)訓練基本編程能力了解管理信息系統(tǒng)的開發(fā)流程熟悉C語言的文件和單鏈表的各種基本操作輸入記錄模塊:完成將數據存入單鏈表中從二進制形式存儲的數據文件中讀入,逐條復制到單鏈表中從鍵盤輸入查詢記錄模塊:完成在單鏈表中查找滿足相關條件的學生記錄

按姓名查找:若找到,返回指向該學生記錄的指針;否則,返回空指針NULL,并打印未找到記錄的提示信息按學號查找:同上更新記錄模塊:完成對學生記錄的維護實現(xiàn)對記錄的修改、刪除、插入和排序統(tǒng)計記錄模塊:統(tǒng)計各門課的最高分和不及格的人數輸出記錄模塊

實現(xiàn)學生記錄的存盤操作,即將單鏈表中的各個節(jié)點中存儲的學生信息寫入數據文件中實現(xiàn)將單鏈表中存儲的學生記錄信息以表格的形式在屏幕上打印出來數據結構設計學生成績信息結構體typedef

struct

student{char

num[10];char

name

[15];int

cgrade;int

mgrade;int

egrade;int

total;float

ave;int

migci;};結構student將用于存儲學生的基本信息,作為單鏈表的數據域。數據結構設計單鏈表node結構體typedef

struct

node{struct

student

data;struct

node

*next;}Node,

*Link;定義了一個單鏈表的結構,結構標記為node,

data為student結構

類型的數據,作為單鏈表結構中數據域,next為單鏈表中的指針域,用來存儲其直接后續(xù)節(jié)點的地址。Node為node類型的結構變量,*Link為node

類型的指針變量。功能模塊設計主控main()函數執(zhí)行流程0:

存盤、退出1:調用Add()函數,執(zhí)行增加學生記錄操作2:調用Del()函數,執(zhí)行刪除學生記錄操作3:調用Qur()函數,執(zhí)行查詢學生記錄操作4:調用Modify()函數,執(zhí)行修改學生記錄操作5:調用Insert()函數,執(zhí)行插入學生記錄操作6:調用Tongji()函數,執(zhí)行統(tǒng)計學生記錄操作7:調用Sort()函數,執(zhí)行按降序進行排列學生記錄的操作8:調用Save()函數,執(zhí)行存盤操作9:調用Disp()函數,執(zhí)行將學生記錄以表格形式打印輸出至屏幕的操作注:若輸入0~9以外的值,則調用Wrong()函數,給出按鍵錯誤提示功能模塊設計輸入記錄模塊:實現(xiàn)將數據存入單鏈表中 從數據文件讀出記錄:調用fread函數,從文件中讀取一條學生成績記錄存入節(jié)點。文件中無數據:打印提示信息,調用Add()函數,添加記錄。功能模塊設計查詢記錄模塊:在單鏈表中按學號或者姓名查找滿足相關條件的記錄。通過查詢函數Qur()實現(xiàn) 調

Node

*

Locate(Link

l,

char

findmess[],

charnameormum[]),實現(xiàn)單鏈表中進行的指針定位操作。找到:返回該節(jié)點的指針;否則,返回一個空指針。保存要查找的字段保存要查找的具體內容功能模塊設計更新記錄模塊:修改、刪除、插入和排序 修改記錄:1)輸入要修改的學號,調用定位函數Locate()在單鏈表中查找;2)若找到記錄,修改除學號以外的信息 刪除記錄:1)輸入待刪除的學號或姓名,調用定位函數Locate()在單鏈表中查找,找到后返回該節(jié)點的指針;2)若找到該學生記錄,將該學生記錄所在節(jié)點的前驅節(jié)點的指針域指向目標節(jié)點的后續(xù)節(jié)點。功能模塊設計更新記錄模塊:修改、刪除、插入和排序 插入記錄:完成在指定學號的隨后位置插入新的學生記錄。1)提示輸入學號,新的記錄將插入在該學生記錄之后;2)提示用戶輸入一條新的學生記錄的信息,這些信息保存在新節(jié)點的數據域;3)將該節(jié)點插入在位置學號之后q-

>

next

=

pi-

>

next

=

q-

>

next;q->

next

=

i插入前插入功能模塊設計更新記錄模塊:修改、刪除、插入和排序排序記錄:冒泡排序、選擇排序、插入排序插入排序: 新建一個單鏈表l,用來保存排序結果,初始值為待排序單鏈表中的頭節(jié)點; 從待排序鏈表中取出下一個節(jié)點,將其總分字段值與單鏈表l中的各節(jié)點中總分字段的值進行比較,直到在鏈表1中找到總分小于它的節(jié)點。若找到如此節(jié)點,系統(tǒng)將待排序鏈表中取出的節(jié)點插入此節(jié)點前,作為前驅。否則,將取出的節(jié)點放在單鏈表l的尾部。 重復第二步,直到從待排序鏈表取出的節(jié)點的指針域為NULL,排序完成。功能模塊設計統(tǒng)計記錄模塊和輸出記錄模塊:統(tǒng)計記錄:通過循環(huán)讀取指針變量P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論