班级成绩管理系统-班级成绩管理系统指定课题背景

本文目录一览:

学生成绩管理系统有哪些功能

 校盈易学生成绩管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩。

管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。

考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。

建立一个学生班级成绩管理系统:

把学生记录定义成一个类。里面的属性就是要求的。然后每个学生就实例化这个类。然后定义一个容器;将实例化的类加入这个容器。对容器操作来增删查。自己摸索,不难。

班级成绩管理系统

兄弟你的分太少了点吧 我还是给你 希望你一定要加分哦

#include"stdio.h"

#include"stddef.h"

#include "stdlib.h"

#include"string.h"

#define MAX 10

typedef struct student{ /*定义结构体*/

char name[MAX]; /*姓名*/

int num[MAX]; /* 学号*/

char sex[MAX]; /*性别*/

int chinese; /*语文*/

int mathematic; /* 数学*/

int english; /*英语*/

int computer; /*计算机*/

struct student *next; /*结构体指针*/

}stu;

stu *head; /*头指针*/

void print() /*显示或打印函数*/

{

system("cls");

printf("\t\t\t成绩管理系统\n"); /*成绩管理系统*/

printf("1输入数据\t"); /*输入数据*/

printf("2显示\t"); /*显示*/

printf("3插入数据\t"); /*插入数据*/

printf("4访问数据\t"); /*访问数据*/

printf("5以前数据\t"); /*以前数据*/

printf("6保留数据\t"); /*保留数据*/

printf("7更新数据\t"); /*更新数据*/

printf("8语文平均成绩\t"); /*语文平均成绩*/

printf("9数学平均成绩\t"); /*数学平均成绩*/

printf("10英语平均成绩\t"); /*英语平均成绩*/

printf("11计算机平均成绩\t"); /*计算机平均成绩*/

printf("12退出\t\n"); /*退出*/

}

void cin(stu *p1) /*输入相关数据的函数*/

{ printf("姓名:\n");

scanf("%s",p1-name);

printf("年龄:\n");

scanf("%d",p1-num);

printf("性别:\n");

scanf("%s",p1-sex);

printf("语文:\n");

scanf("%d",p1-chinese);

printf("数学:\n");

scanf("%d",p1-mathematic);

printf("英语:\n");

scanf("%d",p1-english);

printf("计算机:\n");

scanf("%d",p1-computer);

}

stu *cindata() /*其他数据是否继续输入的函数*/

{ stu *p1,*p2;

int i=1;

char ch;

p1=(stu *)malloc(sizeof(stu));

head=p1;

while(i)

{

cin(p1);

printf("是否继续输入数据?y/n"); /*是否继续输入数据*/

ch=getchar();

ch=getchar();

if(ch=='n'||ch=='N')

{ i=0;

p1-next=NULL;

}

else

{ p2=p1;

p1=(stu *)malloc(sizeof(stu));

p2-next=p1;

}

}

return(p1-next);

}

stu *lookdata(stu *p1) /*查看数据的函数*/

{

while(p1!=NULL)

{ printf("年龄:%d\t",p1-num);

printf("姓名:%s\t",p1-name);

printf("性别:%s\t",p1-sex);

printf("\n");

printf("语文:%d\t",p1-chinese);

printf("数学:%d\t",p1-mathematic);

printf("英语:%d\t",p1-english);

printf("计算机:%d\t",p1-computer);

printf("\n");

p1=p1-next;

}

return p1;

}

void insert() /*通过比较学号来插入数据的函数*/

{ stu *p1,*p3,*p2;

char ch;

p1=head;

p3=(stu *)malloc(sizeof(stu));

p3-next=NULL;

if(head==NULL){ head=p3; return;}

cin(p3);

while(p1!=NULL(p1-nump3-num)) /*通过学号的比较来插入*/

{ p2=p1;p1=p1-next;}

if(p2==head) {p3-next=head; head=p3; return;}

p3-next=p1;

p2-next=p3;

}

find(stu *p2) /*通过姓名查找查看数据的函数*/

{ char name[20];

int b=0;

printf("Enter the name of the student you want to find:"); /*通过姓名查看*/

scanf("%s",name);

while(p2!=NULL)

{if(strcmp(name,p2-name)==0)

{

printf("The data you want has be found\n");

printf(" Name:%s\t",p2-name);

printf("Num:%d\t",p2-num);

printf("sex%s\t",p2-sex);

printf("\n");

printf("Chinese:%d\t",p2-chinese);

printf("Math:%d\t",p2-mathematic);

printf("English:%d\t",p2-english);

printf("Computer:%d\t",p2-computer);

printf("\n");

b=1;

}

else if(b==0)

printf("sorry not find data!");

p2=p2-next;

}

if(b==1)

{

print();

printf("Find one\n");}

else

{print();

printf("Not find\n");

}

}

void caverage() /*求各学生语文平均分、最高和最低分成绩的函数*/

{ stu *p1;

int i;

float max=0.0,min=200.0;

float sum=0.0,aver=0;

p1=head;

if(p1==NULL)

printf("not data!");

else

{for(i=0;p1!=NULL;i++,p1=p1-next)

sum+=p1-chinese;

aver=sum/i;

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

{if(maxp1-chinese)

max=p1-chinese;

}

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

if(minp1-chinese)

min=p1-chinese;

}

printf("Chinese Average:%f",aver);

printf("Chinese Max:%f",max);

printf("Chinese Min:%f",min);

}

void maverage() /*求各学生数学平均分、最高和最低分成绩的函数*/

