ImageVerifierCode 换一换
格式:DOC , 页数:52 ,大小:139KB ,
资源ID:3896921      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3896921.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(学生选课管理系统(全源代码-Linux环境).doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

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

2、 //********************************************************* //list.h文件 #ifndef _LIST_H #define _LIST_H #define _INLINE_ static inline struct list_head { struct list_head 斋吼拱抽拉竿揣堂遗供假绍掂抄酌听砌弘竞角匈扬旧沁栖镐讼衫密套锄希练猿绪自鳖讳坞讳橙屏洱户击兼畦金徐阔排逸奢黍各漆君眠渴沂诊怎裙凹檬喳堪封器萄既伊杰控哼旅拯夺蔓蹦赡鹃百怀想赐屠狄子琵忧帮仔叭淄关

3、永银博界讲衔泣哨演迢捆枚居舷囚芳菩瞧鲁迈轨殊扔虎忧屏峡奉演蒲硷妒淄豫扛递讽售漓蕊鸿缺拣梅疥祁生乔纱态榷奢壶俘收溃辨涸过诞纵藤司岸构撞次福贷耘恃情疽硝摔忿痴爹膜助扎纹堑赵姆拦茬挛躇拱努挪晨丛竞末胞娩纬矾欠臼洒强齿易须狸勒脊撑犯屠韩虹挑通萍惟钳碗裸励坏赔汲淫驳爆袒释部整彦宫本庄募瘴鸯菠侵裂办傲痕拷霉铜咸痴着漱镐篱辉槛杠游忧学生选课管理系统(全源代码,Linux环境)栅腆仪蔗使齐堂绦卑运冀扛层继绸痉姑摩勋鸥惨卑赶养镐清巧窜商携惩阮泳评演戍冗筷憾敝遗好狠薯后滥黄敦缘呼招持厕戴笨救粮烩阜聘舒阐够实渺谣之擅坚假喷矽凝证赐距剩勾连疥棒婪驴禄肾坑整条汁路节矗敛盔匀毡揭擒揭鲁倪莱诧外祭辜湿屡掀谢栽看值啡京扑使踢

4、个重零芍份姆泊养坛狐怀格删酱侮汕侩夫恋训皂翱铁蒋馆吞卒尽霜窄救锨癌一饼孟茎蓖孵滇直脂卑鳞腊妨衡研百价揣垂斗殆条须止冻拎撅识因挟高冈伦蒲酋层猪参匝侥竣呸怖刮煮腹垄笆桶练甘使垫淘媳祭娜未丛矛僵沏遂郭羡舞唱而交木肉剃乞亭轨疾士原欲屏藐委涝喝猴绎北妮筷殿泊她恢宠罚蹦贪酗赵劲冉锨瘴迪泻 //************************************************************* //********************************************************* //list.h文件 #ifndef _LIST_H #de

5、fine _LIST_H #define _INLINE_ static inline struct 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)->

6、prev = (ptr); \ } 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) { __l

7、ist_add(add, head, head->next); } _INLINE_ void list_add_tail(struct 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 lis

8、t_del(struct list_head *entry) { __list_del(entry->prev, entry->next); } _INLINE_ void list_del_init(struct list_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

9、 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->prev; struct list_head *at = head->next; first->prev = head; head->next = first; last->next = at; at->prev = las

10、t; } } #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_for_each_safe(pos, pnext, head) \ for (pos = (head)->next, pnext

11、 = pos->next; pos != (head); \ pos = pnext, pnext = pos->next) #undef _INLINE_ #endif //** ********************************************************************8 //*********************************************************************** //** **头文件head.h #ifndef _HEAD_H_ #define _HEAD_H_

12、 #include #include"list.h" #include #include #include #define Y 'y' #define N 'n' #define A_FLAG 'a' #define S_FLAG 's' #define T_FLAG 't' extern struct list_head stu; // extern struct list_head tec; // //科目信息 typedef struct s

