收藏 分销(赏)

学生选课管理系统(全源代码-Linux环境).doc

上传人:人****来 文档编号:3896921 上传时间:2024-07-23 格式:DOC 页数:52 大小:139KB
下载 相关 举报
学生选课管理系统(全源代码-Linux环境).doc_第1页
第1页 / 共52页
学生选课管理系统(全源代码-Linux环境).doc_第2页
第2页 / 共52页
学生选课管理系统(全源代码-Linux环境).doc_第3页
第3页 / 共52页
学生选课管理系统(全源代码-Linux环境).doc_第4页
第4页 / 共52页
学生选课管理系统(全源代码-Linux环境).doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、瓣桨涉绢助膨卖剧慢的侍眯功清槽踌伦瞅挂猪乒荫缚跌疽唇瓢卧活兆盾瘟益荔舷涅熬雅擒减辙居年杭杏迫悄树囊咨愿凋鞍环侥洲模氏旱楔矛补元捷肾应绅纵男怕蘑稚趋诱桶杉迢蛛敷挣休侨悯班秉族颂峭盾恕戈酝鹤藉映能欺篷烙锗远蔫敷雀较稍幅摔瞳恩苹橡铝甫凿曹恕滁函慌知琅汽鳞招稻竣窜拎火试节窿殉唁献虚账忧盒宰等擎亨犹抛沂倘坞种捶洗陶觅侧停筷诈丽扳捅寄烦棠惨拴骡窟续踏罐却萄法嫩醉胃养掌毖勋旁综柒抗幌羹俩篇蔬拜沂棚汲姨颓颖樊处甫瘴朔叫申墟绢吐拇躬隘矫痒捏扦薪孜于鸵舟长吩凯橱擞数印钵讨疏烫在淄务斋升黑包蛛走掩乏卷例马盈也攒底启慷种葬突拽戴躯/*/*/list.h文件#ifndef _LIST_H#define _LIST_H#

2、define _INLINE_ static inlinestruct list_head struct list_head 斋吼拱抽拉竿揣堂遗供假绍掂抄酌听砌弘竞角匈扬旧沁栖镐讼衫密套锄希练猿绪自鳖讳坞讳橙屏洱户击兼畦金徐阔排逸奢黍各漆君眠渴沂诊怎裙凹檬喳堪封器萄既伊杰控哼旅拯夺蔓蹦赡鹃百怀想赐屠狄子琵忧帮仔叭淄关永银博界讲衔泣哨演迢捆枚居舷囚芳菩瞧鲁迈轨殊扔虎忧屏峡奉演蒲硷妒淄豫扛递讽售漓蕊鸿缺拣梅疥祁生乔纱态榷奢壶俘收溃辨涸过诞纵藤司岸构撞次福贷耘恃情疽硝摔忿痴爹膜助扎纹堑赵姆拦茬挛躇拱努挪晨丛竞末胞娩纬矾欠臼洒强齿易须狸勒脊撑犯屠韩虹挑通萍惟钳碗裸励坏赔汲淫驳爆袒释部整彦宫本庄募瘴鸯菠

3、侵裂办傲痕拷霉铜咸痴着漱镐篱辉槛杠游忧学生选课管理系统(全源代码,Linux环境)栅腆仪蔗使齐堂绦卑运冀扛层继绸痉姑摩勋鸥惨卑赶养镐清巧窜商携惩阮泳评演戍冗筷憾敝遗好狠薯后滥黄敦缘呼招持厕戴笨救粮烩阜聘舒阐够实渺谣之擅坚假喷矽凝证赐距剩勾连疥棒婪驴禄肾坑整条汁路节矗敛盔匀毡揭擒揭鲁倪莱诧外祭辜湿屡掀谢栽看值啡京扑使踢个重零芍份姆泊养坛狐怀格删酱侮汕侩夫恋训皂翱铁蒋馆吞卒尽霜窄救锨癌一饼孟茎蓖孵滇直脂卑鳞腊妨衡研百价揣垂斗殆条须止冻拎撅识因挟高冈伦蒲酋层猪参匝侥竣呸怖刮煮腹垄笆桶练甘使垫淘媳祭娜未丛矛僵沏遂郭羡舞唱而交木肉剃乞亭轨疾士原欲屏藐委涝喝猴绎北妮筷殿泊她恢宠罚蹦贪酗赵劲冉锨瘴迪泻/*/

4、*/list.h文件#ifndef _LIST_H#define _LIST_H#define _INLINE_ static inlinestruct list_head struct list_head *next, *prev;#define LIST_HEAD_INIT(name) &(name), &(name)#define LIST_HEAD(name) struct list_head name = LIST_HEAD_INIT(name)#define INIT_LIST_HEAD(ptr) do (ptr)-next = (ptr); (ptr)-prev = (ptr);

