#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
struct student
{
char number[20];//学号
char name[20];//姓名
char sex[10];//性别
char tel[20];//联系方式
}p[100];
int NUM=0;
struct teacher
{
char number[20];//教工号
char name[20];//姓名
char course[20];//课程
char score[10];//成绩
}T[100];
int T_NUM=0;
void init()
{
int i=0;
printf(" 系统正在初始化,请稍后\n");
printf(" --------------");
for(i=0;i<=100;i++)
{
Sleep(50);
printf("\b\b\b\b%-3d%%",i);
}
printf("\n 初始化成功!\n");
printf("欢迎使用学生评教系统\n");
system("pause");
system("cls");
}
int stu_menu()
{
int n;
system("cls");
printf("------------------------------\n");
printf("1:新增学生信息\n");
printf("2:显示学生信息\n");
printf("3:删除学生信息\n");
printf("4:查找学生信息\n");
printf("5:修改学生信息\n");
printf("0:返回\n");
printf("------------------------------\n");
printf("请输入编号进行操作!\n");
scanf("%d",&n);
while(n<0||n>5)
{
printf("输入范围错误,重新输入");
scanf("%d",&n);
}
return n;
}
int tea_menu()
{
int n;
system("cls");
printf("------------------------------\n");
printf("1:新增教师信息\n");
printf("2:显示教师信息\n");
printf("3:删除教师信息\n");
printf("4:查找教师信息\n");
printf("5:修改教师信息\n");
printf("0:返回\n");
printf("------------------------------\n");
printf("请输入编号进行操作!\n");
scanf("%d",&n);
while(n<0||n>5)
{
printf("输入范围错误,重新输入");
scanf("%d",&n);
}
return n;
}
/*新增*/
void add_new_stu()
{
system("cls");
printf("请输入新增学生学号\n");
scanf("%s",&p[NUM].number);
printf("请输入新增学生姓名\n");
scanf("%s",&p[NUM].name);
printf("请输入新增学生性别\n");
scanf("%s",&p[NUM].sex);
printf("请输入新增学生联系方式\n");
scanf("%s",&p[NUM].tel);
NUM++;//学生人数+1
printf("新增学生成绩成功!\n");
system("pause");
}
void add_new_tea()
{
system("cls");
printf("请输入新增教师工号\n");
scanf("%s",&T[T_NUM].number);
printf("请输入新增教师姓名\n");
scanf("%s",&T[T_NUM].name);
printf("请输入新增教师任课课程\n");
scanf("%s",&T[T_NUM].course);
printf("请输入新增教师评教成绩\n");
scanf("%s",&T[T_NUM].score);
T_NUM++;
printf("新增教师信息成功!\n");
system("pause");
}
/*显示全部联系人*/
void show_stu()
{
int i=0;
system("cls");
printf("学号 姓名 性别 联系方式\n");
for(i=0;i<NUM;i++)
{
printf("%-10s%-10s%-6s%s",p[i].number,p[i].name,p[i].sex,p[i].tel);
}
printf("\n");
system("pause");
}
void show_tea()
{
int i=0;
system("cls");
printf("工号 姓名 任课课程 评教成绩\n");
for(i=0;i<T_NUM;i++)
{
printf("%-10s%-10s%-14s%s",T[i].number,T[i].name,T[i].course,T[i].score);
}
printf("\n");
system("pause");
}
/*读取文件*/
void Open_Stu_File()
{
int i=0;
FILE *fp;
if((fp=fopen("student.txt","rb"))==NULL)
{
;
}
else
{
while(fread(&p[i],sizeof(struct student),1,fp))
{
i++;
NUM++;
}
fclose(fp);
}
}
void Open_Tea_File()
{
int i=0;
FILE *fp;
if((fp=fopen("teacher.txt","rb"))==NULL)
{
;
}
else
{
while(fread(&T[i],sizeof(struct teacher),1,fp))
{
i++;
T_NUM++;
}
fclose(fp);
}
}
/*保存文件*/
void Save_Stu_File()
{
FILE *fp;
int i;
if((fp=fopen("student.txt","wb"))==NULL)
{
printf("文件打开失败!");
system("pause");
return;
}
for(i=0;i<NUM;i++)
{
fwrite(&p[i],sizeof(struct student),1,fp);
}
fclose(fp);
}
void Save_Tea_File()
{
FILE *fp;
int i;
if((fp=fopen("teacher.txt","wb"))==NULL)
{
printf("文件打开失败!");
system("pause");
return;
}
for(i=0;i<T_NUM;i++)
{
fwrite(&T[i],sizeof(struct teacher),1,fp);
}
fclose(fp);
}
/*按名字删除*/
void del_stu_name()
{
int i,j;
char name[20];
system("cls");
printf("请输入要删除的学生姓名\n");
scanf("%s",name);
for(i=0;i<NUM;i++)
{
if(!strcmp(name,p[i].name))
{
for(j=i;j<NUM-1;j++)
{
p[j]=p[j+1];
}
break;
}
}
if(i==NUM)
{
printf("无此学生信息!删除失败!\n");
system("pause");
system("cls");
}
else
{
NUM--;
printf("删除成功!\n");
system("pause");
system("cls");
}
}
void del_tea_name()
{
int i,j;
char name[20];
system("cls");
printf("请输入要删除的教师姓名\n");
scanf("%s",name);
for(i=0;i<T_NUM;i++)
{
if(!strcmp(name,p[i].name))
{
for(j=i;j<T_NUM-1;j++)
{
T[j]=T[j+1];
}
break;
}
}
if(i==T_NUM)
{
printf("无此教师信息!删除失败!\n");
system("pause");
system("cls");
}
else
{
T_NUM--;
printf("删除成功!\n");
system("pause");
system("cls");
}
}
/*按学号删除*/
void del_stu_num()
{
int i,j;
char temp[20];
system("cls");
printf("请输入要删除的学生学号\n");
scanf("%s",temp);
for(i=0;i<NUM;i++)
{
if(!strcmp(temp,p[i].number))
{
for(j=i;j<NUM-1;j++)
{
p[j]=p[j+1];
}
break;
}
}
if(i==NUM)
{
printf("无此学生信息!删除失败!\n");
system("pause");
system("cls");
}
else
{
NUM--;
printf("删除成功!\n");
system("pause");
system("cls");
}
}
void del_tea_num()
{
int i,j;
char temp[20];
system("cls");
printf("请输入要删除的教师工号\n");
scanf("%s",temp);
for(i=0;i<T_NUM;i++)
{
if(!strcmp(temp,T[i].number))
{
for(j=i;j<T_NUM-1;j++)
{
T[j]=T[j+1];
}
break;
}
}
if(i==T_NUM)
{
printf("无此教师信息!删除失败!\n");
system("pause");
system("cls");
}
else
{
T_NUM--;
printf("删除成功!\n");
system("pause");
system("cls");
}
}
void del_stu_menu()
{
int n;
do
{
system("cls");
printf("1:按学号删除\n");
printf("2:按姓名删除\n");
printf("0:返回\n");
scanf("%d",&n);
switch(n)
{
case 1:
del_stu_num();
break;
case 2:
del_stu_name();
break;
}
}while(n!=0);
}
void del_tea_menu()
{
int n;
do
{
system("cls");
printf("1:按工号删除\n");
printf("2:按姓名删除\n");
printf("0:返回\n");
scanf("%d",&n);
switch(n)
{
case 1:
del_tea_num();
break;
case 2:
del_tea_name();
break;
}
}while(n!=0);
}
/*按名字查找*/
void find_stu_name()
{
int i;
char n[20];
system("cls");
printf("请输入查找学生名字\n");
scanf("%s",n);
for(i=0;i<NUM;i++)
{
if(!strcmp(n,p[i].name))
{
printf("学号 姓名 性别 联系方式\n");
printf("%-10s%-10s%-6s%s",p[i].number,p[i].name,p[i].sex,p[i].tel);
printf("\n");
break;
}
}
if(i==NUM)
printf("无此学生信息!\n");
system("pause");
}
void find_tea_name()
{
int i;
char n[20];
system("cls");
printf("请输入查找教师名字\n");
scanf("%s",n);
for(i=0;i<T_NUM;i++)
{
if(!strcmp(n,p[i].name))
{
printf("工号 姓名 任课课程 评教成绩\n");
printf("%-10s%-10s%-14s%s",T[i].number,T[i].name,T[i].course,T[i].score);
printf("\n");
break;
}
}
if(i==T_NUM)
printf("无此教师信息!\n");
system("pause");
}
void find_stu_num()
{
int i;
char n[20];
system("cls");
printf("请输入查找学生学号\n");
scanf("%s",n);
for(i=0;i<NUM;i++)
{
if(!strcmp(n,p[i].name))
{
printf("学号 姓名 性别 联系方式\n");
printf("%-10s%-10s%-6s%s",p[i].number,p[i].name,p[i].sex,p[i].tel);
printf("\n");
break;
}
}
if(i==NUM)
printf("无此学生信息!\n");
system("pause");
}
void find_tea_num()
{
int i;
char n[20];
system("cls");
printf("请输入查找教师工号\n");
scanf("%s",n);
for(i=0;i<T_NUM;i++)
{
if(!strcmp(n,T[i].name))
{
printf("工号 姓名 任课课程 评教成绩\n");
printf("%-10s%-10s%-14s%s",T[i].number,T[i].name,T[i].course,T[i].score);
printf("\n");
break;
}
}
if(i==T_NUM)
printf("无此教师信息!\n");
system("pause");
}
void find_stu_menu()
{
int n;
do
{
system("cls");
printf("1:按学号查找\n");
printf("2:按姓名查找\n");
printf("0:返回\n");
scanf("%d",&n);
switch(n)
{
case 1:
find_stu_num();
break;
case 2:
find_stu_name();
break;
}
}while(n!=0);
}
void find_tea_menu()
{
int n;
do
{
system("cls");
printf("1:按工号查找\n");
printf("2:按姓名查找\n");
printf("0:返回\n");
scanf("%d",&n);
switch(n)
{
case 1:
find_tea_num();
break;
case 2:
find_tea_name();
break;
}
}while(n!=0);
}
int case_menu()
{
int n;
system("cls");
printf("1:学生信息管理\n");
printf("2:教师信息管理\n");
printf("0:退出\n");
printf("请输入编号进行操作!\n");
scanf("%d",&n);
while(n<0||n>2)
{
printf("输入范围错误,重新输入");
scanf("%d",&n);
}
return n;
}
void modify_stu()
{
int i;
char n[20];
system("cls");
printf("请输入要修改学生学号\n");
scanf("%s",n);
for(i=0;i<NUM;i++)
{
if(!strcmp(n,p[i].name))
{
printf("学号 姓名 性别 联系方式\n");
printf("%-10s%-10s%-6s%s",p[i].number,p[i].name,p[i].sex,p[i].tel);
printf("\n");
break;
}
}
if(i==NUM)
printf("无此学生信息!\n");
else
{
printf("请修改学生学号\n");
scanf("%s",&p[i].number);
printf("请修改学生姓名\n");
scanf("%s",&p[i].name);
printf("请修改学生性别\n");
scanf("%s",&p[i].sex);
printf("请修改学生联系方式\n");
scanf("%s",&p[i].tel);
printf("修改成功!\n");
}
system("pause");
}
void modify_tea()
{
int i;
char n[20];
system("cls");
printf("请输入要修改的教师工号\n");
scanf("%s",n);
for(i=0;i<T_NUM;i++)
{
if(!strcmp(n,T[i].name))
{
printf("工号 姓名 任课课程 评教成绩\n");
printf("%-10s%-10s%-14s%s",T[i].number,T[i].name,T[i].course,T[i].score);
printf("\n");
break;
}
}
if(i==T_NUM)
printf("无此教师信息!\n");
else
{
printf("请修改教师工号\n");
scanf("%s",&T[i].number);
printf("请修改教师姓名\n");
scanf("%s",&T[i].name);
printf("请修改教师任课课程\n");
scanf("%s",&T[i].course);
printf("请修改教师评教成绩\n");
scanf("%s",&T[i].score);
printf("修改成功!\n");
}
system("pause");
}
/*主函数*/
int main()
{
int n,n1,n2;
init();
Open_Stu_File();
Open_Tea_File();
do
{
n=case_menu();
switch(n)
{
case 1:
do
{
n1=stu_menu();
switch(n1)
{
case 1:
add_new_stu();
Save_Stu_File();
break;
case 2:
show_stu();
break;
case 3:
del_stu_menu();
Save_Stu_File();
break;
case 4:
find_stu_menu();
break;
case 5:
modify_stu();
Save_Stu_File();
break;
}
}while(n1!=0);
break;
case 2:
do
{
n2=tea_menu();
switch(n2)
{
case 1:
add_new_tea();
Save_Tea_File();
break;
case 2:
show_tea();
break;
case 3:
del_tea_menu();
Save_Tea_File();
break;
case 4:
find_tea_menu();
break;
case 5:
modify_tea();
Save_Tea_File();
break;
}
}while(n2!=0);
break;
}
}while(n!=0);
return 0;
}
学生评教系统
最新推荐文章于 2022-11-15 19:08:56 发布