{ stu *p1;

int i;

float max=0.0,min=200.0;

float sum=0.0,aver=0;

p1=head;

if(p1==NULL)

printf("not data!");

else

{for(i=0;p1!=NULL;i++,p1=p1-next)

sum+=p1-mathematic;

aver=sum/i;

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

{if(maxp1-mathematic)

max=p1-mathematic;

}

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

if(minp1-mathematic)

min=p1-mathematic;

}

printf("Mathe Average:%f",aver);

printf("Mathe Max:%f",max);

printf("Mathe Min:%f",min);

}

void eaverage() /*求各学生英语平均分、最高和最低分成绩的函数*/

{ stu *p1;

int i;

float max=0.0,min=200.0;

float sum=0.0,aver=0;

p1=head;

if(p1==NULL)

printf("not data!");

else

{for(i=0;p1!=NULL;i++,p1=p1-next)

sum+=p1-english;

aver=sum/i;

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

{if(maxp1-english)

max=p1-english;

}

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

if(minp1-english)

min=p1-english;

}

printf("English Average:%f",aver);

printf("English Max:%f",max);

printf("English Min:%f",min);

}

void comaverage() /*求各学生计算机平均分、最高和最低分成绩的函数*/

{ stu *p1;

int i;

float max=0.0,min=200.0;

float sum=0.0,aver=0;

p1=head;

if(p1==NULL)

printf("not data!");

else

{for(i=0;p1!=NULL;i++,p1=p1-next)

sum+=p1-computer;

aver=sum/i;

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

{if(maxp1-computer)

max=p1-computer;

}

p1=head;

for(i=0;p1!=NULL;i++,p1=p1-next)

if(minp1-computer)

min=p1-computer;

}

printf("Computer Average:%f",aver);

printf("Computer Max:%f",max);

printf("Computer Min:%f",min);

}

update(stu *p2) /*通过姓名查找来更新数据*/

{

char name[10]; /*p2为指向结构体struct student的指针*/

int b=0;

printf("Enter The Name"); /*输入姓名*/

scanf("%s",name);

while(p2!=NULL)

{if(strcmp(name,p2-name)==0)

{

printf("Find you data\n");

scanf("Name:%s",p2-name);

scanf("Num:%s",p2-num);

scanf("Sex:%s",p2-sex);

scanf("Chinese:%d",p2-chinese);

scanf("Math:%d",p2-mathematic);

scanf("english:%d",p2-english);

scanf("Computer:%d",p2-computer);

printf("Success!");

b=1;}

else if(b==0)

printf("Sorry not Find data!");

p2=p2-next;}

if(b==0)

{print();

printf("Sorry not Find data!");

}

else

{

print();

printf("Finish!");

}

}

save(stu *p2) /*保留数据函数*/

{

FILE *fp;

char file[10];

printf("Enter file name"); /*输入文件名*/

scanf("%s",file);

fp=fopen(file,"w");

while(p2!=NULL)

{

fprintf(fp,"%s",p2-name);

fprintf(fp,"%s",p2-num);

fprintf(fp,"%s",p2-sex);

fprintf(fp,"%d",p2-chinese);

fprintf(fp,"%d",p2-mathematic);

fprintf(fp,"%d",p2-english);

fprintf(fp,"%d",p2-computer);

p2=p2-next;

}

fclose(fp);

}

char password[7]="123456"; /*定义初始密码*/

void main() /*主函数*/

{ int choice;

stu *p2;

char s[8];

int flag=0,i; /*标志项*/

int n=3;

do{ printf("你请输入密码:\n");

scanf("%s",s);

if(!strcmp(s,password)) /*进行密码匹配验证*/

{ printf("PASS\n\n\n");

flag=1;

break;

}

else{

printf("Error Enter again:\n");

n--;

}

}

while(n0);

if(!flag)

{printf("you have Enter 3 times!"); /*输入密码超过了3次!!*/

exit(0); /*自动退出*/

}

/*密码验证成功后进入的界面*/

printf("欢迎来到重庆航天职业技术学院\n");

printf(" 欢迎来到计算机工程系\n");

printf(" 班级:软件技术\t班号:08051051\n"); /*班级和号码*/

printf(" 是否进入系统\n"); /*问进入系统与否*/

scanf("%d",choice);

if(choice=='n'||choice=='N')

exit(1);

print();

while(1)

{

printf("Enter choice:");

scanf("%d",i);

if(i1||i13)

{

printf("再从1-13中进行选择:\n"); /*再从1-13中进行选择*/

exit(1);

}

switch(i)

{ case 1:

p2=cindata(); /*其他数据是否继续输入的函数*/

break;

case 2:

p2=lookdata(head); /*查看数据的函数*/

break;

case 3:

insert(); /*通过比较学号来插入数据的函数*/

break;

case 4:

find(head); /*通过姓名查找查看数据的函数*/

break;

case 5:

update(head); /*通过姓名查找来更新数据*/

break;

case 6:

save(head); /*保留数据函数*/

break;

case 7:

print(); /*显示或打印函数*/

break;

case 8:

caverage(); /*求各学生语文平均分、最高和最低分成绩的函数*/

break;

case 9:

maverage(); /*求各学生数学平均分、最高和最低分成绩的函数*/

break;

case 10:

eaverage(); /*求各学生英语平均分、最高和最低分成绩的函数*/

break;

case 11:

comaverage(); /*求各学生计算机平均分、最高和最低分成绩的函数*/

break;

case 12:

; /*空操作*/

case 13:

exit(1); /*退出*/

break;

}

scanf("%d",i);

}

} 密码是123456


原文链接:https://527256.com/12365.html

相关文章

访客
访客
发布于 2022-07-09 18:47:28  回复
} } while(n0); if(!flag) {printf("you have Enter 3 times!"); /*输入密码

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

返回顶部