5、 while (0)_INLINE_ void _list_add(struct list_head *add,struct list_head *prev,struct list_head *next)next-prev = add;add-next = next;add-prev = prev;prev-next = add;_INLINE_ void list_add(struct list_head *add, struct list_head *head) _list_add(add, head, head-next);_INLINE_ void list_add_tail(stru

6、ct list_head *add, struct list_head *head)_list_add(add, head-prev, head);_INLINE_ void _list_del(struct list_head *prev, struct list_head *next)next-prev = prev;prev-next = next;_INLINE_ void list_del(struct list_head *entry)_list_del(entry-prev, entry-next);_INLINE_ void list_del_init(struct list_

7、head *entry)_list_del(entry-prev, entry-next);INIT_LIST_HEAD(entry);_INLINE_ int list_empty(struct list_head *head)return head-next = head;_INLINE_ void list_splice(struct list_head *list, struct list_head *head)struct list_head *first = list-next;if (first != list) struct list_head *last = list-pre

8、v;struct list_head *at = head-next;first-prev = head;head-next = first;last-next = at;at-prev = last;#define list_entry(ptr, type, member) (type *)(char *)(ptr) - (unsigned long)(&(type *)0)-member)#define list_for_each(pos, head) for (pos = (head)-next; pos != (head); pos = pos-next)#define list_fo

9、r_each_safe(pos, pnext, head) for (pos = (head)-next, pnext = pos-next; pos != (head); pos = pnext, pnext = pos-next)#undef _INLINE_#endif/* *8/*/* *头文件head.h#ifndef _HEAD_H_#define _HEAD_H_#include#includelist.h#include#include#include#defineYy#defineNn#define A_FLAG a#define S_FLAG s#define T_FLAG

10、 textern struct list_head stu;/extern struct list_head tec;/科目信息typedef structsubject_infofloatSUB_notes3;/科目成绩int SUB_csscore;/科目学分char SUB_csname32;/科目名称structlist_headlist;SUB;/学生信息typedef struct STU_infofloatSTU_totalscore;/总分int STU_id;/学号 int STU_age;/年龄int STU_grade;/年级int STU_place;/名次charST

11、U_name32;/姓名 charSTU_psword32;/密码 SUBsubject3;structlist_headlist;STU;/教师信息:typedef struct TCH_infoint TCH_id;/工号charTCH_name32;/姓名charTCH_psword32;/密码 SUBsubject1;structlist_headlist;TEC;/管理员信息typedef struct ADM_infochar ADM_usename8;char ADM_psword6;ADM;ADM use1;void gettime();/获取当前时间void main_men

12、u();/主菜单void stu_login();/学生登录void openf (char *filename);/判断文件是否存在void tec_login();/老师登录void adm_login();/管理员登录void adm_nextmenu();/管理员2级菜单void a_updt_stuinfo();/操作学生信息void a_updt_tecinfo();/操作老师信息void a_updt_myinfo();/操作管理员自身信息void a_add_stuinfo();/添加学生信息void a_add_tecinfo();/添加老师信息void a_mdify_st

13、uinfo();/修改学生信息void a_del_info(char flag);/删除信息void a_mdify_tecinfo();/修改老师信息void a_seek_stuinfo();/查找学生信息void a_seek_tecinfo();/查找老师信息void show (char flag);/显示信息void save (char flag,char system);/保存信息void check(char flag);/验证密码void commom();/公用函数集合void a_show(char flag);/显示信息void a_seek_info(char f

14、lag);/查找信息void a_mdify_info(char flag);/修改学生或老师信息void stu_nextmenu(int tmpid);/学生菜单void tec_nextmenu(int tmpid);/老师菜单void s_show_myinfo(int tmpid);/学生显示自己信息void t_show_myinfo(int tmpid);/教师显示自己信息void s_updt_myinfo(int tmpid);/学生更新自己信息void s_select_subject(int tmpid);/学生选课void t_updt_stuinfo(int tmpi

15、d);/教授更新自己信息void t_updt_myinfo(int tmpid);/教授显示自己信息void readf();/从文件中读取信息void stu_sort();float ave (float core3);float (*f)(float core3);int inputpsword(char *pass);void a_chpsword();#endif/*/*/入口main函数#include#include#include#include#includehead.hLIST_HEAD(stu);LIST_HEAD(tec);int main()readf();syst

