【毕业设计】教师信息管理系统C语言程序 【源码+论文】

目 录
目 录 I
一、选题背景 1
1.1 主要问题及技术要求 1
1.2 基本思路 1
2.1 函数设计思路及流程图 2
2.1.1 程序基本功能和流程 2
2.1.2 主函数结构及流程 2
2.2 部分主要函数的流程图 3
2.3参数设置说明 5
2.3.1结构体变量 5
2.3.2整型变量n,m 5
三、程序及功能说明 5
3.1 数据结构的设计 5
3.2 信息初始化及进入菜单模块 5
3.3显示教师信息模块 7
3.4修改和查询教师信息模块 8
3.5添加教师信息模块 10
3.6按职工号排序模块 11
3.7删除教师信息模块 12
3.8退出管理系统模块 12
3.9主函数模块 13
四、结果分析 14
4.1信息初始化及进入菜单模块 14
4.1.1登录界面 14
4.1.2选择界面 15
4.2显示教师信息模块 16
4.3修改教师信息模块 17
4.4添加教师信息模块 18
4.5按职工号排序模块 19
4.6查询教师信息模块 20
4.7删除教师信息模块 21
4.8保存并退出板块 22
4.9退出板块 22
五、总结及心得体会 23
参考文献 26
源程序 27

一、选题背景
1.1 主要问题及技术要求
学院教学信息是教学过程中重要的反馈,对这些信息的的整理、分析,对教学质量的监控、教学过程的管理有着重要的作用。信息技术的发展渗透在生活的各个方面,教务管理系统的应用可以使教学管理更加方便、有效,我们小组应用C语言相关知识,编写程序来实现教职工信息的管理。
本课题主是要满足管理系统对教职工基本信息的输入、显示、修改、添加、查询、排序等技术要求。
1.2基本思路
运用学习的C语言知识,特别是数组结构体和链表的综合使用,用结构体存储每个老师的基本信息,用链表将所有结构体连接起来,进而用链表对教师信息进行整体操作。以switch语句为主设计主函数,进而调用显示、修改、添加、查询、排序等各个模块的子函数来实现所需要的功能。

二、算法设计
2.1 函数设计思路及流程图
通过编译一个C语言函数,其中包括一个主函数和多个子函数,主函数调用其余子函数,实现对教职工信息数据的录入、修改、排序、添加、查询、删除、保存成文件、并能从文件中读出信息等功能。

2.1.1 程序基本功能和流程

图1 程序功能示意图

2.1.2 主函数结构及流程

图2 主函数流程图

2.2 部分主要函数的流程图

While(p0->next!=NULL)
P1=p0->next
While(p1!=NULL)

否 p0->no>p1->no

交换p0p1及p0->next与p1->next
P1=p1->next
P0=p0->next
图3 按工号排序N-S流程图

P=head

是 Head!= NULL

输出信息
P=p->next
While(p!=NULL)
图4 输出教师信息N-S流程图
输入界面信息及提示
输入职工信息
while(p1-> num!=0)
n=0,n++

是 n==1

p1=head p2->next=p1
p2=p1
开辟新空间输入信息
p2-next=NULL
图5输入信息N-S流程图

图6 查询教师信息N-S流程图

图7 修改教师信息N-S流程图
2.3参数设置说明
2.3.1结构体变量
struct teacher
{
long no;
char name[10];
char position[10];
char sex[5];
float score;
struct teacher *next;
};
用结构体struct teacher储存教师基本面信息。其中no是教师工号,name是教师姓名,position是教师职称,sex是性别,score是3门课程的综合评分。
2.3.2整型变量n,m
用n记录链表中添加了多少条教师信息。m是菜单选项,在主函数中通过对m值的判断来确定调用哪一函数。
三、程序及功能说明
3.1 数据结构的设计
使用结构体用于储存教师的基本信息,该结构体如下:
struct teacher /定义结构体类型struct teacher/
{
long no; /定义no为长整型/
char name[10]; /定义字符型数组name/
char position[10]; /定义字符型数组position/
char sex; /定义sex为字符型变量/
float score; /定义score为浮点型变量/
struct teacher *next; /定义next为指向struct teacher的指针/
};
int n,m; /定义n,m整型变量/
3.2 信息初始化及进入菜单模块
此模块是程序运行出现的第一个出现的界面,主要追求美观。同时为保证系统保密性,此页面还加上了输入密码的功能。通过比较用户输入的字符串和系统设定的字符串,来确定该用户是否有使用此系统的权利。