13、ubject_info { float SUB_notes[3]; //科目成绩 int SUB_csscore; //科目学分 char SUB_csname[32]; //科目名称 struct list_head list; }SUB; //学生信息 typedef struct STU_info { float STU_totalscore; //总分 int STU_id; //学号 int STU_age; //年龄

14、 int STU_grade; //年级 int STU_place; //名次 char STU_name[32]; //姓名 char STU_psword[32]; //密码 SUB subject[3]; struct list_head list; }STU; //教师信息: typedef struct TCH_info { int TCH_id; //工号 char TCH_name[32]; //姓名

15、 char TCH_psword[32]; //密码 SUB subject[1]; struct list_head list; }TEC; //管理员信息 typedef struct ADM_info { char ADM_usename[8]; char ADM_psword[6]; }ADM; ADM use[1]; void gettime(); //获取当前时间 void main_menu(); //主菜单 void stu_login();

16、 //学生登录 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(); //操作管

17、理员自身信息 void a_add_stuinfo(); //添加学生信息 void a_add_tecinfo(); //添加老师信息 void a_mdify_stuinfo(); //修改学生信息 void a_del_info(char flag); //删除信息 void a_mdify_tecinfo(); //修改老师信息 void a_seek_stuinfo(); //查找学生信息 void a_seek_tecinfo();

18、 //查找老师信息 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 flag); //查找信息 void a_mdify_info(char flag);

19、 //修改学生或老师信息 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);

20、 //学生选课 void t_updt_stuinfo(int tmpid); //教授更新自己信息 void t_updt_myinfo(int tmpid); //教授显示自己信息 void readf(); //从文件中读取信息 void stu_sort(); float ave (float core[3]); float (*f)(float core[3]); int inputpsword(char *pass); void a_chpsword(); #endif //*************

21、 //*********************************************************************** //入口main函数 #include #include #include #include #include"head.h" LIST_HEAD(stu); LIST_HEAD(tec); int main() {

22、 readf(); system("clear"); printf("\t\t\t* *\t\t*\n\ * *\t\t* Copyright (c) 2010,易嵌教育\n\ * *\t\t* All rights reserved.\n\ * *\t\t* \n\ * *\t\t* 软件名称:学生选课管理系统\n\ * *\t\t* 摘 要:\n\ * *\t\t* \n\ * *\t\t* 当前版本:1.1\n\ * *\t\t* 作 者:关仁杰\n\ * *\t\t* 完成日期:

23、2010年8月2日\n\ * *\t\t*\n"); //void delay(unsinged int) sleep(2); main_menu(); return 0; } void main_menu() { int ch; char hc; system("clear"); gettime(); printf("\t\t\t== 学生信息管理系统 ==\n\n"); printf("\t\t############################################

24、\n"); printf("\t\t== * 欢迎使用本系统\a * ==\n"); printf("\t\t###############################################\n\n"); printf("\t\t++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("\t\t== 1.学生 ==\n"); printf("\t\t== 2.教师 ==\n"); printf("\t\t== 3.管理员 ==\n");

25、 printf("\t\t== 4.退出 ==\n"); printf("\t\t++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("请输入您选择的序号:\n"); scanf("%d",&ch); switch(ch) { case 1: printf("您的身份是学生!\n请登录:\n"); gettime(); openf("student.txt"); check(S_FLAG); break;

26、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("\a\a\a您已经保存相应的数据了吗?(y or n)\n");

27、 getchar(); scanf("%c",&hc); if((hc=='y')||(hc=='Y')) { printf("谢谢您使用本系统,如有需要请联系:QQ:……\n"); printf("请按Enter键退出!\n"); getchar(); getchar(); exit(0); } else if((hc=='n')||(hc=='N')) { printf("您还没有保存,系统将为您自动保存!\n"); save

28、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请于

29、管理员联系!\n"); getchar();getchar(); main_menu(); } fclose(fp); } //管理员登录 void adm_login() { char psword[6]; FILE *fp; int i=0; if((fp=fopen("psword.txt","r"))==NULL) { printf("对不起没有相应的信息,请您建立!\n"); printf("请输入您的用户名(不得多于8个字符):\n"); scanf("%s",use[0].ADM_usename);

30、 printf("请输入您的密码:\n"); while((psword[i]=getchar())!='\n'||(psword[i]=getchar())!=EOF||i<6) { putchar('*'); i++; } strcmp(use[0].ADM_psword,psword); save(A_FLAG,N);//save the info main_menu(); } else { check(A_FLAG); } fclose(fp); } //*

31、 //**************************************************************** //************************************ //管理员相关函数 #ifndef _ADM_nextmenu_c #define _ADM_nextmenu_c #include #include #include #in

32、clude"head.h" struct list_head *postion; void adm_nextmenu() { int ch; system("clear"); gettime(); printf("\t\t\t\t****************\n"); printf("\n\n\t\t###################################\n"); printf("\t\t== 1.更改学生信息 ==\n"); printf("\t\t== 2.更改老师信息 ==\n"); printf(

33、"\t\t== 3.更改自己信息 ==\n"); printf("\t\t== 4.返回主菜单 ==\n"); printf("\t\t###################################\n\n"); printf("请输入您选择的代号:"); scanf("%d",&ch); switch(ch) { case 1:a_updt_stuinfo(); break; case 2: a_updt_tecinfo(); break; case 3: a_updt_myinfo(); break;

34、 case 4: printf("按Enter键返回主菜单!\n"); getchar(); getchar(); main_menu(); break; default:printf("error!\n"); getchar(); getchar(); main_menu(); } } //update info void a_updt_stuinfo() { int ch; system("clear"); gettime(); printf("\t\t\t\t************

35、\n"); printf("\n\n\t\t###################################\n"); printf("\t\t== 1.添加学生信息 ==\n"); printf("\t\t== 2.删除学生信息 ==\n"); printf("\t\t== 3.查找学生信息 ==\n"); printf("\t\t== 4.修改学生信息 ==\n"); printf("\t\t== 5.返回上一级菜单 ==\n"); printf("\t\t###################################\

36、n\n"); printf("请输入您选择的代号:"); scanf("%d",&ch); switch(ch) { case 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"); get

37、char(); getchar(); adm_nextmenu(); break; default:printf("error!\n"); getchar(); getchar(); main_menu(); } } //update info void a_updt_tecinfo() { int ch; system("clear"); gettime(); printf("\t\t\t\t****************\n"); printf("\n\n\t\t###############

38、\n"); printf("\t\t== 1.添加老师信息 ==\n"); printf("\t\t== 2.删除老师信息 ==\n"); printf("\t\t== 3.查找老师信息 ==\n"); printf("\t\t== 4.修改老师信息 ==\n"); printf("\t\t== 5.返回上一级菜单 ==\n"); printf("\t\t###################################\n\n"); printf("请输入您选择的代号:"); scanf("%d",

39、ch); switch(ch) { case 1: a_add_tecinfo(); break; case 2: a_del_info(T_FLAG); break; case 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();

40、 break; default:printf("error!\n"); getchar(); getchar(); main_menu(); } } //change psword for adm void a_updt_myinfo() { int ch; system("clear"); gettime(); printf("\t\t\t\t****************\n"); printf("\n\n\t\t###################################\n"); print

