當前位置:首頁 » 考試成績 » 資料庫學生成績管理程序

資料庫學生成績管理程序

發布時間: 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