花了一天時間用c語言做了乙個學生資訊管理系統,有一些想要總結的地方,在此記錄一下。
雖然是乙個簡單的系統,簡單到只有增刪改查功能,而且,儲存資料的地方不是資料庫,而是檔案,但是,我還是按照了做大型專案時採用的「三層架構」的思路來寫:大體上就是:底層,和資料庫打交道;中間層,處理使用者輸入的業務邏輯,並將錯誤資訊反饋給使用者;表面層,就是和將介面展現給使用者,接受使用者的輸入。
下面是,總結的一些好的**:
void
back_button
()/*在子選單下,使用者按兩下回車鍵,返回主選單*/
}while(1
);
system
("cls"
);
}
void
sub_choose_1
()/*子選單1:根據學生姓名搜尋學生資訊*/
strprocess
(stu_name
);/*將fgets()新增的'\n'去掉*/
if(
strlen
(stu_name)==
0)
stu_pnode stu
;
stu
=searchstuinfobyname
(stulist
,stu_name
);
showallstuinfo
(stu
);
back_button
();
}
(總結一下,由於fgets()的返回值是輸入字串的指標或者null,所以沒法用返回值進行判斷,也就沒法用while迴圈。而scanf()函式的返回值是:正確接受時,返回接受的個數,沒正確接受時,返回0,遇到ctrl+z時,返回eof(即-1),所以,可以用迴圈進行處理)
void
sub_choose_2
()/*子選單2:根據學生學號搜尋學生資訊*/
printf
("sno is a number,please input again.\n"
);
printf
("sno: "
);
}
stu_pnode stu
;
stu
=searchstuinfobyid
(stulist
,stu_id
);
showonestuinfo
(stu
);
back_button
();
}
loop_modify_name
:printf
("name: "
);
if(
fflush
(stdin
),fgets
(new_stu
.stu_name
,stu_name_size
,stdin
))
else
if(
strlen
(new_stu
.stu_name)==
0)
void
usernameprocess
(char
*str
)
*str =0
;
}
void
backspace
(int
*length
,char
**ch
)
void
passwordgets
(char
*psw
)
else
}
else
if(!
sign
)
}
elseif(
ch ==
8)
else
}
*psw
='\0'
;
}
int
login
()
else
}
else
}
else
else
}
}while
(count
);
exit(-1
);
}
學生資訊管理系統總結
經過這一階段的學習,我結束了學生資訊管理系統,在這個學習階段不僅使我對於vb有了更深一步的認識,而且對於sql語句也有了較深的了解。下面是我的記錄 1.str2 msgbox 是否刪除當前記錄?vbokcancel,刪除當前記錄 中 代表的意思?用來將變數定義成字串,如 dim str2 2.frm...
學生資訊管理系統總結
前言 學生資訊管理系統歷時乙個多月,經過乙個多月的努力,敲完了所有 改完了所有bug,優化了某些方面。是程式設計的靈魂。在我們開始學生的時候往往會有點迷惑,會不知道從 開始學習學生,不知道是先敲 呢?還是先安裝資料庫呢?在改bug的時候,是乙個乙個窗體的改呢還是敲完一起改呢?現在我提出一些自己的建議...
學生資訊管理系統總結
學前認識 學習目的 通過這個系統,讓每個學生都對資訊管理系統 mis 有乙個初步的了解。同時通過這個入門級的系統,消除學生對系統的恐懼資訊,增強其自信。尤其是自認為沒有基礎的學生。學習內容 1.練習vb6.0的使用,增加 量,提公升 親和力 2.初步掌握對資料庫的基本操作 3.學會除錯,測試程式 4...