基于Linux系统的学生信息管理系统(共13页).doc
《基于Linux系统的学生信息管理系统(共13页).doc》由会员分享,可在线阅读,更多相关《基于Linux系统的学生信息管理系统(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上程序设计报告基于Linux系统的学生信息管理系统功能:在Linux系统下,实现学生信息的管理功能开发环境:Linux Ubuntu 12.04,Intel 64位处理器开发语言:C语言运行环境:普通PC机编译环境:gcc Makefile本系统对学生信息进行管理,分有学生、老师、老板三种板块,不同权限的用户登录会进入不同的界面进行操作。系统主界面分为注册,登录,忘记密码,关于以及退出,如果没有这个系统的账号和密码可以进行注册,注册时候会问你要注册的权限是什么,并且根据你注册的权限进去相应的界面。登录时候需要输入账号以及密码,如果账号密码均正确将进入账号所属权限的界面;
2、如果有错误,会根据错误类型提醒用户。忘记密码可通过管理员用户查看进行找回。关于则是一点具体信息。退出则会退出此程序。以下具体介绍每个权限中的具体功能:1. 学生界面:学生的功能包括查看学生信息,考试,提交试卷,修改密码,返回以及退出的功能。将各个函数封装成一个box,然后在主函数中进行调用,具体代码如下:box中的各函数:#include stu_box.h#include #include #include static void init_node(struct stu_info *head, struct stu_info info)strcpy(head-name, info.name
3、);strcpy(head-sex, info.sex);head-age = info.age;strcpy(head-cid, info.cid);strcpy(head-tel, info.tel);strcpy(head-addr, info.addr);strcpy(head-object, info.object);head-next = head;head-prev = head;static void _add(struct stu_info *a, struct stu_info *new, struct stu_info *b)a-next = new;new-next =
4、 b;b-prev = new;new-prev = a;static int add(struct stu_info *head, struct stu_info info)struct stu_info *new = NULL;new = (struct stu_info *)malloc(sizeof(struct stu_info);init_node(new, info);_add(head, new, head-next);return 1;static int read_from_stdin(struct stu_box *box)struct stu_info *head =
5、box-head;struct stu_info info;printf(tttttt请输入学生信息:n);printf(tttttt例如:张山 男 23 上海市 嵌入式ntttttt);scanf(%s %s %d %s %s %s %s, info.name, info.sex, &info.age, info.cid, info.tel, info.addr, info.object);add(head, info);return 1;static int read_from_file(struct stu_box *box)struct stu_info *head = box-hea
6、d;struct stu_info info;/1.fopenFILE *fp = NULL;fp = fopen(dat/stu_info.dat, r+);if(fp = NULL)perror(fopen);return -1;while( (fscanf(fp, %s %s %d %s %s %s %s, info.name, info.sex, &info.age, info.cid, info.tel, info.addr, info.object) != EOF)add(head, info);fclose(fp);return 0;static int edit(struct
7、stu_box *box)return 1;static int display(struct stu_box *box)struct stu_info *tmp = box-head;for(tmp = box-head-next; tmp != box-head; tmp= tmp-next)printf(tttt%st%st%dt%st%st %st%sn, tmp-name, tmp-sex, tmp-age, tmp-cid, tmp-tel, tmp-addr, tmp-object);return 1;static void init_head(struct stu_info *
8、head)struct stu_info info = abc, 男, 22, , , 上海市, 嵌入式;init_node(head, info);static int del(struct stu_box *box)char name32;printf(tttttt请输入需要删除学生的姓名:ntttttt);scanf(%s, name);struct stu_info *tmp = box-head;for(tmp = box-head-next; tmp != box-head; tmp= tmp-next)if(strcmp(tmp-name, name) = 0)tmp-prev-
9、next = tmp-next;tmp-next-prev = tmp-prev;init_head(tmp);free(tmp);break;return 1;static int save(struct stu_box *box)struct stu_info *head = box-head;struct stu_info *tmp = NULL;/1.打开文件FILE *fp = NULL;fp = fopen(dat/stu_info.dat,w+);if(fp = NULL)perror(fopen();return -1;for(tmp = head-next; tmp != h
10、ead; tmp = tmp-next)/2.往文件里面写入fprintf(fp, %s %s %d %s %s %s %sn, tmp-name, tmp-sex, tmp-age, tmp-cid, tmp-tel, tmp-addr, tmp-object);/3.关闭文件fclose(fp);return 0; struct stu_box *init_stu_box()struct stu_box *box = NULL;box = (struct stu_box *)malloc(sizeof(struct stu_box);/创建链表struct stu_info *head =
11、 NULL;head = (struct stu_info *)malloc(sizeof(struct stu_info);init_head(head);box-head = head;box-edit = edit;box-del = del;box-display = display;box-save = save;box-readin = read_from_stdin;box-readfp = read_from_file;return box;主函数:#include user_box.h#include #include #include #include #include u
12、ser.h#include stu_box.hstatic void display_menu()/system(clear);printf(tttttt*n);printf(tttttt* *n);printf(tttttt* 1. 查看学生信息 *n);printf(tttttt* 2. 考试 *n);printf(tttttt* 3. 提交试卷 *n);printf(tttttt* 4. 修改密码 *n);printf(tttttt* 5. 返回 *n);printf(tttttt* 0. 退出 *n);printf(tttttt* *n);printf(tttttt*n);void d
13、isplay_stu_info(struct stu_box *box)box-readfp(box);system(clear);printf(nnnnn);printf(tttt *学生信息* n);printf(nntttt+n);box-display(box);printf(tttt+n);box-save(box);/考试int test()/printf(_%s_n, _func_);char path32;printf(tttttt请输入存放试卷的路径:ntttttt);scanf(%s, path);/getchar();FILE *fp_s = NULL;fp_s = fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 系统 学生 信息管理 13
限制150内