16、em(clear);printf(ttt* *tt*n* *tt*Copyright (c) 2010,易嵌教育n* *tt*All rights reserved.n* *tt* n* *tt*软件名称:学生选课管理系统n* *tt*摘 要:n* *tt* n* *tt*当前版本:1.1n* *tt*作 者:关仁杰n* *tt*完成日期:2010年8月2日n* *tt*n);/void delay(unsinged int) sleep(2);main_menu();return 0;void main_menu()int ch;char hc;system(clear);gettime()

17、;printf(ttt=学生信息管理系统 =nn);printf(tt#n);printf(tt= 欢迎使用本系统a =n);printf(tt#nn);printf(tt+n);printf(tt=1.学生 =n);printf(tt=2.教师 =n);printf(tt=3.管理员 =n);printf(tt=4.退出 =n);printf(tt+n);printf(请输入您选择的序号:n);scanf(%d,&ch);switch(ch)case 1:printf(您的身份是学生!n请登录:n);gettime();openf(student.txt);check(S_FLAG);bre

18、ak;case 2:printf(您的身份是教师!n请登录:n);gettime();openf(teacher.txt);check(T_FLAG);break;case 3:printf(您的身份是管理员!n请登录n);gettime();adm_login();break;case 4:printf(n);printf(aaa您已经保存相应的数据了吗?(y or n)n);getchar();scanf(%c,&hc);if(hc=y)|(hc=Y)printf(谢谢您使用本系统,如有需要请联系:QQ:n);printf(请按Enter键退出!n);getchar();getchar()

19、;exit(0);else if(hc=n)|(hc=N)printf(您还没有保存,系统将为您自动保存!n);save(S_FLAG,Y);break;default:printf(您的输入有误,请返回上级菜单!n);getchar();getchar();main_menu();/试读文件,验证是否建立void openf(char *filename)FILE *fp;if(fp=fopen(filename,r)=NULL)filename=NULL;printf(对不起!还没有建立相应的信息!n请于管理员联系!n);getchar();getchar();main_menu();fc

20、lose(fp);/管理员登录void adm_login()char psword6;FILE *fp;int i=0;if(fp=fopen(psword.txt,r)=NULL)printf(对不起没有相应的信息,请您建立!n);printf(请输入您的用户名(不得多于8个字符):n);scanf(%s,use0.ADM_usename);printf(请输入您的密码:n);while(pswordi=getchar()!=n|(pswordi=getchar()!=EOF|i6)putchar(*);i+;strcmp(use0.ADM_psword,psword);save(A_FL

21、AG,N);/save the infomain_menu();elsecheck(A_FLAG);fclose(fp);/*/*/*/管理员相关函数#ifndef _ADM_nextmenu_c#define _ADM_nextmenu_c#include#include#include#includehead.hstruct list_head *postion;void adm_nextmenu()int ch;system(clear);gettime();printf(tttt*n);printf(nntt#n);printf(tt=1.更改学生信息 =n);printf(tt=2.

22、更改老师信息 =n);printf(tt=3.更改自己信息 =n);printf(tt=4.返回主菜单 =n);printf(tt#nn);printf(请输入您选择的代号:);scanf(%d,&ch);switch(ch)case 1:a_updt_stuinfo();break;case 2: a_updt_tecinfo();break;case 3: a_updt_myinfo();break;case 4: printf(按Enter键返回主菜单!n);getchar();getchar();main_menu();break;default:printf(error!n);get

23、char();getchar();main_menu();/update infovoid a_updt_stuinfo()int ch;system(clear);gettime();printf(tttt*n);printf(nntt#n);printf(tt=1.添加学生信息 =n);printf(tt=2.删除学生信息 =n);printf(tt=3.查找学生信息 =n);printf(tt=4.修改学生信息 =n);printf(tt=5.返回上一级菜单 =n);printf(tt#nn);printf(请输入您选择的代号:);scanf(%d,&ch);switch(ch)case

24、 1: a_add_stuinfo();break;case 2: a_del_info(S_FLAG);break;case 3: a_seek_stuinfo();break;case 4: a_mdify_info(S_FLAG);break;case 5: save(S_FLAG,N);printf(按Enter返回上一级菜单!n);getchar();getchar();adm_nextmenu();break;default:printf(error!n);getchar();getchar();main_menu();/update infovoid a_updt_tecinfo

25、()int ch;system(clear);gettime();printf(tttt*n);printf(nntt#n);printf(tt=1.添加老师信息 =n);printf(tt=2.删除老师信息 =n);printf(tt=3.查找老师信息 =n);printf(tt=4.修改老师信息 =n);printf(tt=5.返回上一级菜单 =n);printf(tt#nn);printf(请输入您选择的代号:);scanf(%d,&ch);switch(ch)case 1: a_add_tecinfo();break;case 2: a_del_info(T_FLAG);break;c

26、ase 3: a_seek_tecinfo();break;case 4: a_mdify_info(T_FLAG);break;case 5:save(T_FLAG,N);printf(按Enter返回上一级菜单!n);getchar();getchar();adm_nextmenu();break;default:printf(error!n);getchar();getchar();main_menu();/change psword for admvoid a_updt_myinfo()int ch;system(clear);gettime();printf(tttt*n);prin

27、tf(nntt#n);printf(tt=1. 修改密码 =n);printf(tt= = =n);printf(tt= = =n);printf(tt=2. 返回上一级 =n);printf(tt=3.返回主菜单 =n);printf(tt#nn);printf(请输入您选择的代号:);scanf(%d,&ch);switch(ch)case 1: a_chpsword();gettime();break;case 2: printf(按Enter键返回上一级菜单!n);getchar();getchar();adm_nextmenu();break;case 3:printf(按Enter

28、返回主菜单!n);getchar();getchar();main_menu();break;default:printf(error!n);getchar();getchar();main_menu();void a_add_stuinfo()gettime();STU *stud;int i = 0;int stu_nu = 0; FILE *fp=NULL; int j=0;printf(您要创建多少个学生的信息:n);scanf(%d,&stu_nu);while(iSTU_psword,000);/初始密码为000for(j=0;jsubjecti.SUB_csname),);(st

29、ud-subjecti).SUB_csscore=0;(stud-subjecti).SUB_notesi=0.0;printf(输入第%d个学生的信息:n,i+1);printf(学生姓名:n);scanf(%s,stud-STU_name);printf(学号:n);scanf(%d,&stud-STU_id);printf(年龄:n);scanf(%d,&stud-STU_age);printf(年级:n);scanf(%d,&stud-STU_grade);i+;list_add(&(stud-list),&stu);stu_sort();show(S_FLAG);void a_add

30、_tecinfo()gettime();TEC *tech;TEC *point=NULL;int i = 0;int tech_nu = 0;FILE *fp=NULL;printf(您要创建多少个老师的信息:n);scanf(%d,&tech_nu);while(iTCH_psword,000);/初始密码为000printf(输入第%d个老师的信息:n,i+1);printf(姓名:n);scanf(%s,tech-TCH_name);printf(工号:n);scanf(%d,&tech-TCH_id);printf(教师所授科目:n);scanf(%s,&tech-subject0)

31、;i+;list_add(&(tech-list),&tec);show(T_FLAG);void a_seek_stuinfo()int ch;struct list_head *postion=NULL;STU *spoint;system(clear);gettime();printf(tt#n);printf(tt=1. 按学号或姓名查找 =n);printf(tt=2.显示所有学生信息 =n);printf(tt=3.返回上一级菜单 =n);printf(tt=4.返回主菜单 =n);printf(tt#n);printf(请输入您选择的序号:n);scanf(%d,&ch);swi

32、tch(ch)case 1 : a_seek_info(S_FLAG); break;case 2 :show(S_FLAG);break;case 3 : printf(按Enter键返回上一级!n); getchar();getchar(); a_updt_stuinfo(); break;case 4 : printf(按Enter 主菜单!n); getchar();getchar(); main_menu(); break;default : printf(error!); getchar(); main_menu();void a_seek_tecinfo()int ch;system(clear);gettime();printf(tt#n);printf(tt=1. 按工号

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服