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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生选课管理系统全源代码Linux环境.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生选课管理系统全源代码Linux环境.docx

1、学生选课管理系统全源代码Linux环境/*/*/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

2、); (ptr)-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) _list_add(add, head, head-next);_INL

3、INE_ 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 list_del(struct list_head *entry) _list_del(entry-prev, entry-next);_INLINE_

4、 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_ void list_splice(struct list_head *list, struct list_head *head) struct list_head *first = list-next; if (first != li

5、st) struct list_head *last = list-prev; 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; po

6、s != (head); pos = pos-next)#define list_for_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#define Y y#define N

7、n#define A_FLAG a#define S_FLAG s#define T_FLAG textern struct list_head stu; /extern struct list_head tec; /科目信息 typedef struct subject_info float SUB_notes3; /科目成绩 int SUB_csscore; /科目学分 char SUB_csname32; /科目名称 struct list_head list;SUB;/学生信息typedef struct STU_info float STU_totalscore; /总分 int S

8、TU_id; /学号 int STU_age; /年龄 int STU_grade; /年级 int STU_place; /名次 char STU_name32; /姓名 char STU_psword32; /密码 SUB subject3; struct list_head list;STU;/教师信息:typedef struct TCH_info int TCH_id; /工号 char TCH_name32; /姓名 char TCH_psword32; /密码 SUB subject1; struct list_head list;TEC;/管理员信息typedef struct

9、 ADM_info char ADM_usename8; char ADM_psword6; ADM;ADM use1; void gettime(); /获取当前时间void main_menu(); /主菜单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(); /操作老

10、师信息void a_updt_myinfo(); /操作管理员自身信息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(); /查找老师信息void show (char flag); /显示信息void save (char flag,cha

11、r system); /保存信息void check(char flag); /验证密码void commom(); /公用函数集合void a_show(char flag); /显示信息void a_seek_info(char flag); /查找信息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(in

12、t tmpid); /教师显示自己信息void s_updt_myinfo(int tmpid); /学生更新自己信息void s_select_subject(int tmpid); /学生选课void t_updt_stuinfo(int tmpid); /教授更新自己信息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

13、_chpsword();#endif/*/*/入口main函数#include#include#include#include#includehead.hLIST_HEAD(stu);LIST_HEAD(tec);int main() readf(); system(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* 作

14、者:关仁杰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(); printf(ttt= 学生信息管理系统 =nn); printf(tt#n); printf(tt= 欢迎使用本系统a =n); printf(tt#nn); printf(tt+n); printf(tt= 1.学生 =n); printf(tt= 2.教师 =n); print

15、f(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); break; case 2: printf(您的身份是教师!n请登录:n); gettime(); openf(teacher.txt); check(T_FLAG); break; case 3: printf(您的身份是管理员!n请登录n);

16、 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(); exit(0); else if(hc=n)|(hc=N) printf(您还没有保存,系统将为您自动保存!n); save(S_FLAG,Y); break; default: printf(

17、您的输入有误,请返回上级菜单!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(); fclose(fp); /管理员登录void adm_login() char psword6; FILE *fp; int i=0; if(fp=fopen(psw

18、ord.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_FLAG,N);/save the info main_menu(); else check(A_FLAG); fclose(fp);/

19、*/*/*/管理员相关函数#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.更改老师信息 =n); printf(tt= 3.更改自己信息 =n); printf(tt= 4.返回主

20、菜单 =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); getchar(); getchar(); main_menu();

21、/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 1: a_add

22、_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() int ch; system(clear); gettime(); printf(tttt*n); printf(nntt#n);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1