C語言 學籍管理系統

2021-08-20 11:19:17 字數 3373 閱讀 2720

2.多檔案管理

3.鍊錶

4. 檔案儲存

5. 加密

附錄主介面

管理員登入

管理老師資訊

管理學生資訊

新增學生

成績查詢

介面實現由↑↓控制選擇,enter鍵確認。

這裡用到了c語言游標移動函式gotoxy()。

gotoxy()函式定義

void

gotoxy

(int x,

int y)

;setconsolecursorposition

(getstdhandle

(std_output_handle)

, coord)

;}

命令列的列為x軸,行為y軸。

例如使用 gotoxy(10,5); 語句表示將游標移動到第十列,第五行。

先在第乙個選項上列印出白框。

然後用getch();無緩衝讀取使用者的鍵盤輸入。

用if判斷,如果讀取值的為↓鍵的ascii碼,則分別呼叫gotoxy(int x, int y)讓游標跳到該白框的上面部分,中間部分和下面的部分的開頭,列印一串空格覆蓋掉白框,然後再呼叫gotoxy(int x, int y)讓游標移動到下乙個選項,分別列印出白框。除此之外還需再定義乙個開關值,int key = 1, 然後每讀取一次↓鍵,則key++,記錄選中的選項,最後根據key的值再呼叫不同的函式。

如果判斷為↑鍵,則同理。

還可以利用key值做特殊的判斷,如果key的值為1且讀入↑鍵,則讓游標跳到最下面的選項列印白框,可以讓白框迴圈移動。或者可以用取餘數的辦法, 例如一共有5個選項,則可以將每次key的值餘6,便可使選框框迴圈移動。

void

zhujie()

if(c ==

72&& key >=1)

c =getch()

;//最後再讀取一次鍵盤,迴圈判斷,直到是回車(ascii碼為13)為止。}if

(key ==1)

denglu1()

;// 這裡跳出while 根據開關量決定進入哪個函式。

if(key ==2)

denglu2()

;if(key ==3)

denglu3()

;if(key ==4)

}

其他介面的實現可參考這個,都用的是gotoxy()函式。

可建立乙個工程,分多檔案來寫管理系統,每個模組寫乙個檔案,並新增乙個標頭檔案,方便管理查詢。

分多檔案管理

標頭檔案

資料結構

/*學生鍊錶*/

struct ms

;typedef

struct lian lian;

/* 老師鍊錶*/

struct tems

;typedef

struct telian telian;

建立鍊錶
/*返回結構指標的函式,返回建立的結構指標。也可用結構指標的指標當做函式的引數來傳遞值 */

lian * creat (

)telian * creat2 (

)

按成績排序查詢

這裡用的是優化後的鍊錶的氣泡排序。這裡按照sum(總分)進行排序,更換sum即可以按其他科目排序。

void

sortsum()

while

(ch)

current = current->next ;}}

}

這裡是用fwrite和fread以二進位制一次性儲存鍊錶和讀取鍊錶,其他的增刪改查操作都是用鍊錶實現的。

void

cun(

)while

(current !=

null

)fclose

(fp);}

}void

cun2()

while

(current !=

null

)fclose

(fp);}

voiddu(

)fscanf

(fp,

"%d"

,&shu)

;fclose

(fp)

; fp =

fopen

("lian.txt"

,"r");

// 開啟存鍊錶的檔案

if(fp ==

null

)while

(shu--

)fclose

(fp)

;}

這裡的管理員不能從程式裡更改,需要自行更改檔案目錄裡的檔案。

乙個簡單的根據ascii碼加密解密的函式

注: 自己實現的並不是很規範,可以去網上了解md5加密演算法。

void

jiami

(char x)

}void

jiemi

(char x)

}

單獨寫乙個程式跑一下加密的函式,然後把結果複製到資料夾裡的對應檔案裡就行了。

賬號密碼用空格隔開

這裡管理員預設賬號密碼都為admin

github-專案**

學籍管理系統(C語言版)

設計乙個學籍管理系統,基本功能包括 1.輸入學生基本資訊 2.查詢學生資訊 1.按學號2.按姓名 3.刪除學生資訊 1.按學號2.按姓名 4.學生資訊排序 1.按學號2.按姓名 5.修改學生基本資訊 6.輸出學生資訊 7.儲存學生資訊 0.退出程式 注 由於知識有限,該系統暫時規定只輸入3個學生資料...

C語言學生學籍資訊管理系統原始碼附贈實驗報告

一 課程設計目標 c語言課程設計的目的是通過課程設計的綜合訓練,培養學生實際分析問題 程式設計和動手能力,最終目標是通過這種形式,幫助學生系統掌握該門課程的主要內容,更好地完成教學任務。本課程設計具有如下特點 重點在於c語言的基本特徵上,涵蓋了c語言的重要基礎知識。結合了實際應用的要求,使課程設計既...

c 大作業 學籍管理系統

1.題目描寫敘述 學籍管理系統 依據資訊管理系統的業務流程 要求以及所要實現的目標,完畢下面功能 1 建立學生檔案的管理和維護。實現計算機自己主動化管理體制。2 建立學生成績管理機制,在計算機的支援下高速的完畢學生成績的查詢和改動。3 建立課程設定管理,在計算機的支援下實現課程的加入 改動。4 建立...