void paw()
{
int k;
char mm[10];
system(“cls”);
printf(“\n\n\n\n”);
printf(“\t”);
for(k=0;k<15;k++)
printf(“★☆”);
printf(“★”);
printf(“\n”);
for(k=0;k<2;k++)
printf(“\t☆\t\t\t\t\t\t\t ☆\n”);
printf(“\t☆ 教师信息管理系统 ☆\n”);
printf(“\t☆\t\t\t\t\t\t\t ☆\n”);
printf(“\t☆\t\t 制作人:www\t\t\t ☆\n”);
printf(“\t☆\t\t\t www\t\t\t ☆\n”);
printf(“\t☆\t\t\t www\t\t\t ☆\n”);
for(k=0;k<2;k++)
printf(“\t☆\t\t\t\t\t\t\t ☆\n”,36,36);
printf(“\t”);
for(k=0;k<15;k++)
printf(“★☆”);
printf(“★”);
printf(“\n\n\t登录密码:”);
gets(mm);
if(strcmp(mm,“信计111”)!=0)
{
printf(“您输入的密码有误,请重新输入\n”);
system(“pause”);
paw();
}
}
/登陆初始界面*/
void start()
{
system(“cls”);
printf(“\n\n\n\n\n”);
printf(“\t*****************************************************************\n\n”);
printf(“\t\t\t 欢迎使用教师管理系统\n\n”);
printf(“\t*****************************************************************\n\n”);
printf(“\t是否载入文件信息:\t\t\t”);
printf(“1、是\t2、否\n\n\n”);
printf(“\t请选择菜单:”);
scanf(“%d”,&m);
}
/菜单界面**/
void index()
{
system(“cls”);
printf(“\n\n\n\n”);
printf(" ------------------------------------------------------------------------\n");
printf(“\t 欢迎使用教师管理系统*\n\n”);
printf(“\t 1、显示教师信息 2、修改教师信息 3、添加教师信息\n\n”);
printf(“\t 4、删除教师信息 5、教师信息排序 6、查询教师信息\n\n”);
printf(“\t 7、保存并退出\t\t8、退出\n\n”);
printf(" ------------------------------------------------------------------------\n\n");
printf(“请选择菜单:”);
scanf(“%d”,&m);
}
3.3显示教师信息模块
将系统中所有老师的信息逐条在表格中对应位置输出。
void print(struct teacher head) /定义print函数/
{
system(“cls”); /清屏函数/
printf("\n\n\t 欢迎使用教师管理系统
\n\n");
struct teacher *p; /定义p为指向struct teacher类型的指针/
printf(“\t\t┏━━━┳━━━┳━━━┳━━━┳━━━┓\n”);
printf(“\t\t┃工号\t┃姓名\t┃性别\t┃年龄\t┃测评 ┃\n”);
printf(“\t\t┣━━━╋━━━╋━━━╋━━━╋━━━┫\n”);
p=head; /p指向第一个结点/
if(head!=NULL) /如果头指针存放的不是空地址/
do
{
printf(“\t\t┃%-6ld┃%-6s┃%-6s┃%-6c┃%-6.2f┃\n”,p->no,p->name,p->position,p->sex,p->score);
printf(“\t\t┣━━━╋━━━╋━━━╋━━━╋━━━┫\n”);
p=p->next; /指向下一个结点的指针赋给p/
}while(p!=NULL); /当p存放的不是空地址的时候执行循环体/
printf(“\t\t┗━━━┻━━━┻━━━┻━━━┻━━━┛\n”);
system(“pause”); /按任意键继续函数/
}

猜你喜欢

转载自blog.csdn.net/qq_19657403/article/details/130180747