欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于Linux系统的学生信息管理系统(共13页).doc

    • 资源ID:13489200       资源大小:44KB        全文页数:13页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Linux系统的学生信息管理系统(共13页).doc

    精选优质文档-倾情为你奉上程序设计报告基于Linux系统的学生信息管理系统功能:在Linux系统下,实现学生信息的管理功能开发环境:Linux Ubuntu 12.04,Intel 64位处理器开发语言:C语言运行环境:普通PC机编译环境:gcc Makefile本系统对学生信息进行管理,分有学生、老师、老板三种板块,不同权限的用户登录会进入不同的界面进行操作。系统主界面分为注册,登录,忘记密码,关于以及退出,如果没有这个系统的账号和密码可以进行注册,注册时候会问你要注册的权限是什么,并且根据你注册的权限进去相应的界面。登录时候需要输入账号以及密码,如果账号密码均正确将进入账号所属权限的界面;如果有错误,会根据错误类型提醒用户。忘记密码可通过管理员用户查看进行找回。关于则是一点具体信息。退出则会退出此程序。以下具体介绍每个权限中的具体功能:1. 学生界面:学生的功能包括查看学生信息,考试,提交试卷,修改密码,返回以及退出的功能。将各个函数封装成一个box,然后在主函数中进行调用,具体代码如下:box中的各函数:#include "stu_box.h"#include <stdio.h>#include <stdlib.h>#include <string.h>static void init_node(struct stu_info *head, struct stu_info info)strcpy(head->name, info.name);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 = 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 = 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->head;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 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 *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->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 != head; 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 = 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 <stdio.h>#include <stdlib.h>#include <unistd.h>#include <time.h>#include "user.h"#include "stu_box.h"static 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 display_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 = fopen("dat/test.txt", "r+");if(fp_s = NULL)perror("fopen():fp_s");return -1;FILE *fp_d = NULL;fp_d = fopen(path, "w+");if(fp_d = NULL)perror("fopen():fp_d");return -1;char c;while( (c = fgetc(fp_s) != EOF)fputc(c, fp_d);fclose(fp_s);fclose(fp_d);return 0;/提交试卷int upload(struct user *u)char path32;printf("tttttt请输入存放答案的路径:ntttttt");scanf("%s", path);FILE *fp_s = NULL;fp_s = fopen(path, "r+");if(fp_s = NULL)perror("fopen():fp_s");return -1;char str32;sprintf(str, "%s%s%s", "dat/", u->name, "_ret.txt");FILE *fp_d = NULL;fp_d = fopen(str, "w+");if(fp_d = NULL)perror("fopen():fp_d");return -1;char c;while( (c = fgetc(fp_s) != EOF)fputc(c, fp_d);fclose(fp_s);fclose(fp_d);return 0;/修改密码int mod_pd()struct user_info_box * box1= init_user_box();box1->readfp(box1);box1->chmm(box1);box1->save(box1);return 0;int stu_main(struct user *u)/struct user_info_box *box1= init_user_box();struct stu_box *box = init_stu_box();int ret;int y = 0;while(y = 0)system("clear");printf("nnnntttttt 欢迎进入学生界面 nn");time_t t;t = time(NULL);struct tm *tm = localtime(&t);char ts20;sprintf(ts,"%04d-%02d-%02d-%02d:%02d:%02d",tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,tm->tm_hour, tm->tm_min,tm->tm_sec);printf("tttttt欢迎%s登录 %sn", u->name,ts);display_menu();printf("tttttt请选择:");scanf("%d", &ret);getchar();switch(ret)case 1:/查看学生信息box->readfp(box);display_stu_info(box);box->save(box);preAnyone();break;case 2:/考试if(test()=0)printf("tttttt抽取试卷成功!n");preAnyone();elseprintf("tttttt抽取试卷失败!n");preAnyone();break;case 3:/提交试卷upload(u);break;case 4/修改密码mod_pd();preAnyone();break;case 5:y = 6;break;case 0:exit(0);break;default:printf("tttttt您的输入有误!n");preAnyone();break;return 0;2. 老师界面老师的功能包括编辑学生信息,上传试卷,批改试卷,修改密码,返回以及退出的功能。其中编辑学生信息又分为查看学生信息,增加学生信息,修改学生信息以及删除学生信息,具体代码实现如下:#include<time.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include "user.h"#include "stu_box.h"#include "user_box.h"static 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");static int display_edit_stu_menu()int y =0;int ret;struct stu_box *box = init_stu_box();box->readfp(box);while(y =0)system("clear");printf("nnnn");printf("tttttt 学生编辑 nn");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");printf("tttttt请输入你的选择:");scanf("%d", &ret);getchar();switch(ret)case 1:box->display(box);preAnyone();break;case 2:box->readin(box);getchar();preAnyone();break;case 3:box->edit(box);getchar();preAnyone();break;case 4:box->del(box);getchar();preAnyone();break;case 5:y = 5;break;case 0:/保存文件box->save(box);exit(0);default:break;/保存文件box->save(box);return 0;void edit_stu_info()display_edit_stu_menu();/考试static int test()char path32;printf("tttttt请输入存放试卷的路径:ntttttt");scanf("%s", path);FILE *fp_s = NULL;fp_s = fopen("dat/test.txt", "r+");if(fp_s = NULL)perror("fopen():fp_s");return -1;FILE *fp_d = NULL;fp_d = fopen(path, "w+");if(fp_d = NULL)perror("fopen():fp_d");return -1;char c;while( (c = fgetc(fp_s) != EOF)fputc(c, fp_d);fclose(fp_s);fclose(fp_d);return 0;/提交试卷static int upload(struct user *u)char path32;printf("tttttt请输入存放答案的路径:ntttttt");scanf("%s", path);FILE *fp_s = NULL;fp_s = fopen(path, "r+");if(fp_s = NULL)perror("fopen():fp_s");return -1;char str32;sprintf(str, "%s%s%s", "dat/", u->name, "_ret.txt");FILE *fp_d = NULL;fp_d = fopen(str, "w+");if(fp_d = NULL)perror("fopen():fp_d");return -1;char c;while( (c = fgetc(fp_s) != EOF)fputc(c, fp_d);fclose(fp_s);fclose(fp_d);return 0;/修改密码static int mod_pd()struct user_info_box * box1 = init_user_box();box1->readfp(box1);box1->chmm(box1);box1->save(box1);return 0;int tea_main(struct user *u)int ret;int y = 0;while(y = 0)system("clear");printf("nnnntttttt 欢迎进入到教师界面 nn");time_t t;t = time(NULL);struct tm *tm = localtime(&t);char ts20;sprintf(ts,"%04d/%02d/%02d-%02d:%02d:%02d",tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,tm->tm_hour, tm->tm_min,tm->tm_sec);printf("tttttt欢迎%s登录 %sn", u->name,ts);display_menu();printf("tttttt请选择:");scanf("%d", &ret);switch(ret)case 1:/编辑看学生信息edit_stu_info();break;case 2:/考试test();break;case 3:/提交试卷upload(u);break;case 4:/修改密码mod_pd();break;case 5:y = 5;break;case 0:exit(0);break;default:break;return 0;专心-专注-专业

    注意事项

    本文(基于Linux系统的学生信息管理系统(共13页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开