學生資訊管理系統

2021-08-21 07:26:27 字數 1787 閱讀 1435

1、源**問題討論

2、對於類的分析

3、實現檔案的讀取

4、完成身份的認證

5、身份驗證後載入主介面

6、輸錯三次是禁用賬號。

gui 放置在類中

1、將介面和功能分開!

好處:模組化----》後期可以復用

低耦合2、**分層:

gui功能

資料庫當前使用者名稱,當前使用者密碼,當前使用者狀態

靜態特徵:當前使用者名稱;當前密碼;當前使用者的狀態,「所有的登陸賬號」。

動態特徵:1、載入讀取檔案的內容到list。

2、身份驗證

3、若輸入密碼三次禁用賬號---->寫入檔案

類變數的特徵:好處:儲存乙份;節約空間;加快了例項化效率。

沒有例項化的時候需要判斷;—users =[]是不是有資料。

一般情況下,類變數放一些固定不變的東西。

class user:   #使用者,表示使用者的使用者名稱、密碼、使用者狀態

def

__init__(self

,name,password,status):

self.name=name

self.password = password

self.status = status

class userservieces: #使用者登陸服務:讀取所有使用者資訊、驗證、寫入到檔案

def

__init__(self

,current_user): #current_user包含(name,password,status)

self.current_user=current_user #儲存了當前登陸的使用者名稱、密碼、使用者狀態

self.__users = # 受保護的例項變數---list.儲存了檔案中所有的賬號.實現後面的驗證。用於身份驗證。

self.__filepath="./data/user.txt"

# 受保護的例項變數,記錄了賬號路徑。

#設定載入使用者到list自動執行

self.read_users()

def

read_users(self):

try:

with

open(file=self.__filepath,

mode="r"

,encoding="utf-8") as fd:

#逐行讀取

current_line=fd.readline()

while current_line:

user_info=current_line.split(",")

#current_line = fd.readline()

#把分開的屬性例項化乙個user物件。

obj_user=user(user_info[0],user_info[1],user_info[2])

#user物件新增到list。

# 逐行讀取,讀取下一行。

current_line = fd.readline()

except:

raise

exception("讀取檔案異常!")

@property

#可以用於例項物件訪問私有變數

def

users(self):

return

self.__users

if __name__=="__main__":

alice=userservieces("gwj")

print(len(alice.users))

學生資訊管理系統

學生資訊管理系統,顧名思義就是為了管理學生的相關資訊做的一款軟體。雖然這次有原始碼供我們參考,但是從中我學習到了如何從開始到完工去做一款軟體,下邊我從做一項軟體專案的前後順序來總結我的學生資訊管理系統。一,分析需求 首先在做這款軟體是,我們先想象乙個成品,他的功能有哪些,每個功能完成哪項任務,這就是...

學生資訊管理系統

1.背景描述 學校招生辦在錄取當年新生時為新生建立了乙個新生基礎資訊類studentbase,其中包含每位新生的基本資料 學號 long mnum 姓名 char mname 20 性別 int m 其中0表示男,1表示女 年齡 int mage 住址 char maddr 30 新生主修專業所在系...

學生資訊管理系統

學生資訊管理系統由13個窗體1乙個mdi窗體乙個模組組成,窗體主要實現了登陸 新增 修改 檢視等功能,模組主要是存放全域性變數和各種函式。在敲這個系統之前,我覺得有個問題需要考慮一下,要是想一邊敲一邊除錯的話,那前面就得把資料庫等配置好了,如果想敲完再除錯的話,那就什麼時候配置好資料庫都可以。我當時...