php成绩管理系统源码(学生成绩查询系统代码php)
本篇文章给大家谈谈php成绩管理系统源码,以及学生成绩查询系统代码php对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
如何用php代码实现一个学生管理系统包括学生管理课程管理
这个不是一两句话能说清楚的,也不清楚你现在水平在什么位置。
不过我说一下,需要的技术和方法步骤。
首先,你要会html css 最好还会javascript
然后是php mysql
这五种最基本的技术。
然后:
1.先用html+css写好你程序用到的网站界面。
2.设计数据库,比如 学生表,课程表,班级表,教师表等等
3.用php写后台,如登陆后台,之后就是对数据库增删改查。
C语言实现 学生成绩管理系统(超详细) 内附源码
#includestdio.h
#includestring.h
#includestdlib.h
#includeconio.h
#define N 50//定义的学生数组的个数
#define M 1//定义的管理员数组的个数
int k;//录入学生的个数
char read_door[20];//读取文件的"门"
void Add_data(int flag);//增加数据
void Count_score(int flag);//求平均成绩和总成绩
void Delete_data(int flag);//根据学号删除对应学生的成绩
int Landing(int key);//登录程序
void Load_data();//载入数据
void Updata_stu(int flag);
void Read_bigdoor(char *b);
void Rank_score(int way, int flag);//按照需求对对应的成绩排序
void Read_data(char read_door);//读取数据
void Read_door();//读取"门"值
void Read_main_flag(int *a);
void Read_k();
void Save_bigdoor(char *b);
void Save_data(int flag);//保存数据
void Save_door();//保存"门"值
void Save_main_flag(int *a);
void Save_k(int k);
void Screen_rank();
void Screen_search();
void Screen_stu();
void Screen_teacher();
void Screen_stu_teach();
void Screen_onlyteach();
void Search_data(int way, int flag);//按学号或姓名查找查找
static struct STUDENT//学生的信息
{
char num[10];
char name[10];
float score[3];
float sum;
float aver;
int rank[4];
}stu[N];
static struct TEACHER//教师的登录账号和密码
{
char num[10];
char code[10];
}teach[M] = { "18061124","991228" };
int main()
{
char bigdoor ='n';//教师可通过bigdoor控制学生的权限
char *c=bigdoor;
int order1, order2, order3;//order为用户登录的指令
int door1, door2, door3;
printf ("请输入管理员登录指令:\n");
gets(read_door);
if (strcmp(read_door,"Lu Chen")==0)
{
printf("欢迎使用,您目前是拥有最高权限的管理员,请输入您的账号和密码:\n\n");
printf("\n\n\n");
Screen_onlyteach();
door1 = Landing(1);
if (door1 == 2)
{
printf("\n账号或密码不正确");
return 0;
}
}
else
{
Screen_stu_teach();
printf("请输入序号即选择登录选项:");
scanf("%d", order1);
printf("\n\n");
door1 = Landing(order1);//door1确定用户的权限
switch (door1)//提示用户输入出错
{
case 1:
case 3: break;
case 2:printf("\n输入的账号或密码有误"); return 0;
case 4:printf("\n输入的号码有误"); return 0;
}
}
if (door1 == 1)//老师界面
{
int flag = 0;
int *p=flag;
char teach_read_key;
printf("\n是否读取数据?(y/n):");
scanf("%*c%c",teach_read_key);
if(teach_read_key=='y')
{
Read_k();
Read_door();
Read_main_flag(p);
Read_data(read_door[20]);
}
printf("\n\n");
for (int count = 1; count 0; count++)//利用死循环来重复使用功能
{
Screen_teacher();
printf("\n请输入序号即选择登录选项:");
scanf("%d", order2);
printf("\n\n");
if (order2 == 10)
break;
switch (order2)
{
case 1:
{
Load_data();
flag=1;
Save_main_flag(p);
Save_k(k);
}break;
case 2:Updata_stu(flag); break;
case 3:
{
Screen_search();
printf("请输入你想查询成绩的方式:");
scanf("%d", door2);
Search_data(door2, flag);
}break;
case 4:Add_data(flag);break;
case 5:Delete_data(flag);break;
case 6:
{
Screen_rank();
printf("请输入成绩序号来选择排序:");
scanf("%d", door2);
Rank_score(door2, flag);
} break;
case 7:
{
Save_data(flag);
Save_door();
Save_k(k);
} break;
case 8:
{
bigdoor ='n';
Save_bigdoor(c);
}break;
case 9:
{
bigdoor ='y';
Save_bigdoor(c);
}break;
default:printf("您输入的序号有误!\n\n");
}
}
}
else//学生界面
{
Read_k();
Read_data('y');
for (int k = 1; k 0; k++)
{
Screen_stu();
printf("请输入下一步操作的序号:");
scanf("%d", order3);
if (order3 == 3)
break;
switch (order3)
{
case 1:
{
Screen_search();
printf("请输入你想查询成绩的方式");
scanf("%d", door3);
Search_data(door3, 1);
}break;
case 2:
{
Screen_rank();
printf("请输入成绩序号来选择排序:");
scanf("%d", door3);
Rank_score(door3, 1);
}break;
default:printf("输入的操作序号有误\n\n");
}
}
}
return 0;
}
int Landing(int key)//登录程序
{
char num[10];
char code[10];
if (key == 1)
{
printf("请输入账号:");
scanf("%s", num);
printf("\n请输入密码:");
scanf("%s", code);
for (int i = 0; i M; i++)
if (strcmp(teach[i].num, num) == 0 strcmp(teach[i].code, code) == 0)//判断登陆账号和密码是否正确
return 1;
else
return 2;
}
else if (key == 2)
{
return 3;
}
else
{
return 4;
}
}
void Search_data(int way, int flag)//按学号或姓名查找查找
{
int Search_flag = 1;
if (flag)
{
char num[10], name[10];
int i;
if (way == 1)
{
printf("\n请输入学号:");
scanf("%s", num);
for (i = 0; i k; i++)
{
if (strcmp(stu[i].num, num) == 0)//判断学号存不存在
{
printf("\n姓名:%s\n学号:%s\nsubject1:%f\nsubject2:%f\nsubject3:%f\nsum:%f\naver:%f\n", stu[i].name, stu[i].num, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].sum, stu[i].aver);
Search_flag = 0;
break;
}
}
if (Search_flag)
printf("\n您输入的学号有误\n");
}
else if (way == 2)
{
printf("\n请输入姓名:");
scanf("%s", name);
for (i = 0; i N; i++)
{
if (strcmp(stu[i].name, name) == 0)//判断姓名存不存在
{
printf("\n姓名:%s\n学号:%s\nsubject1:%f\nsubject2:%f\nsubject3:%f\nsum:%f\naver:%f\n", stu[i].name, stu[i].num, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].sum, stu[i].aver);
flag = 0;
break;
}
}
if (flag)
printf("\n输入的姓名有误\n");
}
else
printf("\n输入的序号有误\n");
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Count_score(int flag)//求平均成绩和总成绩
{
if (flag)
{
for (int i = 0; i k; i++)
{
stu[i].sum = stu[i].score[0] + stu[i].score[1] + stu[i].score[2];
stu[i].aver = stu[i].sum / 3;
}
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Load_data()//载入数据
{
printf("输入录入学生成绩个数:");
scanf("%d", k);
for (int i = 0; i k; i++)
{
scanf("%s%s%f%f%f", stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
Count_score(1);
}
}
void Rank_score(int way, int flag)//按照需求对对应的成绩排序
{
int i, j, n, temp;
if (flag)
{
for (i = 0; i 4; i++)
for (j = 0; j k; j++)
stu[j].rank[i] = j + 1;
if (way == 1)
{
for (i = 0; i 3; i++)
for (j = 0; j k; j++)
for (n = j + 1; n k; n++)
if (stu[j].score[i] stu[n].score[i])
{
temp = stu[j].rank[i];
stu[j].rank[i] = stu[n].rank[i];
stu[n].rank[i] = temp;
}
printf("\n");
for (i = 0; i k; i++)
printf("姓名:%s 学号:%s subject1:%d subject2:%d subject3:%d\n", stu[i].name, stu[i].num, stu[i].rank[0], stu[i].rank[1], stu[i].rank[2]);
}
else if (way == 2)
{
for (j = 0; j k; j++)
for (n = j + 1; n k; n++)
if (stu[j].sum stu[n].sum)
{
temp = stu[j].rank[3];
stu[j].rank[3] = stu[n].rank[3];
stu[n].rank[3] = temp;
}
printf("\n");
for (i = 0; i k; i++)
printf("姓名:%s 学号:%s sum: %d\n", stu[i].name, stu[i].num, stu[i].rank[3]);
}
else
{
printf("\n输入的序号有误\n");
}
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Delete_data(int flag)//根据学号删除对应学生的成绩
{
if (flag)
{
int i, j;
char num[10];
printf("\n请输入您想要删除信息的学号:");
scanf("%s", num);
for (i = 0; i k; i++)
{
if (strcmp(stu[i].num, num) == 0)
for (j = i + 1; j k; j++)
{
stu[i] = stu[j];
Count_score(1);
}
}
k--;
Save_k(k);
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Updata_stu(int flag)//根据学号修改学生的成绩
{
int Updata_flag = 1;
if (flag)
{
char num[10];
float subject1, subject2, subject3;
printf("\n请输入您想要修改学生的学号:");
scanf("%s", num);
printf("\n请输入您想要更改的学生三科的成绩:");
scanf("%f%f%f", subject1, subject2, subject3);
for (int i = 0; i k; i++)
if (strcmp(stu[i].num, num) == 0)
{
stu[i].score[0] = subject1;
stu[i].score[1] = subject2;
stu[i].score[2] = subject3;
Updata_flag = 0;
Count_score(1);
}
if (Updata_flag)
{
printf("\n输入学号有误\n");
}
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Save_data(int flag)//保存数据
{
if(flag)
{
FILE *fp;
if((fp=fopen("load.txt","w"))==NULL)
{
printf("Save_data error!");
exit(0);
}
for(int i=0;ik;i++)
{
fwrite(stu[i],sizeof(STUDENT),1,fp);
}
fclose(fp);
printf("成功保存数据!\n\n");
read_door[20]='y';
}
else
{
printf("\n您还没有载入数据\n");
}
}
void Read_data(char read_door)//读取数据
{
if(read_door=='y')
{
FILE *fp;
if((fp=fopen("load.txt","r"))==NULL)
{
printf("Read_data error!");
exit(0);
}
for(int i=0;ik;i++)
{
fread(stu[i],sizeof(STUDENT),1,fp);
}
fclose(fp);
}
else
{
printf("\n没有保存数据的记录\n");
}
}
void Save_door()//保存"门"值
{
FILE *fp;
if((fp=fopen("door.txt","w"))==NULL)
{
printf("Save_door error!");
exit(0);
}
fputc(read_door[20],fp);
fclose(fp);
}
void Read_door()//读取"门"值
{
FILE *fp;
if((fp=fopen("door.txt","r"))==NULL)
{
printf("Read_door error!");
exit(0);
}
read_door[20]=fgetc(fp);
fclose(fp);
}
void Save_main_flag(int *a)
{
FILE *fp;
if((fp=fopen("flag.txt","w"))==NULL)
{
printf("Save_main_flag error!");
exit(0);
}
fprintf(fp,"%d",*a);
fclose(fp);
}
void Read_main_flag(int *a)
{
FILE *fp;
if((fp=fopen("flag.txt","r"))==NULL)
{
printf("Read_main_flag error!");
exit(0);
}
fscanf(fp,"%d",a);
fclose(fp);
}
void Save_bigdoor(char *b)
{
FILE *fp;
if((fp=fopen("bigdoor.txt","w"))==0)
{
printf("Save_bigdoor error!");
exit(0);
}
fputc(*b,fp);
fclose(fp);
}
void Read_bigdoor(char *b)
{
FILE *fp;
if((fp=fopen("bigdoor.txt","r"))==0)
{
printf("Read_bigdoor error!");
exit(0);
}
*b=fgetc(fp);
fclose(fp);
}
void Save_k(int k)
{
FILE *fp;
if((fp=fopen("k.txt","w"))==0)
{
printf("Save_k error!");
exit(0);
}
fprintf(fp,"%d",k);
fclose(fp);
}
void Read_k()
{
FILE *fp;
if((fp=fopen("k.txt","r"))==0)
{
printf("Read_k error!");
exit(0);
}
fscanf(fp,"%d",k);
fclose(fp);
}
void Add_data(int flag)//增加数据
{
int i, j,count=k;
char num[10], name[10];
float subject1, subject2, subject3;
if (flag)
{
printf("\n输入您想增加的数据条数:");
scanf("%d", i);
for (j = 0; j i; j++)
{
printf("\n输入增加的学生学号,姓名,三门科目成绩");
scanf("%s%s%f%f%f", num, name, subject1, subject2, subject3);
strcpy(stu[count + j].num, num);
strcpy(stu[count+ j].name, name);
stu[count+ j].score[0] = subject1;
stu[count + j].score[1] = subject2;
stu[count+ j].score[2] = subject3;
k++;
Count_score(1);
}
Save_k(k);
}
else
{
printf("\n输入您想增加的数据条数:");
scanf("%d", i);
for (j = 0; j i; j++)
{
printf("\n输入增加的学生学号,姓名,三门科目成绩");
scanf("%s%s%f%f%f", num, name, subject1, subject2, subject3);
strcpy(stu[j].num, num);
strcpy(stu[j].name, name);
stu[j].score[0] = subject1;
stu[j].score[1] = subject2;
stu[j].score[2] = subject3;
k++;
Count_score(1);
}
}
}
void Screen_search()//查询界面
{
printf("*****************学生成绩查询界面*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① 学生学号查询 |\n");
printf("| ② 学生姓名查询 |\n");
printf("——————————————————————————\n");
}
void Screen_rank()//成绩排名方式界面
{
printf("*****************学生成绩排名界面*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① subject |\n");
printf("| ② sum |\n");
printf("——————————————————————————\n");
}
void Screen_teacher()
{
printf("*****************教师管理操作界面*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① 数据载入 |\n");
printf("| ② 修改数据 |\n");
printf("| ③ 查询数据 |\n");
printf("| ④ 添加数据 |\n");
printf("| ⑤ 删除数据 |\n");
printf("| ⑥ 成绩排序 |\n");
printf("| ⑦ 保存数据 |\n");
printf("| ⑧ 学生限制 |\n");
printf("| ⑨ 学生开放 |\n");
printf("| ⑩ 退出 |\n");
printf("——————————————————————————\n");
}
void Screen_stu_teach()
{
printf("*****************学生成绩管理系统*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① 教师管理员登录 |\n");
printf("| ② 学生端登录 |\n");
printf("——————————————————————————\n");
}
void Screen_onlyteach()
{
printf("*****************教师登陆操作界面*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① 教师管理员登录 |\n");
printf("——————————————————————————\n");
}
void Screen_stu()
{
printf("*****************学生用户操作界面*******************\n\n\n");
printf("——————————————————————————\n");
printf("| ① 学生成绩查询 |\n");
printf("| ② 成绩排名查询 |\n");
printf("| ③ 退出 |\n");
printf("——————————————————————————\n");
}
以上内容仅是本人通过多方浏览网上资料,自己敲出来的。
如有问题,大家可以在评论区下方留言!!!
本人已亲测,可用
谁有php教学管理系统源码
去某某上买一个吧。
但是你要找人修改
业务需求不一样的。
三年的php路过
关于php成绩管理系统源码和学生成绩查询系统代码php的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。