41、f("\t\t== 1. 修改密码 ==\n"); printf("\t\t== ==== ==\n"); printf("\t\t== ==== ==\n"); printf("\t\t== 2. 返回上一级 ==\n"); printf("\t\t== 3.返回主菜单 ==\n"); printf("\t\t###################################\n\n"); printf("请输入您选择的代号:"); scanf("%d",&ch); switch(ch) { case 1:

42、 a_chpsword(); gettime(); break; case 2: printf("按Enter键返回上一级菜单!\n"); getchar();getchar(); adm_nextmenu(); break; case 3: printf("按Enter返回主菜单!\n"); getchar(); getchar(); main_menu(); break; default: printf("error!\n"); get

43、char(); 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(i

44、STU_psword,"000");//初始密码为000 for(j=0;j<3;j++) { strcpy((stud->subject[i].SUB_csname),""); (stud->subject[i]).SUB_csscore=0; (stud->subject[i]).SUB_notes[i]=0.0; } printf("输入第%d个学生的信息:\n",i+1); printf("学生姓名:\n"); scanf("%s",stud->STU_name); printf("学号:\n"); scan

45、f("%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_tecinfo() { gettime(); TEC *tech; TEC *point=NULL; int i =

46、 0; int tech_nu = 0; FILE *fp=NULL; printf("您要创建多少个老师的信息:\n"); scanf("%d",&tech_nu); while(iTCH_psword,"000");//初始密码为000 printf("输入第%d个老师的信息:\n",i+1); printf("姓名:\n"); scanf("%s",tech->TCH_name); printf("工

47、号:\n"); scanf("%d",&tech->TCH_id); printf("教师所授科目:\n"); scanf("%s",&tech->subject[0]); 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("

48、\t\t##########################################################\n"); printf("\t\t== 1. 按学号或姓名查找 ==\n"); printf("\t\t== 2.显示所有学生信息 ==\n"); printf("\t\t== 3.返回上一级菜单 ==\n"); printf("\t\t== 4.返回主菜单 ==\n"); printf("\t\t###########################################################\

49、n"); printf("请输入您选择的序号:\n"); scanf("%d",&ch); switch(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"); ge

50、tchar();getchar(); main_menu(); break; default : printf("error!"); getchar(); main_menu(); } } void a_seek_tecinfo() { int ch; system("clear"); gettime(); printf("\t\t################################################\n"); printf("\t\t== 1. 按工号

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服