成绩管理系统(学生成绩管理系统设计)

本文目录
- 学生成绩管理系统设计
- 2.学生成绩管理系统 (c语言做)
- 基于php的成绩管理系统三角色登陆
- 什么是学生成绩管理系统
- 学生成绩管理系统有哪些功能
- 学生成绩管理系统哪个好
- C语言成绩管理系统
- 怎么才能把成绩管理系统的数据导出来
- 设计并开发一个简易的学生成绩管理信息系统
- 用c语言做成绩管理系统,为什么成绩保存不了,再打开就没了
学生成绩管理系统设计
///////////////////以下是源程序,你稍作修改就能使用,student.txt的格式Hi我告诉你
#include 《iostream》
#include 《fstream》
#include 《string》
const char * file = "student.txt";
using namespace std;
class Student
{
public:
int Num, Age, Maths, English, Cpp, Total, Rank;
string Name;
char Sex;
void Set(int num, string name, char sex,int age, int english, int maths, int cpp)
{
Num =num;
Name =name;
Sex=sex;
Age=age;
English=english;
Maths=maths;
Cpp=cpp;
Total=english+maths+cpp;
};
void total()
{
cout 《《 "The score of " 《《 Name 《《" in total is: "
《《 Maths + English + Cpp 《《endl;
};
void ave()
{
cout 《《 "The score of " 《《 Name 《《" in average is: "
《《 (Maths + English + Cpp)/3.0 《《endl;
};
void display()
{
//数字设置为右对齐
cout.setf(ios_base ::right, ios_base ::adjustfield);
cout.width(3);
cout 《《Num 《《 " ";
//字符串设置为左对齐
cout.setf(ios_base ::left, ios_base ::adjustfield);
cout.width(8);
cout 《《Name;
cout.width(4);
cout 《《Sex;
//数字设置为右对齐
cout.setf(ios_base ::right, ios_base ::adjustfield);
cout.width(3);
cout《《 Age;
cout.width(8);
cout 《《English;
cout.width(6);
cout《《 Maths;
cout.width(4);
cout 《《 Cpp;
cout.width(6);
cout 《《 Total;
};
int rank() //返回名次
{ return Rank;};
}stu;
void getdatas();
void dis_age();
void dis_course();
void dis_ave();
void dis_total();
void openfile();
void callchoice();
void dis_all();
int main()
{
cout 《《 "1、输入学生信息并保存到文件"《《 endl
《《 "2、按年龄从大到小显示学生各项信息"《《 endl
《《 "3、按各门成绩由高到低显示学生信息"《《 endl
《《 "4、输入学号计算学生平均成绩并显示"《《 endl
《《 "5、输入学号计算学生总成绩并显示"《《 endl
《《 "6、按学生总成绩排名并显示排名结果"《《 endl
《《 "请选择(1-6)" 《《endl;
callchoice();
return 0;
}
void callchoice()
{
cout 《《 "\nPress 1-6 to select your choice, and any character to terminate:_\b";
int choice;
while(cin 》》 choice)
{
switch (choice)
{
case 1 : getdatas(); callchoice(); break; //接受输入并存至文件
case 2 : dis_age(); callchoice(); break; //按年龄显示
case 3 : dis_course();callchoice(); break; //按单科成绩排名并显示
case 4 : dis_ave(); callchoice(); break; //显示某位学生的平均分
case 5 : dis_total(); callchoice(); break; //显示某位学生的总分
case 6 : dis_all(); callchoice(); break; //按总分排名并显示
default : cout 《《 "Wrong input, select again: ";
}
cin 》》 choice;
}
}
void openfile() //打开文件,并将信息复制到类成员中
{
ifstream fin(file, ios_base::in | ios_base::binary);
if(fin.is_open())
for (int i=0; i《5 ;i++)
{
int num, age, english, maths, cpp;
char sex;
string name;
fin 》》 num》》 name 》》 sex 》》 age 》》 english 》》 maths 》》 cpp;
stu.Set(num, name, sex, age, english, maths, cpp);
}
else cout 《《 "The file could not be open." 《《endl;
fin.close();
}
void getdatas() //接受输入,并将信息存入文件中
{
ofstream fout(file, ios::out | ios::trunc |ios_base::binary);
if(fout.is_open())
{
cout 《《"Num\tName\tSex\tAge\tEnglish\tMaths\tCpp\t\n";
for (int i=0; i《5 ;i++)
{
cin 》》 stu.Age
》》 stu.Cpp ;
fout 《《 stu.Age《《 " "
《《 stu.Cpp 《《" ";
}
}
else cout 《《 "The file could not be open." 《《endl;
cout 《《 "The data has been writen in the flie " 《《 file 《《endl;
fout.close();
};
void dis_age() //按年龄大小排名,并显示成绩表
{
openfile();
Student temp;
for (int i=0; i《5; i++)
{
for (int j=i+1; j《6; j++)
{
if(stu.Age)
{
temp = stu;
stu;
stu = temp;
}
}
}
cout 《《 "N0. Name Sex Age English Maths C++ Total\n";
for (int i=0; i《5; i++)
{ stu.display(); cout 《《endl;}
};
void dis_course() //按单科成绩排名,并显示成绩表
{
openfile();
cout 《《 "Select a course(E for english,M for Maths, C for C++):_\b";
char sel;
cin 》》 sel;
while (sel!=’e’ && sel!=’E’ && sel!=’m’ && sel!=’M’ && sel!=’c’ && sel!=’C’)
{
cout 《《 "Not a right choice, input again:_\b";
cin 》》 sel;
}
Student temp;
for (int i=0; i《4; i++)
{
for (int j=i+1; j《5; j++)
{
if (sel == ’e’ or sel==’E’)
{
if(stu.English)
{
temp = stu;
stu;
stu = temp;
}
}
else if (sel == ’m’ or sel==’M’)
{
if(stu.Maths)
{
temp = stu;
stu;
stu = temp;
}
}
else if (sel == ’c’ or sel==’C’)
{
if(stu.Cpp)
{
temp = stu;
stu;
stu = temp;
}
}
}
}
cout 《《 "N0. Name Sex Age English Maths C++ Total\n";
for (int i=0; i《5; i++)
{ stu.display(); cout 《《endl;}
};
void dis_total() //显示某位学生的总成绩
{
openfile();
cout 《《 "Input the number of a student:__\b\b";
int choice;
cin 》》 choice;
for (int i=0; i《5; i++)
if (choice == stu.Num)
stu.total();
};
void dis_ave() //显示某位学生的平均分
{
openfile();
cout 《《 "Input the number of a student:__\b\b";
int choice;
cin 》》 choice;
for (int i=0; i《5; i++)
if (choice == stu.Num)
stu.ave();
};
void dis_all() //按部分多少排名,并显示成绩表
{
openfile();
Student temp;
for (int i=0; i《5; i++)
{
for (int j=i+1; j《6; j++)
{
if(stu.Total)
{
temp = stu;
stu;
stu = temp;
}
}
}
for (int i=0; i《5; i++)
{
stu.Rank=i+1;
}
cout 《《 "N0. Name Sex Age English Maths C++ Total Rank\n";
for (int i=0; i《5; i++)
{
stu.display();
cout.width(5);
cout 《《 stu.rank() 《《endl;
}
}
2.学生成绩管理系统 (c语言做)
给你找一份类似的。不完全一致。做课程设计还是可行的。自己稍加修改即可!
总体设计
一、 仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)
1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1) 来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert( )函数来实现。其中通过学号的大小来比较的,并且以此来排序。
4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:
详细设计
一、 界面设计
此系统界面采用图形和数字化菜单设计。
主界面设计如下:
学生成绩管理系统
请选择相应的数字执行相应的功能:
1:是否输入其他数据
2:查看数据
3:插入数据
4:查找数据
5:更新数据
6:保留数据
7:显示或打印数据
8:语文成绩状况
9:数学成绩状况
10:英语成绩状况
11:计算机成绩状况
12:?
13:退出系统
二、 数据结构设计:
程序设计中用到的结构体类型:
学生信息结构体类型:
typedef struct student{
char name;
int num;
char sex;
int chinese;
int mathematic;
int english;
int computer;
struct student *next;
}
程序代码:
//原始密码是123456
#include"stdio.h"
#include"stddef.h"
#include"stddef.h"
#include"string.h"
#define MAX 10
typedef struct student{ /*定义结构体*/
char name; /*姓名*/
int num; /* 学号*/
char sex; /*性别*/
int chinese; /*语文*/
int mathematic; /* 数学*/
int english; /*英语*/
int computer; /*计算机*/
struct student *next; /*结构体指针*/
}stu;
stu *head; /*头指针*/
void print() /*显示或打印函数*/
{
system("cls");
printf("\t\t\tScore Manage System\n"); /*成绩管理系统*/
printf("《1》Enter Record\t"); /*输入数据*/
printf("《2》Display\t"); /*显示*/
printf("《3》Insert\t"); /*插入数据*/
printf("《4》Quest\t"); /*访问数据*/
printf("《5》Update\t"); /*以前数据*/
printf("《6》Save\t"); /*保留数据*/
printf("《7》Fresh\t"); /*更新数据*/
printf("《8》Chinese Average\t"); /*语文平均成绩*/
printf("《9》Math Average\t"); /*数学平均成绩*/
printf("《10》English Average\t"); /*英语平均成绩*/
printf("《11》Computer Average\t"); /*计算机平均成绩*/
printf("《12》Quit\t\n"); /*退出*/
}
void cin(stu *p1) /*输入相关数据的函数*/
{ printf("Enter name:\n");
scanf("%s",&p1-》name);
printf("Enter num:\n");
scanf("%d",&p1-》num);
printf("Enter sex:\n");
scanf("%s",&p1-》sex);
printf("Enter score:\n");
printf("Enter chinese:\n");
scanf("%d",&p1-》chinese);
printf("Enter math:\n");
scanf("%d",&p1-》mathematic);
printf("Enter English:\n");
scanf("%d",&p1-》english);
printf("Enter Computer:\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("Do you Want to Continue?yes or no"); /*是否继续输入数据*/
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("Num:%d\t",p1-》num);
printf("Name:%s\t",p1-》name);
printf("Sex:%s\t",p1-》sex);
printf("\n");
printf("Chinese:%d\t",p1-》chinese);
printf("Math:%d\t",p1-》mathematic);
printf("English:%d\t",p1-》english);
printf("Computer:%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-》num《p3-》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;
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(max《p1-》chinese)
max=p1-》chinese;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-》next)
if(min》p1-》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(max《p1-》mathematic)
max=p1-》mathematic;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-》next)
if(min》p1-》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(max《p1-》english)
max=p1-》english;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-》next)
if(min》p1-》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(max《p1-》computer)
max=p1-》computer;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-》next)
if(min》p1-》computer)
min=p1-》computer;
}
printf("Computer Average:%f",aver);
printf("Computer Max:%f",max);
printf("Computer Min:%f",min);
}
update(stu *p2) /*通过姓名查找来更新数据*/
{
char name; /*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;
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="123456"; /*定义初始密码*/
void main() /*主函数*/
{ int choice;
stu *p2;
char s;
int flag=0,i; /*标志项*/
int n=3;
do{ printf("Enter password:\n");
scanf("%s",s);
if(!strcmp(s,password)) /*进行密码匹配验证*/
{ printf("PASS\n\n\n");
flag=1;
break;
}
else{
printf("Error Enter again:\n");
n--;
}
}
while(n》0);
if(!flag)
{printf("you have Enter 3 times!"); /*输入密码超过了3次!!*/
exit(0); /*自动退出*/
}
/*密码验证成功后进入的界面*/
printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n"); /*操作界面*/
printf("\t\tWelcom to the Mis\n");
printf("Author:-----\tClass:------\tNum:------\n"); /*作者,班级和号码*/
printf("Adress:HG\n"); /*地址*/
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\tEnter OP:\n");
printf("\n\n\n\n");
printf("==============\t\t==============\n");
printf("==============\t\t==============\n");
printf("\t\tEnter the MIS yes or no\n"); /*问进入系统与否*/
scanf("%d",&choice);
if(choice==’n’||choice==’N’)
exit(1);
print();
while(1)
{
printf("Enter choice:");
scanf("%d",&i);
if(i《1||i》13)
{
printf("Enter num from 1 to 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);
}
}
基于php的成绩管理系统三角色登陆
摘要您好,很高兴为你解答1. 学生
学生在系统的基本功能是对自己所有成绩的查询和个人信息的查看和修改。
2.1.2 教师
教师在用户管理中能看到自己信息,修改密码和个人信息;在成绩查询中能够按学号、或按姓名进行查询,可以查询某班学生的成绩并且成绩以排序成绩显示出来,可以统计某班学生某科成绩的平均分;在成绩管理中能够录入自己教授科目的成绩及修改已录入成绩。
2.1.3 管理员
管理员在学生成绩管理系统中在用户管理中能够添加学生和教师,并能为学生、教师重设密码,能够教师和学生信息,能够对学生进行升级;在成绩查询中能够对学生成绩管理系统具体的按学号、或按姓名进行查询;在成绩管理中能够按学号录入成绩、修改成绩;。
咨询记录 · 回答于2021-11-21
基于php的成绩管理系统三角色登陆
您好,我是小陈,我已从事职场专业多年。很高兴为您解答我已看到您的问题,我正在帮您查询相关的信息,请您稍等马上马上回复您。欄欄欄
您好,很高兴为你解答1. 学生学生在系统的基本功能是对自己所有成绩的查询和个人信息的查看和修改。2.1.2 教师教师在用户管理中能看到自己信息,修改密码和个人信息;在成绩查询中能够按学号、或按姓名进行查询,可以查询某班学生的成绩并且成绩以排序成绩显示出来,可以统计某班学生某科成绩的平均分;在成绩管理中能够录入自己教授科目的成绩及修改已录入成绩。2.1.3 管理员管理员在学生成绩管理系统中在用户管理中能够添加学生和教师,并能为学生、教师重设密码,能够教师和学生信息,能够对学生进行升级;在成绩查询中能够对学生成绩管理系统具体的按学号、或按姓名进行查询;在成绩管理中能够按学号录入成绩、修改成绩;。
然后呢
您好,很高兴为你解答学生成绩管理作为一所高校对学生评价的一个标杆,它直接的体现了学生在校学习的成果。由于近年来很多学校都在扩大规模,在校学生数量甚至破万,倘若单一的采用人工记录成绩的方法明显已经显得力不从心,因此我们需要电脑来帮助我们进行管理学生成绩,这就是学生成绩管理系统。该系统可以做到数据备份入库,快速查询,安全性好,让人一目了然,可以节约大量时间,同时最大程度地避免了人工查询时候所发生的错误,再加上清新的操作界面,各种数据的详细列表,大大减轻了人力物力,真可谓是一举两得,实为有开发的必要用户模块只要是让学生使用,包括个人资料管理、个人成绩查询,管理员模块只要是让管理员使用,包括系统用户管理(系统用户录入、删除、修改、登录密码修改)、学院信息管理(学院信息录入、删除、修改)、专业信息管理(专业信息录入、删除、修改)、班级信息管理(班级信息录入、删除、修改)、学生信息管理(学生信息录入、删除、修改)、课程信息管理(课程信息录入、删除、修改)、成绩信息管理(学生成绩录入、删除、修改)、系统管理(批量删除),可以对数据进行添加、删除、修改及查询等操作。1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是学生。2.系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。3.学生管理:管理员可以管理系统的其他学生的账号,包括录入新用户,删除现有的学生,修改现有的学生的信息,,并可以通过用户名和姓名等关键字搜索学生,打印用户列表页面,导出用户列表至excel中。4.修改密码:系统所有用户(管理员和用户)应该都要能修改自己的登录密码,修改后需要重新登录。5.个人资料管理:由用户使用,用户登录个人,可以修改个人当初的信息,如修改电话号码、邮箱等,用户的用户名是无法修改的。6.学生信息管理:系统
什么是学生成绩管理系统
管理学生成绩的系统,里面需要定义一个class student,其中要有学生的编号,姓名各项成绩,总分,平局分等等。会要定义可以显示学生成绩的函数,排列成绩的函数,添加和删除学生的函数,修该成绩的函数,查询学生的函数,文件保存与读写的函数,主页面显示选择的函数。其他的你也可以再多加些功能。
学生成绩管理系统有哪些功能
校盈易学生成绩管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩。
管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。
考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。
学生成绩管理系统哪个好
建议你直接用魔方网表来按需定制一个,官网www.mf999.com。你不仅仅可以完成学生成绩管理系统,还能做学生社团管理系统、学生档案管理系统、教职工活动管理系统等等,各种教育类需要的系统都可以用魔方网表完成。比你用的套装类标准类的管理系统好用。
C语言成绩管理系统
#include "stdio.h"
struct stu{
int sid,score;
char g;
};
void scorein(struct stu *p,int n){
int i,t;
for(i=0;i《n;i++){
scanf("%d%d",&p.score);
p.score)》89 && t《101 ? ’A’ : t》79 && t《90 ? ’B’ : t》69 && t《80 ? ’C’ : t》59 && t《70 ? ’D’ : ’E’;
}
}
int sum(struct stu *p,int n){
int s=0;
while(n--)
s+=p++-》score;
return s;
}
void dssort(struct stu *p,int n){
int i,j,k;
struct stu t;
printf("\nSTUID\tSCORE\tCLASS\n=====================\n");
for(i=0;i《n;i++){
for(k=i,j=k+1;j《n;j++)
if(p.score)
k=j;
if(k!=i)
t=p=t;
printf("%d\t%d\t%c\n",p.g);
}
}
void idsort(struct stu *p,int n){
int i,j,k;
struct stu t;
printf("\nSTUID\tSCORE\tCLASS\n=====================\n");
for(i=0;i《n;i++){
for(k=i,j=k+1;j《n;j++)
if(p.sid)
k=j;
if(k!=i)
t=p=t;
printf("%d\t%d\t%c\n",p.g);
}
}
void query(struct stu *p,int n){
int id;
printf("\nPlease enter ID(int)...\n");
scanf("%d",&id);
while(id-p-》sid && n)
p++,n--;
if(n》=0){
printf("STUID\tSCORE\tCLASS\n=====================\n");
printf("%d\t%d\t%c\n\n",p-》sid,p-》score,p-》g);
}
else
printf("No find!\n\n");
}
void level(struct stu *p,int n){
int d,i;
char s={"优秀","良好","中等","及格","不及格"};
printf("统计信息如下:\n");
for(i=0;i《5;d=0);
for(i=0;i《n;i++,d++);
for(i=0;i《5;i++)
printf("%6s:\t%d\t%.2f%%\n",s/(n+0.0)*100);
}
void outinfo(struct stu *p,int n){
int i;
printf("\nSTUID\tSCORE\n=============\n");
for(i=0;i《n;i++)
printf("%d\t%d\n",p.score);
}
int main(int argc,char *argv){
int n,s;
struct stu a;
printf("Please enter n(int 0《n《31)...\n");
if(scanf("%d",&n)!=1 || n《1 || n》30){
printf("Input error, exit...\n");
return 0;
}
scorein(a,n);//输入
dssort(a,n);//分数降序
idsort(a,n);//学号升序
query(a,n);//查询
level(a,n);//等级和百分比
outinfo(a,n);//输出各位学生信息
printf("总分: %d",s=sum(a,n));
printf(" 平均分: %.2f\n",s/(n+0.0));
return 0;
}
运行样例:
怎么才能把成绩管理系统的数据导出来
我之前好像听在学校工作的朋友说过叫小帮软件机器人的工具,他们好像采集了好多个软件的数据,像学校招生管理系统、教材管理系统、成绩管理系统都能采集,直接保存为Excel表格,还蛮方便的,应该是你要的。
设计并开发一个简易的学生成绩管理信息系统
系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有9部分
1、登录模块:具有不同权限的管理人员可以通过用户名和密码登录系统,进入主界面。
2、学生成绩查询模块:按操作员输入的编号、姓名能以查询一个至多个学生的学生记录,并可打印存档。
3、学生成绩录入模块:录入学生成绩信息,输入完成后,将数据存盘。
4、学生成绩修改模块:对已存档的学生进行日常管理,如修改学生成绩、增加、删除等基本操作。
5、学生成绩统计分析模块:学生成绩报表,并给出分析报告。
6、用户管理模块:赋予高级管理者以增加、删除、修改普通管理员的权限。赋予普通管理员修改密码的权限。
7、系统备份模块:对系统的所有文件做备份,当系统文件丢失或损坏时可以对系统进行恢复,避免损失。
8、系统帮助模块:简单介绍本系统各模块的使用方法。
9、退出系统模块:退出系统返回WIDNOWS界面。
用c语言做成绩管理系统,为什么成绩保存不了,再打开就没了
你需要将数据存储到文件当中呀,如果你只是将数据存储到数组中,那么每一次运行都会重置的
这是我之前课设写的代码 写的不好 你可以看一下
#include《stdio.h》
#define N 100
typedef struct {
char Callid;//电话号
char Name;//姓名
char Gender;//性别
char Address;//家庭住址
int Id;//学号
int Rank;//考试名次
int TotalRank;//综合成绩名次
double Math;//数学成绩
double English;//外语成绩
double Chinese;//语文成绩
double Average;//平均成绩
double TotalScore;//综合测评成绩
double PeerGrading;//同学互评
double FlightTracker;//老师评分
double CharacterGrades;//品德成绩
}datatype;
void Printf(datatype stu, int j) {
int c;
printf("浏览数据前请先插入数据");
printf("1.输出学生信息");
printf("2.输出学生考试成绩");
printf("3.输出学生综测成绩");
printf("4.输出学生全部信息");
scanf("%d",&c);
switch (c) {
case 1: for (int i = 0; i 《 j; i++){
printf("姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
printf("***************************************************************************");
}
break;
case 2:for (int i = 0; i 《 j; i++) {
printf("姓名:%s 学号:%d\n", stu.Id);
printf("数学成绩:%f 语文成绩:%f 英语成绩:%f 平均成绩:%f 排名%d\n", stu.Rank);
printf("***************************************************************************");
}
break;
case 3:for (int i = 0; i 《 j; i++) {
printf("姓名:%s 学号:%d\n", stu.Id);
printf("综合测评成绩:%f 同学互评:%f 老师评分:%f 品德成绩:%f 综合成绩名次:%d\n", stu.TotalRank);
printf("***************************************************************************");
}
case 4:for (int i = 0; i 《 j; i++) {
printf("姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
printf("数学成绩:%f 语文成绩:%f 英语成绩:%f 平均成绩:%f 排名%d\n", stu.Rank);
printf("综合测评成绩:%f 同学互评:%f 老师评分:%f 品德成绩:%f 综合成绩名次:%d\n", stu.TotalRank);
printf("***************************************************************************");
}
}
}
void find(datatype stu, int j,int i) {
int c=0;
int b;
for (int k = 0; k 《 j; k++) {
if (stu.Id == i) {
printf("姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
printf("数学成绩:%f 语文成绩:%f 英语成绩:%f 平均成绩:%f 排名%d\n", stu.Rank);
printf("综合测评成绩:%f 同学互评:%f 老师评分:%f 品德成绩:%f 综合成绩名次:%d\n", stu.TotalRank);
printf("***************************************************************************");
j++;
_getch();
}
}
if (c =0) {
printf("没有查找到此同学");
}
}
void Save(datatype stu,int j) {
FILE* File;
File = fopen(".\\stu.txt", "wb");
rewind(File);
for (int i = 0; i 《=j; i++) {
fprintf(File, "姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
fprintf(File, "****************************************************\n");
}
fclose(File);
printf("\n数据保存成功。\n");
}
void Menu(){
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 欢迎使用学生综合测评系统 ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 1.输入学生信息 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 2.插入同学信息 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 3.删除同学信息 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 4.浏览学生信息 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 5.输入考试成绩 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 6.输入综测成绩 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 7.更改学生成绩 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 8.查找同学信息 ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** 9.退出** ** ** ** ** ** ** ** ** ** ** \n");
printf("** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** \n");
}
void Sort(datatype stu, int j) {
int k;
datatype temp;
for (int i = 0; i 《 j + 1; i++) {
k = i;
for (int o = i + 1; o 《= j; o++) {
if (stu.Id) {
k = o;
}
}
if (stu.Id) {
temp = stu;
stu;
stu = temp;
}
}
}
int SaveStudent(datatype stu) {//录入学生基本信息
datatype temp;
int k;
char c;
int j;
for ( j = 0; j 《N; j++) {
printf("请输入第 %d 号学生姓名:", j+1);
scanf_s("%s", stu.Name));
printf("请输入第 %d 号学生学号:", j+1);
scanf_s("%d", &stu.Id));
printf("请输入第 %d 号学生性别:", j+1);
scanf_s("%s", stu.Gender));
printf("请输入第 %d 号学生家庭住址:", j+1);
scanf_s("%s", stu.Address));
printf("请输入第 %d 号学生联系号码:", j+1);
scanf_s("%s",stu.Callid));
printf("如果输入完成请按下‘*’以结束输入程序,若继续请按其他任意键\n");
c = _getch();
if (c == ’*’) {
break;
}
}
Sort(stu,j);
Save(stu,j);
return j + 1;
}
int Input(datatype stu,int j) {
printf("请输入学生姓名:" );
scanf_s("%s", stu.Name));
printf("请输入学生学号:" );
scanf_s("%d", &stu.Id));
printf("请输入学生性别:");
scanf_s("%s", stu.Gender));
printf("请输入学生家庭住址:");
scanf_s("%s", stu.Address));
printf("请输入学生联系号码:");
scanf_s("%s", stu.Callid));
Sort(stu, j);
Save(stu, j);
return j + 1;
}
int Delete(datatype stu, int j) {
int i;
char c;
printf("请输入要删除的学生学号:");
scanf("%d", &i);
for (int k = 0; k 《 j; k++) {
if (stu.Id == i) {
printf("姓名:%s 学号:%d 联系电话:%s 性别:%s 家庭住址:%s", stu.Address);
printf("是否删除此同学信息,若是按下‘y’");
c = _getch();
if (c == ’y’) {
for (int i = k; k 《 j; k++) {
stu;
}
printf("删除成功");
return j - 1;
}
}
}
printf("没有查找到此同学");
return j;
}
void Sorce(datatype stu, int j){
for (int i = 0; i 《 j; i++) {
printf("请输入%s学号%d的成绩\n", stu.Id);
printf("请输入语文成绩:");
scanf("%lf", &stu.Chinese);
printf("请输入数学成绩:");
scanf("%lf", &stu.Math);
printf("请输入外语成绩:");
scanf("%lf", &stu.English);
stu.English) / 3;
printf("%f", stu.Average);
}
int k;
datatype temp;
for (int i = 0; i 《 j; i++) {
k = i;
for (int o = i + 1; o 《= j-1; o++) {
if (stu.Average) {
k = o;
}
}
if (stu.Average) {
temp = stu;
stu;
stu = temp;
}
}
for (int i = 0; i 《 j; i++) {
stu.Rank = j-i;
}
Sort(stu, j-1);
FILE* File;
File = fopen(".\\stu1.txt", "wb");
rewind(File);
for (int i = 0; i 《j; i++) {
fprintf(File, "姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
fprintf(File, "语文成绩:%f 数学成绩:%f 外语成绩:%f 平均成绩:%f 考试名次:%d\n", stu.Rank);
fprintf(File, "****************************************************\n");
}
fclose(File);
printf("\n数据保存成功。\n");
}
void TotalSorce(datatype stu, int j) {
for (int i = 0; i 《 j; i++) {
printf("请输入%s学号%d的综测成绩\n", stu.Id);
printf("请输入同学互评分:");
scanf("%lf", &stu.PeerGrading);
printf("请输入品德成绩:");
scanf("%lf", &stu.CharacterGrades);
printf("请输入老师评分:");
scanf("%lf", &stu.FlightTracker);
stu.FlightTracker * 0.2;
}
int k;
datatype temp;
for (int i = 0; i 《 j ; i++) {
k = i;
for (int o = i + 1; o 《= j-1; o++) {
if (stu.TotalScore) {
k = o;
}
}
if (stu.TotalScore) {
temp = stu;
stu;
stu = temp;
}
}
for (int i = 0; i 《 j; i++) {
stu.TotalRank = j-i;
}
Sort(stu, j-1);
FILE* File;
File = fopen(".\\stu2.txt", "wb");
rewind(File);
for (int i = 0; i 《 j; i++) {
fprintf(File, "姓名:%s 性别:%s 联系号码:%s 家庭住址:%s 学号:%d\n", stu.Id);
fprintf(File, "语文成绩:%f 数学成绩:%f 外语成绩:%f 平均成绩:%f 考试名次:%d\n", stu.Rank);
fprintf(File, "同学互评分:%f 品德成绩:%f 老师评分:%f 综测总分:%f 综测排名:%d\n", stu.TotalRank);
fprintf(File, "****************************************************\n");
}
fclose(File);
printf("\n数据保存成功。\n");
}
void ESorce(datatype stu, int j) {
int i;
int a;
printf("请输入要修改同学的学号");
scanf("%d", &a);
find(stu, j,a);
for (i = 0; i 《 j; i++) {
if (stu.Id == a) {
printf("请输入%s学号%d的成绩\n", stu.Id);
printf("请输入语文成绩:");
scanf("%lf", &stu.Chinese);
printf("请输入数学成绩:");
scanf("%lf", &stu.Math);
printf("请输入外语成绩:");
scanf("%lf", &stu.English);
stu.English) / 3;
rintf("请输入%s学号%d的综测成绩\n", stu.Id);
printf("请输入同学互评分:");
scanf("%lf", &stu.PeerGrading);
printf("请输入品德成绩:");
scanf("%lf", &stu.CharacterGrades);
printf("请输入老师评分:");
scanf("%lf", &stu.FlightTracker);
stu.FlightTracker * 0.2;
}
}
Sort(stu, j);
Save(stu, j);
}
void Find1(datatype stu, int j) {
char f;
int d;
int a;
int k = 0;
printf("1.按学号查找");
printf("2.按姓名查找");
printf("3.按联系方式查找");
scanf("%d",&d);
switch (d) {
case 1:
{
printf("请输入学号:");
scanf("%d", &a);
find(stu, j, a);
break;
}
case 2: {
printf("请输入姓名:");
scanf("%s", f);
for (int i = 0; i 《 j; i++) {
if (f == stu.Name) {
a = stu.Id;
find(stu, j, a);
k++;
}
}
if (k = 0) {
printf("没有找到此学生");
}
break;
}
case 3:
printf("请输入联系方式:");
scanf("%s", f);
for (int i = 0; i 《 j; i++) {
if (f == stu.Callid) {
a = stu.Id;
find(stu, j, a);
k++;
}
}
if (k = 0) {
printf("没有找到此同学");
}
}
}
int main() {
int count;
int c;
datatype stu;
while (1) {
Menu();
scanf("%d", &c);
switch (c) {
case 1:
count = SaveStudent(stu);
system("cls");
break;
case 2:
count = Input(stu, count);
system("cls");
break;
case 3:
count = Delete(stu, count);
system("cls");
break;
case 4:
Printf(stu, count);
system("cls");
break;
case 5:
Sorce(stu, count);
system("cls");
break;
case 6:
TotalSorce(stu, count);
system("cls");
break;
case 7:
ESorce(stu, count);
system("cls");
break;
case 8:
Find1(stu, count);
system("cls");
break;
case 9:
return 0;
}
}
}

更多文章:
directx安装完成怎么使用(电脑安装后Directx有什么作用Directx是什么东西)
2026年3月21日 12:30
office办公软件官网下载(office办公软件下载官方网站)
2025年6月1日 02:22
怎么看别人的微信状态(微信怎么看别人的状态 微信如何看别人的状态)
2025年6月10日 11:20
苹果微信最新版本下载2021(iphone13promax,如何下载微信最新版本)
2026年8月17日 02:50
win10企业版换成专业版密钥(win10的企业版怎样转专业版)
2025年12月5日 03:30
galgame推荐(后宫系列galgame有哪些就是男主可以和所有女主恋爱的那种)
2026年2月21日 23:15


















