当前位置:首页 » 考试成绩 » 数据库学生成绩管理程序

数据库学生成绩管理程序

发布时间: 2020-12-29 02:10:04

A. 如何用SQL建立一个学生成绩管理系统数据库啊

先把关系图弄出抄来 再翻译成若干袭表结构

数据库的教科书上就有吧

好像是
1.学生信息表(学号、学生姓名、班级等等信息)
2.课程信息表(课程号、课程名称、代课老师等等信息)
3.最后就是一个 成绩明细表(学号、课程号、成绩等等)

主要知识点是怎么处理主外键约束关系(维度表1.2.和明细表3.的关系)

B. 学生成绩管理程序

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int INDEX[32];
struct STUDENT
{
int id,age,chinese,math,english;
char name[21];
}students[32];
void page_title(char *menu_item)
{
clrscr();
printf(">>> 学 生 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);
}
void return_confirm(void)
{
printf("\n按任意键返回……\n");
getch();
}

void student_new(void)
{
int n;
page_title("录入学生基本信息");
for(n=0;n<32;n++)
if(students[n].id==0) break;
printf("学号:");
scanf("%d",&students[n].id);
printf("姓名:");
scanf("%s",&students[n].name);
printf("年龄:");
scanf("%d",&students[n].age);
return_confirm();
}

int search_id(void)
{
int n,i;
printf("请输入学生学号:");
scanf("%d",&i);
for(n=0;n<32;n++)
{
if(students[n].id==i&&students[n].id!=0)
{
printf("学号:%d\n",students[n].id);
printf("姓名:%s\n",students[n].name);
printf("年龄:%d\n",students[n].age);
return n;
}
}
printf("\n输入错误或学号不存在.\n");
return -1;
}

void student_del(void)
{
int n;
page_title("注销学生基本信息");
if((n=search_id())!=-1) students[n].id=0;
printf("\n!该学生已注销.\n");
return_confirm();
}

void student_edit(void)
{
int n;
page_title("编辑学生基本信息");
if((n=search_id())!=-1)
{
printf("\n请重新输入新信息:\n学号:");
scanf("%d",&students[n].id);
printf("姓名:");
scanf("%s",&students[n].name);
printf("年龄:");
scanf("%d",&students[n].age);
}
return_confirm();
}
void score_input(void)
{
int s,n,t;
page_title("录入成绩");
printf("\n请用数字键选择科目\n1-语文 2-数学 3-英语\n");
scanf("%d",&s);
for(n=0;n<32;n++)
{
if(students[n].id!=0)
{
printf("学号:%d 姓名:%s 成绩:",students[n].id,students[n].name);
scanf("%d",&t);
switch(s)
{
case 1 : students[n].chinese=t;break;
case 2 : students[n].math=t;break;
case 3 : students[n].english=t;break;
}
}
}
return_confirm();
}

void score_edit(void)
{
int n;
page_title("修改成绩");
if((n=search_id())!=-1)
{
printf("语文:%d 数学:%d 英语:%d\n",students[n].chinese,students[n].math,students[n].english);
printf("\n请重新输入成绩:\n语文:");
scanf("%d",&students[n].chinese);
printf("数学:");
scanf("%s",&students[n].math);
printf("英语:");
scanf("%d",&students[n].english);
}
return_confirm();
}

void sort_it(char nn)
{
int n,m,p,x,t[32];
for(n=0;n<32;n++)
{
switch(nn)
{
case '1' : t[n]=students[n].id;break;
case '2' : t[n]=students[n].chinese;break;
case '3' : t[n]=students[n].math;break;
case '4' : t[n]=students[n].english;break;
case '5' : t[n]=students[n].chinese+students[n].math+students[n].english;break;
}
}
for(n=0;n<32;n++)
{
x=0;
p=-1;
for(m=0;m<32;m++)
{
if(t[m]>x)
{
x=t[m];
p=m;
}
}
t[p]=-1;
INDEX[n]=p;
}
}

void browser(void)
{
int n,x;
char k;
sort_it('1');
while(1)
{
page_title("浏览");
printf("按数字键选择排序方式或按 0 返回\n");
printf("学号-1\t姓名\t\t年龄\t语文-2\t数学-3\t英语-4\t总分-5\n");
for(n=0;n<32;n++)
{
if(INDEX[n]!=-1)
{
x=INDEX[n];
printf("%d\t%s\t",students[x].id,students[x].name);
printf("%d\t%d\t",students[x].age,students[x].chinese);
printf("%d\t%d\t",students[x].math,students[x].english);
printf("%d\n",students[x].chinese+students[x].math+students[x].english);
}
}
k=getch();
if(k<'6'&&k>'0') sort_it(k);
else if(k=='0') break;
else continue;
}
}
void main(void)
{
menu: page_title("操作选单");
printf("请用数字键选择操作\n\n");
printf("1 录入学生基本信息\n2 修改学生基本信息\n");
printf("3 注销学生基本信息\n\n4 录入成绩\n5 修改成绩\n\n");
printf("6 浏览...\n \n0 退出\n");
switch(getch())
{
case '1' : student_new();break;
case '2' : student_edit();break;
case '3' : student_del();break;
case '4' : score_input();break;
case '5' : score_edit();break;
case '6' : browser();break;
case '0' : exit(0);
}
goto menu;
}

C. 学生成绩管理数据库的建立

你excel就可

D. 学生成绩管理程序设计怎么写

具体点,用什么语言
这有个C++的例子
#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
class student
{ private:
char name[20]; //姓名
double cpro,english,math,sport,law,hbpro,computer;//课程
int order, number; //名次,学号
public:
student(){}
student(char n[20],int nu,double cc,double eng,double ma,double sp,double l,double hb,double com)
{strcpy(name,n);
number=nu;
cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=hb;computer=com;
}
friend void main();
};

void main()
{
cout<<" 欢迎进入**学生成绩管理系统**!"<<endl;

cout<<" ******************************************"<<endl;
cout<<" **** 学生成绩管理系统 ****"<<endl;
cout<<" ******************************************"<<endl;
cout<<" **************************"<<endl;
cout<<" **0、输入数据 **"<<endl;
cout<<" **1、增加数据 **"<<endl;
cout<<" **2、修改数据 **"<<endl;
cout<<" **3、按姓名查询 **"<<endl;
cout<<" **4、按学号查询 **"<<endl;
cout<<" **5、输出所有学生的成绩 **"<<endl;
cout<<" **6、退出系统 **"<<endl;
cout<<" **************************"<<endl;
cout<<" 选择0-6数字进行操作"<<endl;

char p;char w;
student *s[50]; //指针对象,最多存50个学生数据
ofstream *file[50]; //负责对文件插入操作
int i=0;
int j=0;
int flag=0;
do //flag判断输入是否有效
{
cin>>p;
if((p>='0'&&p<='6'))
flag=1;
else
cout<<" 指令错误!请重新输入:"<<endl;
}while(flag==0);
do{
switch(p) //接收功能选项
{
case '0': //输入数据
{
char c;
char name[20];int number;double cpro,english,math,sport,law,hbpro,computer;
do{
cout<<" 请输入姓名:";
cin>>name;
cout<<endl<<" 请输入学号:";
cin>>number;
cout<<" 请输入C++成绩:";
cin>>cpro;
cout<<endl<<" 请输入英语成绩:";
cin>>english;
cout<<endl<<" 请输入数学成绩:";
cin>>math;
cout<<endl<<" 请输入体育成绩:";
cin>>sport;
cout<<endl<<" 请输入网络基础成绩:";
cin>>law;
cout<<endl<<" 请输入C语言成绩:";
cin>>hbpro;
cout<<endl<<" 请输入数据库成绩:";
cin>>computer;
cout<<endl;
file[j]=new ofstream("D:\\document",ios::ate);
*file[j]<<" 姓名 "<<name<<" 学号 "<<number<<" C++成绩 "<<cpro
<<" 英语成绩 "<<english<<" 数学成绩 "<<math<<" 体育成绩 "
<<sport<<" 网络基础成绩 "<<law<<" C成绩 "<<hbpro<<" 数据库成绩 "<<computer<<endl;
j++;
s[i]=new student(name, number,cpro,english,math,sport,law,hbpro,computer);
i++;
cout<<" 数据输入成功,想继续输入吗(y/n):";
cin>>c;
cout<<endl;
do
{
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
else
flag=1;
}while(flag==0);
}while(c=='y');
break;
}

case '1': //增加数据
{
char name[20];
int number;double cpro,english,math,sport,law,hbpro,computer;
char c;
do
{
cout<<" 请输入您要增加的学生的姓名:";
cin>>name;
cout<<endl<<" 请输入学号:";
cin>>number;
cout<<endl<<" 请输入C++成绩:";
cin>>cpro;
cout<<endl<<" 请输入英语成绩:";
cin>>english;
cout<<endl<<" 请输入数学成绩:";
cin>>math;
cout<<endl<<" 请输入体育成绩:";
cin>>sport;
cout<<endl<<" 请输入网络基础成绩:";
cin>>law;
cout<<endl<<" 请输入C语言成绩:";
cin>>hbpro;
cout<<endl<<" 请输入数据库成绩:";
cin>>computer;
cout<<endl;

file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<" 姓名 "<<name<<" 学号 "<<number<<" C++成绩 "<<cpro<<" 英语成绩 "<<english<<" 数学成绩 "<<math<<" 体育成绩 "<<sport<<" 网络基础成绩 "<<law<<" C成绩 "<<hbpro<<" 数据库成绩 "<<computer<<endl;
j++;
s[i]=new student(name, number, cpro,english,math,sport,law,hbpro,computer);
i++;
cout<<" 数据输入成功,想继续数入吗(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
}while(c=='y');
break;
}

case '2': //修改数据
{
char name[20];int nu;double cc,eng,ma,sp,l,hb,com;flag=0;
char c;
if(i==0)
{
cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do
{
cout<<" 请输入您要修改的学生的姓名:";
cin>>name;
cout<<endl;
for(int h=0;h<i;h++) //h纪录要修改学生的位置
{
if(strcmp(name,s[h]->name)==0)
{
flag=1;
cout<<" 请输入新的学号:";
cin>>nu;
cout<<endl<<" 请输入C++成绩:";
cin>>cc;
cout<<endl<<" 请输入英语成绩:";
cin>>eng;
cout<<endl<<" 请输入数学成绩:";
cin>>ma;
cout<<endl<<" 请输入体育成绩:";
cin>>sp;
cout<<endl<<" 请输入网络基础成绩:";
cin>>l;
cout<<endl<<" 请输入C语言成绩:";
cin>>hb;
cout<<endl<<" 请输入数据库成绩:";
cin>>com;
cout<<endl;
s[h]->cpro=cc;
s[h]->english=eng;
s[h]->math=ma;
s[h]->sport=sp;
s[h]->law=l;
s[h]->hbpro=hb;
s[h]->computer=com;
s[h]->number=nu;
cout<<" 数据修改成功!"<<endl;
}
}
if(flag==0)
{
cout<<" 您要修改的学生本来就不存在!请检查重新输入!"<<endl;
}
cout<<" 想继续修改吗(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
}while(c=='y');
break;
}

case '3': //按姓名查询
{
char n[20];int j=0;char c;
if(i==0)
{
cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do{
int flag=0;
cout<<" 请输入你要查询的学生姓名:";
cin>>n;
cout<<endl;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<" 您要查询的学生是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的成绩是: "<<" C++: "<<(*s[j]).cpro<<" 英语: "<<(*s[j]).english<<" 数学:"<<(*s[j]).math<<" 体育:"<<(*s[j]).sport<<" 法律:"<<(*s[j]).law<<" C:"<<(*s[j]).hbpro<<" 数据库 "<<(*s[j]).computer<<endl;
}
}
if(flag==0)
cout<<" 对不起!您要查询的学生不存在!"<<endl;
cout<<" 您想继续查询吗?(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '4': //按学号查询
{
int n,j=0;char c;
if(i==0){

cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do{
int flag=0;
cout<<" 请输入你要查询的学生的学号:";
cin>>n;
cout<<endl;
for(int j=0;j<i;j++)
{
if(s[j]->number==n)
{
flag=1;
cout<<" 您要查询的学生是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的成绩是: "<<" C++:"<<(*s[j]).cpro<<" 英语:"<<(*s[j]).english<<" 数学:"<<(*s[j]).math<<" 体育:"<<(*s[j]).sport<<" 法律:"<<(*s[j]).law<<" C:"<<(*s[j]).hbpro<<" 数据库 "<<(*s[j]).computer<<endl;
}
}
if(flag==0)
cout<<" 对不起!您要查询的学生不存在!"<<endl;
cout<<" 您想继续查询吗?(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '5': //输出
{
cout<<" 本系统所有学生数据如下:"<<endl;
if(i==0)
cout<<" 管理系统中没有输入数据!"<<endl;
cout<<" 姓名 学号 c++ 英语 数学 体育 网络基础 C语言 数据库 "<<endl;
for(int k=0;k<i;k++)
{
cout<<s[k]->name<<setw(7)<<s[k]->number<<setw(6)
<<(*s[k]).cpro<<setw(6)<<(*s[k]).english<<setw(6)
<<(*s[k]).math<<setw(6)<<(*s[k]).sport<<setw(7)
<<(*s[k]).law <<setw(10)<<(*s[k]).hbpro<<setw(10)<<(*s[k]).computer<<setw(10)<<endl;
}
break;
}
case'6'://退出
{exit(0); cout<<"Bye bye!"<<endl;}
}
cout<<" 您想继续进行其他操作吗?(y/n):";
int flag=0;
do
{
cin>>w;
cout<<endl;
if(w!='y'&&w!='n')
cout<<" 指令错误!请重新输入!"<<endl;
else
flag=1;
}while(flag==0);
if(w=='y')
cout<<" 请输入操作代码:0 输入数据"<<endl;
cout<<" 1 增加数据"<<endl;
cout<<" 2 修改数据"<<endl;
cout<<" 3 按姓名查询"<<endl;
cout<<" 4 按学号查找"<<endl;
cout<<" 5 输出所有学生成绩"<<endl;
cout<<" 6 退出系统"<<endl;
cin>>p;
}while(w=='y');
}

E. 如何用数据库建立学生成绩管理系统

首先,数据库只是存放数据的,像你说的学生成绩管理系统分四大模块,还有具体功能实现,这些跟数据库没关系,或者说这不是数据库能干的事,你需要相应的程序页面来实现,数据库是存储数据和配合程序操作数据的。

F. 如何用SQL建立一个学生成绩管理系统数据库

create table 学生档案表
(学号 char(8) primary key
check(学号 like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),
姓名 varchar(8) not null,
性别 char(8) check(性别='F' or 性别='M'),
出生日期 datetime check(出生日期>='1970'),
籍贯 char(8),
专业 char(8),
班级 char(8)
)
create table 课程信息表
(课程ID char(6) primary key
check(课程ID like('[A-Z][A-Z][0-9][0-9][0-9][0-9]')),
课程名称 varchar(40) not null,
课程类别 char(8),
学分 real check(学分 between 0.5 and 5.0),
学时 int check(学时%8=0)
)
create table 教师档案表
(任课教师ID char(8) primary key check(任课教师ID
like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),
姓名 varchar(16) not null,
性别 char(1),
职称 varchar(8),
单位 varchar(20)
)
create table 教学任务表
(课程ID char(6) primary key,
任课教师ID char(8),
学期 Int check (学期=1 or 学期=2 ),
年度 char(10),
foreign key(任课教师ID) references 教师档案表(任课教师ID)
)

create table 学生选课表
(学号 char(8) primary key,
课程类别 char(8),
课程ID char(6),
foreign key (课程ID) references 课程信息表(课程ID),
foreign key (课程ID) references 教学任务表(课程ID)
)
create table 学生成绩表
(学号 char(8),
课程ID char(6),
平时成绩 real,
期末成绩 real,
总成绩 real
)

G. 如何用SQL建立一个学生成绩管理系统数据库

首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在弹出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:学生表(student) (学号(sno) 普通编码定长字符类型,长度7,主码,姓名(sname) 普通编码定长字符类型,长度8,非空,性别(ssex) 统一编码定长字符类型,长度1,年龄(sage) 微整型,所在系(sdept) 统一编码可变长字符类型,长度20)课程表(course) (课程号(cno) 普通编码定长字符类型,长度6,主码,课程名(cname) 统一编码定长字符类型,长度10,非空,学分(credit) 小整型,学期(semester) 小整型)修课表(sc)(学号(sno) 普通编码定长字符类型,长度7,主码,外码课程号(cno) 普通编码定长字符类型,长度6,主码,外码成绩(grade) 小整型,修课类别(type)普通编码定长字符类型,长度4)则创建表的语句分别为:create table Student(Sno char(7) primary key,Sname char(8) not null,Ssex nchar(1),Sage tinyint,Sdept nvarchar(20))create table Course(Cno char(6) primary key,Cname nchar(10) not null,Credit smallint,Semester smallint)create table SC(Sno char(7),Cno char(6),Grade smallint,Type char(4),primary key(Sno,Cno),Foreign key(Sno) References Student (Sno),Foreign key(Cno) References Course (Cno))各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

H. 如何用SQL建立一个学生成绩管理系统数据库

首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,
启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在弹出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。

假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:
学生表(student) (
学号(sno) 普通编码定长字符类型,长度7,主码,
姓名(sname) 普通编码定长字符类型,长度8,非空,
性别(ssex) 统一编码定长字符类型,长度1,
年龄(sage) 微整型,
所在系(sdept) 统一编码可变长字符类型,长度20


课程表(course) (
课程号(cno) 普通编码定长字符类型,长度6,主码,
课程名(cname) 统一编码定长字符类型,长度10,非空,
学分(credit) 小整型,
学期(semester) 小整型


修课表(sc)(
学号(sno) 普通编码定长字符类型,长度7,主码,外码
课程号(cno) 普通编码定长字符类型,长度6,主码,外码
成绩(grade) 小整型,
修课类别(type)普通编码定长字符类型,长度4


则创建表的语句分别为:
create table Student(
Sno char(7) primary key,
Sname char(8) not null,
Ssex nchar(1),
Sage tinyint,
Sdept nvarchar(20)
)

create table Course(
Cno char(6) primary key,
Cname nchar(10) not null,
Credit smallint,
Semester smallint
)

create table SC(
Sno char(7),
Cno char(6),
Grade smallint,
Type char(4),
primary key(Sno,Cno),
Foreign key(Sno) References Student (Sno),
Foreign key(Cno) References Course (Cno)
)

各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。

I. 数据库学生成绩管理系统

http://www.xiaozhou.net/uploadfile/zip/2005-1/studentscore.zip

这个是已经做好的。你自己下载参考一下吧。

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919