最新基于Linux系统的学生信息管理系统.docx

上传人:b****2 文档编号:2018297 上传时间:2022-10-26 格式:DOCX 页数:19 大小:19.38KB
下载 相关 举报
最新基于Linux系统的学生信息管理系统.docx_第1页
第1页 / 共19页
最新基于Linux系统的学生信息管理系统.docx_第2页
第2页 / 共19页
最新基于Linux系统的学生信息管理系统.docx_第3页
第3页 / 共19页
最新基于Linux系统的学生信息管理系统.docx_第4页
第4页 / 共19页
最新基于Linux系统的学生信息管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

最新基于Linux系统的学生信息管理系统.docx

《最新基于Linux系统的学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《最新基于Linux系统的学生信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

最新基于Linux系统的学生信息管理系统.docx

最新基于Linux系统的学生信息管理系统

程序设计报告

基于Linux系统的学生信息管理系统

功能:

在Linux系统下,实现学生信息的管理功能

开发环境:

LinuxUbuntu12.04,Intel64位处理器

开发语言:

C语言

运行环境:

普通PC机

编译环境:

gccMakefile

本系统对学生信息进行管理,分有学生、老师、老板三种板块,不同权限的用户登录会进入不同的界面进行操作。

系统主界面分为注册,登录,忘记密码,关于以及退出,如果没有这个系统的账号和密码可以进行注册,注册时候会问你要注册的权限是什么,并且根据你注册的权限进去相应的界面。

登录时候需要输入账号以及密码,如果账号密码均正确将进入账号所属权限的界面;如果有错误,会根据错误类型提醒用户。

忘记密码可通过管理员用户查看进行找回。

关于则是一点具体信息。

退出则会退出此程序。

以下具体介绍每个权限中的具体功能:

1.学生界面:

学生的功能包括查看学生信息,考试,提交试卷,修改密码,返回以及退出的功能。

将各个函数封装成一个box,然后在主函数中进行调用,具体代码如下:

①box中的各函数:

#include"stu_box.h"

#include

#include

#include

staticvoidinit_node(structstu_info*head,structstu_infoinfo)

{

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;

}

staticvoid__add(structstu_info*a,structstu_info*new,structstu_info*b)

{

a->next=new;

new->next=b;

b->prev=new;

new->prev=a;

}

staticintadd(structstu_info*head,structstu_infoinfo)

{

structstu_info*new=NULL;

new=(structstu_info*)malloc(sizeof(structstu_info));

init_node(new,info);

__add(head,new,head->next);

return1;

}

staticintread_from_stdin(structstu_box*box)

{

structstu_info*head=box->head;

structstu_infoinfo;

printf("\t\t\t\t\t\t请输入学生信息:

\n");

printf("\t\t\t\t\t\t例如:

张山男23123456789136000000上海市嵌入式\n\t\t\t\t\t\t");

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);

return1;

}

staticintread_from_file(structstu_box*box)

{

structstu_info*head=box->head;

structstu_infoinfo;

//1.fopen

FILE*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);

return0;

}

staticintedit(structstu_box*box)

{

return1;

}

staticintdisplay(structstu_box*box)

{

structstu_info*tmp=box->head;

for(tmp=box->head->next;tmp!

=box->head;tmp=tmp->next)

{

printf("\t\t\t\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",

tmp->name,tmp->sex,tmp->age,tmp->cid,tmp->tel,

tmp->addr,tmp->object);

}

return1;

}

staticvoidinit_head(structstu_info*head)

{

structstu_infoinfo={"abc","男",

22,"123456789012345678","123456789","上海市","嵌入式"};

init_node(head,info);

}

staticintdel(structstu_box*box)

{

charname[32];

printf("\t\t\t\t\t\t请输入需要删除学生的姓名:

\n\t\t\t\t\t\t");

scanf("%s",name);

structstu_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;

}

}

return1;

}

staticintsave(structstu_box*box)

{

structstu_info*head=box->head;

structstu_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%s\n",

tmp->name,tmp->sex,tmp->age,tmp->cid,tmp->tel,

tmp->addr,tmp->object);

}

//3.关闭文件

fclose(fp);

return0;

}

structstu_box*init_stu_box()

{

structstu_box*box=NULL;

box=(structstu_box*)malloc(sizeof(structstu_box));

//创建链表

structstu_info*head=NULL;

head=(structstu_info*)malloc(sizeof(structstu_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;

returnbox;

}

②主函数:

#include"user_box.h"

#include

#include

#include

#include

#include"user.h"

#include"stu_box.h"

staticvoiddisplay_menu()

{

//system("clear");

printf("\t\t\t\t\t\t*****************************************\n");

printf("\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t*1.查看学生信息*\n");

printf("\t\t\t\t\t\t*2.考试*\n");

printf("\t\t\t\t\t\t*3.提交试卷*\n");

printf("\t\t\t\t\t\t*4.修改密码*\n");

printf("\t\t\t\t\t\t*5.返回*\n");

printf("\t\t\t\t\t\t*0.退出*\n");

printf("\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t*****************************************\n");

}

voiddisplay_stu_info(structstu_box*box)

{

box->readfp(box);

system("clear");

printf("\n\n\n\n\n");

printf("\t\t\t\t*****学生信息*****\n");

printf("\n\n\t\t\t\t+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

box->display(box);

printf("\t\t\t\t+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

box->save(box);

}

//考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

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

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