C语言程序设计学院信息管理系统Word文档格式.docx
《C语言程序设计学院信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计学院信息管理系统Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
4.查询函数:
允许按照教师姓名或教师课程对教师的各项信息进行查询;
5.修改函数:
允许对某教师信息进行修改操作;
6.删除函数:
允许删除某教师信息;
除上面介绍的功能之外,程序还具有菜单和退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一位教师的记录都包含职工号、姓名,性别、职称、教授的上门课程和教学效果综合评分。
在程序当中,将教师记录类型定义为结构体类型,添加以及追加的教师信息直接写入E盘的teachers.txt文件中,其它函数每次对教师记录的访问,其数据来源都是teachers.txt文件,这样做不但可以保证教师数据的一致性,而且可以对教师数据进行永久保存,保证每次运行程序都可以采用原来的数据。
二、程序流程图
三、源程序
#include"
stdafx.h"
stdio.h"
#include<
string.h>
stdlib.h>
windows.h>
conio.h"
#defineN20
structteachers
{
unsignedlongnum;
//职工号
charname[N];
//姓名
charsex[N];
//性别
chartitle[N];
//职称
charlesson[N];
//3门讲授课程名称
intscore;
//教学效果综合评分
};
//结构体
voidmenu();
intreads(structteacherstea[N]);
//读取教师文件中的内容
voidsave(structteacherstea[N],intn);
//输入保存数据
voidadd();
//添加教师信息
voidshow();
//显示教师信息
voidorder_num();
//按职工号进行排序
voidorder_score();
//按教学效果综合评分进行排序
voidquery_name();
//按姓名查找教关信息
voidquery_lesson();
//按课程查找教师信息
voidmodify();
//修改教师信息
voidbackspace();
//删除教师信息
voidquit();
//退出系统.....................................................函数说明
voidmain()
system("
color57"
);
printf("
*************************学院信息管理系统欢迎您***********************\n"
==============================================================\n"
┃**********************************************************┃\n"
┃***____________________________________________________***┃\n"
┃***|**************************************************|***┃\n"
┃***|********|***┃\n"
┃***|****欢迎使用学院信息管理系统****|***┃\n"
┃***|****制作人刘文浩****|***┃\n"
┃***|****2018.07.01****|***┃\n"
┃***----------------------------------------------------***┃\n"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
\n请按任意键进入系统\n"
getch();
intn;
while
(1)
{
menu();
\n请输入您要选择的操作序号,按回车键确认:
"
scanf("
%d"
&
n);
switch(n)
{
case1:
add();
break;
case2:
show();
case3:
order_num();
case4:
order_score();
case5:
query_name();
case6:
query_lesson();
case7:
modify();
case8:
backspace();
case0:
quit();
default:
输入错误,请输入列表中存在的序号!
\n"
}
}
}
voidmenu()
{printf("
\n"
*************************学院教学信息管理系统************************\n"
============================================================================\n"
||**********************************主菜单********************************||\n"
||1添加教师数据信息||\n"
||2显示教师数据信息||\n"
||3按职工号进行排序||\n"
||4按教学效果综合评分进行排序||\n"
||5按教师姓名查询教师信息||\n"
||6按教师课程查询教师信息||\n"
||7修改教师信息||\n"
||8删除教师信息||\n"
||0退出系统||\n"
******************************************************************************\n"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
}//.........................................................................................................主菜单
intreads(structteacherstea[N])//读取教师文件中的信息
FILE*fp;
inti=0;
if((fp=fopen("
d:
\\teachers.txt"
"
r"
))==NULL)
printf("
文件打开失败!
return0;
else
{
for(i=0;
!
feof(fp);
i++)
fscanf(fp,"
%lu%s%s%s%s%d\n"
tea[i].num,&
tea[i].name,&
tea[i].sex,&
tea[i].title,&
tea[i].lesson,&
tea[i].score);
fclose(fp);
returni;
voidadd()/*添加教师信息*/
intn,i;
structteacherstea;
a"
))==NULL)//如果文件已经存在,可以追加教师信息
w"
))==NULL)//文件不存在时,创建新文件,输入教师信息
{
return;
请输入要添加的教师的数量,按回车键确认:
i<
n;
\n请输入第%d个教师的工号、姓名,用空格分开,并按回车键确认:
i);
%lu%s"
tea.num,&
tea.name);
\n请输入第%d个教师的性别、职称、讲授课程名称、教学效果综合评分,用空格分开,并按回车键确认:
%s%s%s%d"
tea.sex,&
tea.title,&
tea.lesson,&
tea.score);
fprintf(fp,"
tea.num,tea.name,tea.sex,tea.title,tea.lesson,tea.score);
.............................................................》保存成功!
.............................................................》请按任意键回到主菜单\n"
voidshow()/*显示教师信息*/
structteacherstea[N];
inti,n;
n=reads(tea);
*********************所有的教师信息如下************************\n\n"
序号||职工号||姓名||性别||职称||课程||评分\n"
***************************************************************\n"
\n%3d%lu%4s%1s%5s%20s%3d\n"
i+1,tea[i].num,tea[i].name,tea[i].sex,tea[i].title,tea[i].lesson,tea[i].score);
.............................................................》显示成功!
voidorder_num()//按教工号排序教师相关记录
intz=1;
inti,n,j;
intt;
unsignedlongm[20];
m[i]=tea[i].num;
n-1;
for(j=0;
j<
j++)
if(m[j]>
m[j+1])
t=m[j];
m[j]=m[j+1];
m[j+1]=t;
for(j=0;
if(tea[j].num==m[i])
{
printf("
z++,tea[j].num,tea[j].name,tea[j].sex,tea[j].title,tea[j].lesson,tea[j].score);
}
............................................................》排序成功!
...........................................................》请按任意键回到主菜单\n"
voidorder_score()//按教学综合评分排序教师信息
intm[20],t;
m[i]=tea[i].score;
if(m[j]<
for(j=n;
j>
=0;
j--)
if(tea[j].score==m[i])
voidquery_name()//按教师姓名对教师信息查询
boolflag=0;
\n请输入待查询的教师姓名,按回车键确认:
%s"
name);
if(strcmp(name,tea[i].name)==0)
printf("
.............................................................》查询成功!
flag=1;
getch();
if(flag==0)
\n.............................................................》未找到相关信息!
voidquery_lesson()//按教师课程对教师信息查询
\n请输入待查询的教师课程,按回车键确认:
lesson);
if(strcmp(lesson,tea[i].lesson)==0)
flag=1;
voidmodify()//修改教师信息
fp=fopen("
ab"
charm[N];
请输入要修改的老师的名字:
m);
fread(&
tea[i],sizeof