System Information System
1. ϵͳ¹¦ÄÜÃèÊö
¸Ãϵͳ¹ÜÀíѧÉúµÄ¿Î³ÌÐÅÏ¢¡£ÏµÍ³ÌṩÕË»§µÄ¹ÜÀíºÍѧÉúÐÅÏ¢µÄ¹ÜÀí¹¦ÄÜ¡£ ϵͳÌṩµÄ¹¦ÄÜÖ÷ÒªÓРѧÉúÐÅÏ¢µÄ²éѯ¡¢Ð޸ġ¢Ôö¼Ó¡¢É¾³ý£¬ÕË»§ÐÅÏ¢µÄ²éѯ¡¢Ð޸ġ¢Ôö¼Ó¡¢É¾³ý¡£
µÇ¼¹ÜÀíϵͳµÄÕË»§·ÖΪ¹ÜÀíÔ±ÕË»§ºÍÆÕͨÕË»§¡£
ÆÕͨÓû§Ö»¾ßÓвéѯ(Ö»Äܲ鲻ÄܸÄ)ѧÉúÐÅÏ¢µÄ¹¦ÄÜ¡£
¹ÜÀíÔ±Óû§¾ßÓÐϵͳÌṩµÄËùÓй¦ÄÜ¡£
Ö÷ÒªÓõ½µÄÊý¾Ý½á¹¹ÓУºÁ´±í£¨ÄÚ´æÖд洢Õ˺źÍѧÉúÐÅÏ¢£©¡£ Õ˺źÍѧÉúÐÅÏ¢ÊÇÒ»¸ö½á¹¹Ìå¡£ typedef struct usr_account_tag {
char usr_name[USR_NAME_LEN]; char usr_pwd[USR_PWD_LEN]; int usr_role;
struct usr_account_tag *pNext_Usr_Account ; }USR_ACCOUNT, *pACCOUNT;
typedef struct usr_infor_tag { int usr_id ; char usr_name[USR_NAME_LEN] ;
char gender ; double usr_course_score; struct usr_infor_tag *pNext_Usr_Infor ;
}USR_INFOR,*pSTU;
ϵͳÊý¾ÝÖ÷Òª´æ´¢ÔÚÈý¸öÎļþ£ºconfigure.txt usr_account.txt usr_infor.txt .
Usr_account.txt Ö÷ÒªÓÃÓÚ´æ·ÅÓû§ÕË»§ÐÅÏ¢ Usr_infor.txt Ö÷ÒªÓÃÓÚ´æ·ÅѧÉúÐÅÏ¢
Configure.txt Ö÷ÒªÓÃÓÚ´æ·ÅÅäÖÃÐÅÏ¢£ºusr_account.txt,usr_infor.txtµÄλÖÃÐÅÏ¢¡£
2. ϵͳģ¿éÉè¼Æ
a.Ô¤´¦ÀíÄ£¿é
ϵͳÔÚÆô¶¯Ê±»á¸ù¾ÝÅäÖÃÎļþÀïµÄÄÚÈÝÈ¥ÏàÓ¦ÎļþÀïÈ¥¼ÓÔØÕË»§ÐÅÏ¢ºÍѧÉúÐÅÏ¢¡£ b.µÇ½ģ¿é
ÊäÈëÓû§ÃûºÍÃÜÂ룬ÊäÃÜÂëµÄʱºòÓá°*¡± ´ú±íÓû§µ±Ç°ÊäÈëµÄÄÚÈÝ¡£Shift + ¡°#¡± ´ú±íÊäÈë½áÊø¡£
µ±Óû§ÊäÈëÍêÓû§ÃûºÍÃÜÂëºó£¬ÏµÍ³»áÄÃËüÈ¥¸úÄÚ´æÖеÄÓû§ÃûºÍÃÜÂëÆ¥Åä¡£Èç¹ûÆ¥Åä³É¹¦Ôò½øÈëϵͳ²Ëµ¥½çÃæ¡£Èç¹ûÆ¥Åä²»³É¹¦Ôò»áÖ±½ÓÍ˳ö³ÌÐò¡£
c.ϵͳ¹¦Äܲ˵¥ÏÔʾ
¸ù¾ÝÓû§ÃûµÄȨÏÞ²»Í¬ÏÔʾ²»Í¬µÄ¹¦ÄÜ,ÆÕͨÓû§Ö»¾ßÓвéѯѧÉúÐÅÏ¢µÄ¹¦ÄÜ¡£
µ±Óû§Ñ¡Ôñ²éѯѧÉúÐÅÏ¢¹¦ÄÜʱ»á¸ù¾ÝÓû§È¨Ï޵IJ»Í¬ÏÔʾ²»Í¬¹¦ÄܵIJéѯ¹¦ÄÜ¡£µ±Ç°Óû§ÎªÆÕͨÓû§Ê±£¬
·ÖΪ°´ÐÕÃû²éѯºÍ°´Ñ§ºÅ²éѯ¡£3²Ëµ¥·µ»ØÉÏÒ»²ã¡£
µ±Ç°Óû§Îª¹ÜÀíÔ±Óû§Ê±£¬ÏÔʾΪ
¶àÁËÒ»¸ö¹¦ÄÜ¡£
ϵͳÌṩµÄÆäËû¹¦ÄÜÖ»ÓÐÔÚ¹ÜÀíԱȨÏÞϲÅÄÜʹÓá£
²Ëµ¥2 ΪÌí¼ÓѧÉúÐÅÏ¢£¬¹ÜÀíÔ±´Ó±ê×¼ÊäÈëÊäÈëѧÉúµÄÏêϸÐÅÏ¢£¬ÏµÍ³»á°ÑѧÉúÐÅÏ¢°´ÕÕѧºÅµÄ´óС²åÈëµ½ÄÚ´æµÄÁ´±íÖУ¬²¢Í¬Ê±°ÑÁ´±í±£´æµ½ÏàÓ¦ÎļþÖÐÈ¥¡£(×¢Òâ:ѧÉúµÄѧºÅÊÇΨһµÄ£¬Èç¹ûÁ½Ñ§ÉúµÄѧºÅÏàͬ»á²åÈëʧ°Ü)
²Ëµ¥3ΪÐÞ¸ÄѧÉúµÄÐÅÏ¢¡£¹ÜÀíÔ±¿ÉÒÔ¸ù¾ÝѧºÅÐÞ¸ÄѧÉúµÄÆäËûÐÅÏ¢£¨Ñ§ºÅ²»ÄÜÐ޸ģ©¡£²¢Í¬Ê±½«ÐÞ¸ÄÍêµÄÐÅÏ¢±£´æµ½µ½Îļþ¡£
²Ëµ¥4 Ϊɾ³ýѧÉúµÄÐÅÏ¢£¬¹ÜÀíÔ±¿ÉÒÔ¸ù¾ÝѧÉúµÄѧºÅɾ³ýÏàӦѧÉúµÄÐÅÏ¢¡£²¢Í¬Ê±°Ñɾ³ýºóµÄѧÉúÐÅÏ¢±£´æµ½ÎļþÖÐÈ¥¡£
²Ëµ¥5ÊÇÔö¼ÓÕ˺š£ËùÔö¼ÓµÄÕ˺ÅÃû²»ÄÜÓëÒÑ´æÔڵijåÍ»¡£Ôö¼ÓÕ˺ÅÍê±Ïºóͬʱ°ÑÔö¼ÓºóµÄÐÅÏ¢±£´æµ½ÏàÓ¦µÄÎļþÖÐÈ¥¡£
²Ëµ¥ 6 ¸üÐÂÕ˺ÅÐÅÏ¢¡£Í¬Ê±°ÑÐÅÏ¢±£´æµ½ÏàÓ¦ÎļþÖÐÈ¥¡£ ²Ëµ¥7 ɾ³ýÓû§ÕË»§¡£¹ÜÀíÔ±¸ù¾ÝÊäÈëµÄÕË»§Ãûɾ³ýÏà¶ÔÓ¦µÄÕË»§¡£²¢°Ñɾ³ýºóµÄÐÅÏ¢±£´æµ½ÏàÓ¦µÄÎļþÖÐÈ¥¡£ ²Ëµ¥8 ²éѯÓû§Õ˺ÅÐÅÏ¢¡£
²Ëµ¥9 Í˳öϵͳ¡£²¢Í¬Ê±°ÑÐÅÏ¢±£´æµ½ÎļþÖÐÈ¥¡£
3. ϵͳÓõ½µÄÏà¹Øº¯Êý
01ϵͳ³õʼ»¯º¯Êý¡£³õʼ»¯ÄÚ´æÖеÄѧÉúÐÅÏ¢Á´±íºÍÕ˺ÅÁÐ±í¡£ void system_init
(const char * config_file_name, pACCOUNT *pUsr_Acount, pSTU *pSTU,
int *usr_account_num,
USR_INFOR_NUM * usr_infor_num);
02¸ù¾ÝÊäÈëµÄÓû§ÃûºÍÃÜÂë¼ì²éÊÇ·ñºÏ·¨²¢È·Èϵ±Ç°Õ˺ŵÄȨÏÞ£¨¹ÜÀíÔ±»òÆÕͨÓû§£©
int role_confirm
(pACCOUNT pACCOUNT, int usr_account_num ) ;
03ÏÔʾϵͳ²Ëµ¥£¬·µ»Øµ±Ç°Óû§ËùÑ¡ÔñµÄ²Ëµ¥ int show_system_menu (int role);
04µ±Ç°Óû§Ñ¡Ôñ²éѯ¹¦ÄÜʱ¸ù¾ÝȨÏÞÏÔʾ¾ßÓв»Í¬¹¦ÄܵIJéѯ¹¦ÄܵIJ˵¥ int show_search_menu (int role);
05¸ù¾Ýµ±Ç°Óû§ËùÊäµÄѧºÅ²éѯÏàÓ¦µÄѧÉúÐÅÏ¢¡£ void search_usr_infor_by_id (pSTU pSTU_List, int int);
06¸ù¾Ýµ±Ç°Óû§ËùÊäµÄÐÕÃû²éѯÏàÓ¦µÄѧÉúÐÅÏ¢¡£ void search_usr_infor_by_name (pSTU pSTU_List, char * search_name);
07Ìí¼ÓѧÉúÐÅÏ¢£¬·µ»ØÖ¸Ïò²åÈëµÄѧÉúµÄÖ¸Õë pSTU add_usr_infor (pSTU *ppSTU_List,
USR_INFOR_NUM * usr_infor_num);
08ÐÞ¸ÄѧÉúµÄÐÅÏ¢£¬·µ»ØÖ¸ÏòÐ޸ĺóµÄѧÉúµÄÐÅÏ¢µÄÖ¸Õë pSTU update_usr_infor (pSTU pSTU_List, int int);
09ɾ³ýѧÉúµÄÐÅÏ¢£¬·µ»ØËùɾ³ýµÄѧÉúµÄÏÂÒ»¸öѧÉúµÄÖ¸Õë pSTU delete_usr_infor( pSTU *ppSTU_List,
USR_INFOR_NUM * usr_infor_num, int int);
10¸ù¾Ýµ±Ç°Õ˺ÅÊäÈëµÄÕ˺ÅÃû²éѯÏàÓ¦µÄÕ˺ÅÐÅÏ¢¡£ void search_usr_account(
pACCOUNT pACCOUNT_List, char * search_name);
11Ôö¼ÓÕ˺ÅÐÅÏ¢£¬·µ»ØÖ¸Ïòµ±Ç°Õ˺ŵÄÖ¸Õë pACCOUNT add_usr_account( pACCOUNT * ppACCOUNT_List, int * usr_account_num );
12ÐÞ¸ÄÕ˺ÅÐÅÏ¢·µ»ØÖ¸Ïòµ±Ç°ÐÞ¸ÄÕ˺ŵÄÐÅÏ¢ pACCOUNT update_usr_account( pACCOUNT pACCOUNT_List, char * search_name );
13ɾ³ýÕ˺ÅÐÅÏ¢£¬·µ»ØÖ¸ÏòÏÂÒ»¸öÕ˺ŵÄÖ¸Õë pACCOUNT delete_usr_account( pACCOUNT *ppACCOUNT_List, int * usr_account_num, char * search_name );
14½«Ñ§ÉúÐÅÏ¢ºÍÕ˺ÅÐÅÏ¢±£´æµ½ÎļþÀïÈ¥ void save_data_to_file( char * config_file_name , pACCOUNT pACCOUNT_List, pSTU pSTU_List );

