當前位置:首頁 » 操作系統 » 資料庫課程設計學生成績管理系統

資料庫課程設計學生成績管理系統

發布時間: 2023-01-16 19:35:03

Ⅰ 怎麼用sql資料庫編寫學生成績管理系統啊~~~急救!可以追加分!!

---------更新成績status=2 未提交成績 可修改成績 不能插入更新 學生不可查看, status=1成績已提交 不可修改成績 學生可以查看

------插入數據-------------
--用戶信息表
insert into userinfo values('20101000','123',1)
insert into userinfo values('20101004','123',2)
insert into userinfo values('20101152100','123',3)
select*from userinfo
--學生信息表
insert into studinfo values('20101152100','素雅','女','計科1班')
select *from studinfo
--教師信息表
insert into techerinfo values('20101004','李大為','男')
select *from techerinfo
--成績表
insert into studscoreinfo values('5','1003','20101152100','20101003','匯編','99',1)
select *from studscoreinfo
---教師管理成績--------------
--已提交時
update studscoreinfo set studscore='86' where courseid='1002' and studno='20101152103' and status=2
print '已提交不能修改成績'
select*from studscoreinfo
--未提交時
update studscoreinfo set studscore='90' where courseid='1001' and studno='20101152083' and status=1
print '已修改成績'
--提交成績
--改為未提交
update studscoreinfo set status=2 where courseid='1001' and studno='20101152083'
--改為提交
update studscoreinfo set status=1 where courseid='1001' and studno='20101152083'
select *from studscoreinfo
----------------學生----------
---已提交可查看成績時
select studno,teachno,studscore,course,studscore,status
from userinfo U,studscoreinfo S where U.username=S.studno and U.role=3 and S.studno='20101152083' and S.status=1
print '查詢成功!'
---未提交不可查看成績時
select studno,teachno,studscore,course,studscore,status
from userinfo U,studscoreinfo S where U.username=S.studno and U.role=3 and S.studno='20101152083' and S.status=2
print '還不可查詢'
----------系統管理員 可對學生信息,教師信息,成績信息等進行管理----------
select *from userinfo
select *from studinfo
select *from techerinfo
select *from studscoreinfo
--學生信息表---
--增加
insert into userinfo values('20101152101','123',3)
insert into studinfo values('20101152101','陸瓊','女','計科2班')
select *from studinfo
--修改更新
update studinfo set studsex='男' where studno='20101152101'
select *from studinfo
--刪除
delete from studinfo where studno='20101152101'
select *from studinfo
--教師信息表----
--增加
insert into userinfo values('20101005','123',2)
insert into techerinfo values('20101005','燒餅','男')
select *from techerinfo
--修改
update techerinfo set techname='燒包穀' where techname='燒餅'
select *from techerinfo
--刪除
delete from techerinfo where teachno='20101005'
select *from techerinfo
--成績信息表-----
--增加
insert into studscoreinfo values('6','1004','20101152100','20101002','數據結構','70',1)
select *from studscoreinfo
--修改
update studscoreinfo set studscore='100' where studno='20101152100' and courseid='1004'
select *from studscoreinfo
--刪除
delete from studscoreinfo where studno='20101152100'
select *from studscoreinfo

Ⅱ 如何用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語句等向資料庫中添加學生的各項具體數據了。

Ⅲ 資料庫課程設計--學生學籍管理系統

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MyPanel extends JPanel{
Image img=Toolkit.getDefaultToolkit().getImage("a.jpg");
public void paint(Graphics g){
g.drawImage(img,0,0,this);
}
}
public class MainForm extends JFrame implements ActionListener{
JMenu mSystem=new JMenu("系統");
JMenuItem mExit=new JMenuItem("退出");
JMenu mOperate=new JMenu("數據操作");
JMenuItem mAdd=new JMenuItem("添加");
JMenuItem mDel=new JMenuItem("刪除");
JMenuItem mModify=new JMenuItem("修改");
JMenuItem mBrowse=new JMenuItem("瀏覽");
JMenu mQuery=new JMenu("查詢");
JMenuItem mNumber=new JMenuItem("按學號查詢");
JMenuItem mScore=new JMenuItem("按成績查詢");
JMenu mHelp=new JMenu("幫助");
JMenuItem mAbout=new JMenuItem("關於");
JMenuBar mBar=new JMenuBar();
MainForm(){
super("學生成績管理系統");
setSize(700,630);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
mSystem.add(mExit);
mOperate.add(mAdd);
mOperate.add(mDel);
mOperate.add(mModify);
mOperate.add(mBrowse);
mQuery.add(mNumber);
mQuery.add(mScore);
mHelp.add(mAbout);
mBar.add(mSystem);
mBar.add(mOperate);
mBar.add(mQuery);
mBar.add(mHelp);
setJMenuBar(mBar);
mExit.addActionListener(this);
mAdd.addActionListener(this);
mDel.addActionListener(this);
mModify.addActionListener(this);
mBrowse.addActionListener(this);
mNumber.addActionListener(this);
mScore.addActionListener(this);
mAbout.addActionListener(this);
setContentPane(new MyPanel());
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==mExit)
System.exit(0);
else if(ae.getSource()==mAbout)
JOptionPane.showMessageDialog(this,"學生管理系統 V1.0\n\n安徽師范大學數學計算機科學學院\n\n2010年11月","關於",JOptionPane.INFORMATION_MESSAGE);
else if(ae.getSource()==mAdd)
new AddForm().setVisible(true);
else if(ae.getSource()==mDel)
new DeleteForm().setVisible(true);
else if(ae.getSource()==mModify)
new ModifyForm().setVisible(true);
else if(ae.getSource()==mBrowse)
new BrowseForm().setVisible(true);
else if(ae.getSource()==mNumber)
new NumberQueryForm().setVisible(true);
else if(ae.getSource()==mScore)
new ScoreQueryForm().setVisible(true);

}
public static void main(String[] args) {
new MainForm();
}
}
這個是主界面。

Ⅳ 求幫忙··成績管理系統資料庫設計

你是要幹嘛? 要幫你建整個資料庫???

Ⅳ C語言程序設計 班級學生成績管理系統

設計課題一:班級成績管理系統

一、 問題描述:

對一個有N個學生的班級,每個學生有M門課程。該系統實現對班級成績的錄入、顯示、修改、排序、保存等操作的管理。
二、功能要求:

1、本系統採用一個結構體數組,每個數據的結構應當包括:學號、姓名、M門課程名稱。
2、本系統顯示這樣的菜單:
請選擇系統功能項:
a、 成績錄入
b、 成績顯示
c、 成績保存
d、 成績排序
e、 成績修改(要求先輸入密碼)
f、 成績統計
(1) 顯示每門課程成績最高的學生的基本信息
(2) 顯示每門課程的平均成績
(3) 顯示超過某門課程平均成績的學生人數
g、 退出系統
3、執行一個具體的功能之後,程序將重新顯示菜單。
4、將學生成績保存到文件中。
三、演算法提示:

1、數據結構:結構體類型數組。
2、資料庫結構:下表構成該系統的基本資料庫。

姓名 學號 課程名稱1 課程名稱2 ●●●●●●
char Char float float

四、測試數據:

學生人數N=10
課程門數M=4
課程名:數學、語文、英語、政治

五、其它
對該系統有興趣的同學可以在實現上述基本功能後,完善系統的其它功能。
問題補充:
今天誰能給我答案啊!!!!!!!急急!!!!!!!
提問者: 342123465 - 一級
最佳答案
C語言課程設計報告—班級成績管理系統
需要分析:
學生成績管理系統有13種功能。把這13個功能做成13個子函數。在主函當數中設計一個菜單對這13個子數進行管理。來實現對整個系統的操作。
根據課題的要求。每一個學生的包括姓名(char)、學號(char)、M門課程的成績(float).再加上系統功能上的要求每一學生的信息還要總分和名次等。所以自然的想到要用結構體來定義每一個學生的信息結構。然後用鏈表把它們組成一個有序的整體。用對鏈表的操作來實現對所有學生信息的統一管理(成績顯示、成績排序、成績修改等)。最後為了以後按照處理後的順序保存到文件中。
. 各函數的功能:
概要設計:
程序的模塊組成:
主 函 數: int main()
新建函數:STUDENT *init()
輸入函數 :STUDENT *create()
顯示函數: void print(STUDENT *head)
刪除函數: STUDENT *delete(STUDENT *head)
按名字尋找函數: void lookup(STUDENT *head)
保存函數: void save(STUDENT *head)
按總分排序函數: STUDENT *sort(STUDENT *head)
計算總分和均分函數: void computer(STUDENT *h)
修改函數: STUDENT *Modify(STUDENT *head,STUDENT *new)
按學號排序函數: STUDENT *index(STUDENT *h)
菜單函數:int menu_select()
各個函數的主要功能:
輸入函數: 隨時輸入數據。
菜單函數:顯示系統主菜單。
顯示函數: 顯示所有學生的信息。
尋找函數: 方便學生查找自己的成績。
刪除函數: 刪除某學生的信息。
排序函數: 按總成績排序。
按學號排序函數: 按學號排序。
插入函數: 可以插入新的信息。
保存函數: 保存好學生成績,以免丟失。
統計函數:
l 顯示每門課程成績最高的學生的基本信息。
l 顯示每門課程的平均成績。
l 顯示超過某門課程平均成績的學生人數。
課題的功能模塊的劃分:
開始
菜單界面
功能選擇
初始化函數
輸入學生信息
刪除學生信息
顯示學生信息
查找學生信息
按成績排序
保存到文件
從文件讀數據
插入學生成績
分類合計
退出系統
結束
詳細設計: 整個系統除了主函數外,另外還有14個函數,實現八大功能:輸入功能、顯示功能、查找功能、排序功能、插入功能、保存功能、讀取功能。各個函數的詳細設計說明分別如下:
主函數 main()
利用無限次循環for(;;)和swithch()實現各函數的調用,系統根據輸入的數字選項來調用相應的函數。
菜單選擇函數 int menu_select()
這是一個無參函數,主要實現「功能選擇」的界面,在這個界面里有顯示系統的九大功能,根據每個功能前面的序號進行選擇。等執行完每一個函數功能後,返回菜單。
代碼設計: 初始化函數 STUDENT *init()
這是一個無參函數,裡面只有兩個語句,它的作用是使鏈表初始化,使head的值為NULL和一個清屏語句。比如:沒有這個函數的話,在你沒有輸入任何數據的情況下,去執行顯示功能的時候會顯示一些亂碼!
輸入記錄函數 STUDENT *create() 這是一個無參函數,用來執行學生成績記錄的輸入,當學生為@時停止輸入,函數結束後,帶回一個鏈表頭的指針指向一下個學生的信息插在表頭。
N-S流程圖如下:
head=NULL無條件循環
指針p指向新開辟的單元
指針p是否為空
是 否
輸入學號p->num
輸出 p->num是否為@
內存 是 否
溢出 輸入姓名p->name
停止 for(i=0;i<3;i++)
輸入 輸入成績
返回 p->sum=s;
菜單 p->average=(float)s/3;

顯示記錄函數 void print(STUDENT *head)

這是一個不返回值的有參函數,形參為「鏈表頭的指針」,負責對全部學生成績記錄的輸出,不足之處就是不能對學生成績進行分頁顯示。

演算法:先將p結點的指針指向第一個結點,將p結點(即第一個結點)的數據輸出。然後再將p結點的指針指向p指針的的指針(即下一結點),將p結點(即第一結點)的數據輸出。重復執行此步聚直到p指針指向NULL為止。

N-S流程圖如下:

p=head,使指向第一個結點

輸出p所指向的結點

p指向一下個結點

當p指的不是表尾

程序調試:

由於本課題中的許多知識點都沒有學過都要靠自己到課外的資料中去查找。在用的時候難免出現這樣那樣的錯誤。如開始設計出來的菜單不是預想的那樣,而是總個窗中出現混亂。解決的這個問題的辦法是調整。最後還是老師幫我幫我們找到了問題的所在——for 循環的次超過了鏈表中結點的數量。再就是自定義函數時由於課本的概念不清楚,多寫了空格鍵,以至函數調用不出來。又如:在設計修改學生信息時的密密碼時。當用戶發現輸入密碼錯誤按了退格鍵後,因為「*」並沒有消去。導致用戶再次按退格鍵,又出現前面的情況。最終導致輸入密碼錯誤。所以用了兩次退格鍵:

在對鏈表操作時,要特別鏈表指針的移動(p=p->next)和鏈表尾的判斷 (p= =NULL)。沒有指針的移動,就很容易出現死循環。而在運行過程中不能控制。所以你就會認為是死機。如果沒有鏈表尾的判斷。就會在運行過程出現想不到的錯誤。如:在顯示鏈表信息時,後面就會出現亂碼。

一個系統的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎麼用你設計的這個系統。在設計的調試過程中也無法順利的完成調試工作。有了一個清晰簡單的菜單和一些提示信息這後,調試過程完成的非常順利。

予我耐心解答的老師和同學,是他們為我小程序的成功起到了關鍵性的作用,那麼多個日夜,如此多的困難,同學們勤懇塌實,從開始到結束,沒有顯出一點倦意,始終熱情高漲,我感謝這種氛圍,感謝學校提供的良好條件。

回顧起此次課程設計,至今我仍感慨頗多,的確,從拿到題目到完成整個編程,從理論到實踐,在整整半個學期的日子裡,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之後,一定把以前所學過的知識重新溫故。

本次課程設計結束了,對於我的影響很大。我通過這次實踐學到了許多知識。學到了設計一個簡單的系統。要注意哪些方面。也使我知道自己哪些方面做得還不夠。

但我出總結出了一點點的經驗如下:

1、要對系統的功能和要求做出詳細的分析,並合理分解任務。
2、把分解出來的子任務,做給一個相對獨立的模塊。
3、在設計一個模塊之前,要簡單構想一下總界面的顯視情況。
4、針對構想出來的界面進行程序的編寫。
最後,感謝老師您對我的指導和從百忙中抽空看我的設計,謝謝!

附件:
源程序:
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*其它說明*/
#include "string.h" /*字元串函數*/
#include "conio.h" /*屏幕操作函數*/
#include "mem.h" /*內存操作函數*/
#include "ctype.h" /*字元操作函數*/
#include "alloc.h" /*動態地址分配函數*/
#include "dos.h"
#define N 4 /*定義常數*/
typedef struct z1 /*定義數據結構*/
{
char no[12];
char name[20];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
/*以下是函數原型*/
STUDENT *init(); /*初始化函數*/
STUDENT *create(); /*創建鏈表*/
STUDENT *delete(STUDENT *h); /*刪除記錄*/
void print(STUDENT *h); /* 顯示所有記錄*/
void lookup(STUDENT *h); /*查找*/
void save(STUDENT *h); /*保存*/
STUDENT *load(); /*讀入記錄*/
void computer(STUDENT *h); /*計算總分和均分*/
STUDENT *Modify(STUDENT *h); /*修改記錄*/
void append(); /*追加記錄*/
STUDENT *sort(STUDENT *h); /*按總分排序*/
STUDENT *index(STUDENT *h); /*按學號排序*/
int menu_select(); /*菜單函數*/
/******主函數開始*******/
main()
{
int i;
STUDENT *head; /*鏈表定義頭指針*/
printf("\n\n\n\n\n\n\n\n\n");
printf(" * * ******* * ***** ***** * * ******* \n");
printf(" * * * * * * * ** * * * \n");
printf(" * * * * ******* * * * * * *** * ******* \n" );
printf(" * * * * * * * * * * * * * \n");
printf(" * * ******* ******* ***** * *** * * * ******* \n");
printf("\n");
printf("\n");
printf("\n");
sleep(2);
head=init(); /*初始化鏈表*/
clrscr(); /*清屏*/
for(;;) /*無限循環*/
{
switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/
{ /*值不同,執行的函數不同,break 不能省略*/
case 0:head=init();break; /*執行初始化*/
case 1:head=create();break; /*創建鏈表*/
case 2:print(head);break; /*顯示全部記錄*/
case 3:head=delete(head);break; /*刪除記錄*/
case 4:lookup(head);break; /*按名字查找記錄*/
case 5:save(head);break; /*保存文件*/
case 6:head=load(); break; /*讀文件*/
case 7:computer(head);break; /*計算總分和均分*/
case 8:head=Modify(head); break; /*修改記錄,一般會插在表尾*/
case 9:head=sort(head);break; /*按部分排序*/
case 10:append();break; /*追加記錄*/
case 11:head=index(head);break; /*按學號排序*/
case 12: exit(0); /*如菜單返回值為12程序結束*/
}
}
}
/*菜單函數,返回值為整數*/
menu_select()
{
char *menu[]={"***************MENU***************", /*定義菜單字元串數組*/
" 00. init list", /*初始化*/
" 01. Enter list", /*輸入記錄*/
" 02. print list ", /*顯示單鏈表中所有記錄*/
" 03. Delete a record from list", /*從表中刪除記錄*/
" 04. Search record on name", /*按照姓名查找記錄*/
" 05. Save the file", /*將單鏈表中記錄保存到文件中*/
" 06. Load the file", /*從文件中讀入記錄*/
" 07. compute the score", /*計算所有學生的總分和均分*/
" 08. Modify an information ", /*修改某學號的信息*/
" 09. sort to make new file", /*排序*/
" 10. append record to file", /*追加記錄到文件中*/
" 11. index on nomber", /*按學號排序*/
" 12. Quit"}; /*退出*/
char s[3]; /*以字元形式保存選擇號*/
int c,i; /*定義整形變數*/
gotoxy(1,1); /*移動游標*/
textcolor(YELLOW); /*設置文本顯示顏色為黃色*/
textbackground(BLUE); /*設置背景顏色為藍色*/
gotoxy(10,2); /*移動游標*/
putch(0xc9); /*輸出左上角邊框┏*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出上邊框水平線*/
putch(0xbb); /*輸出右上角邊框 ┓*/
for(i=3;i<20;i++)
{
gotoxy(10,i);putch(0xba); /*輸出左垂直線*/
gotoxy(54,i);putch(0xba); /*輸出右垂直線*/
}
gotoxy(10,20);putch(0xc8); /*輸出左上角邊框┗*/
for(i=1;i<44;i++)
putch(0xcd); /*輸出下邊框水平線*/
putch(0xbc); /*輸出右下角邊框┛*/
window(11,3,53,19); /* 製作顯示菜單的窗口,大小根據菜單條數設計*/
clrscr(); /*清屏*/
for(i=0;i<16;i++) /*輸出主菜單數組*/
{
gotoxy(10,i+1);
cprintf("%s",menu[i]);
}
textbackground(BLACK); /*設置背景顏色為黑色*/
window(1,1,80,25); /*恢復原窗口大小*/
gotoxy(10,21); /*移動游標*/
do{printf("\n make by wenwei");
printf("\n Enter you choice(0~13):"); /*在菜單窗口外顯示提示信息*/
scanf("%s",s); /*輸入選擇項*/
c=atoi(s); /*將輸入的字元串轉化為整形數*/
}while(c<0||c>14); /*選擇項不在0~14之間重輸*/
return c; /*返回選擇項,主程序根據該數調用相應的函數*/
}
STUDENT *init()
{ clrscr();
return NULL;
}
/*創建鏈表*/
STUDENT *create()
{
int i; int s;
STUDENT *h=NULL,*info; /* STUDENT指向結構體的指針*/
clrscr();
for(;;)
{
info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!info) /*如果指針info為空*/
{
printf("\nout of memory"); /*輸出內存溢出*/
return NULL; /*返回空指針*/
}
inputs("enter no:",info->no,11); /*輸入學號並校驗*/
if(info->no[0]=='@') { clrscr();break; } /*如果學號首字元為@則結束輸入,清屏後返回*/
inputs("enter name:",info->name,15); /*輸入姓名,並進行校驗*/
printf("please input %d score \n",N); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i<N;i++) /*N門課程循環N次*/
{
do{
printf("score%d:",i+1); /*提示輸入第幾門課程*/
scanf("%d",&info->score[i]); /*輸入成績*/
if(info->score[i]>100||info->score[i]<0) /*確保成績在0~100之間*/
printf("bad data,repeat input\n"); /*出錯提示信息*/
}while(info->score[i]>100||info->score[i]<0);
s=s+info->score[i]; /*累加各門課程成績*/
}
info->sum=s; /*將總分保存*/
info->average=(float)s/N; /*求出平均值*/
info->order=0; /*未排序前此值為0*/
info->next=h; /*將頭結點做為新輸入結點的後繼結點*/
h=info; /*新輸入結點為新的頭結點*/
clrscr();
}
return(h); /*返回頭指針*/
}
/*輸入字元串,並進行長度驗證*/
inputs(char *prompt, char *s, int count)
{
char p[255];
do{
printf(prompt); /*顯示提示信息*/
scanf("%s",p); /*輸入字元串*/
if(strlen(p)>count)printf("\n too long! \n"); /*進行長度校驗,超過count值重輸入*/
}while(strlen(p)>count);
strcpy(s,p); /*將輸入的字元串拷貝到字元串s中*/
}
/*輸出鏈表中結點信息*/
void print(STUDENT *h)
{
int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
clrscr(); /*清屏*/
p=h; /*初值為頭指針*/
printf("\n\n\n*********************************STUDENT************************************\n");
printf("|rec|nO | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|---|----------|---------------|----|----|----|----|--------|--------|-----|\n");
while(p!=NULL) /*只要p不是尾結點,就輸出記錄*/
{
i++;
printf("|%3d|%-10s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6.2f | %3d |\n", i, p->no,p->name,p->score[0],p->score[1],p->score[2],p->score[3],p->sum,p->average,p->order);
p=p->next;
}
printf("***********************************end**************************************\n");
getch(); /*輸入任一鍵返回主菜單*/
clrscr(); /*清屏*/
}
/*刪除記錄*/
STUDENT *delete(STUDENT *h)
{
STUDENT *p,*q; /*p為查找到要刪除的結點指針,q為其前驅指針*/
char s[12]; /*存放學號*/
char *pass="wenwei28";
char a[20],b=NULL;
int i=0;
clrscr();
printf("Input your password:");
while((i<20)&&(b!='\r'))
{ b=getch(); /*無回顯輸入*/
if(b==8)
{ if(i>0)
{a[--i]=NULL;
putchar(8); /*退格鍵*/
putchar(' '); /*以空格代替*/
putchar(8);
}
else putchar(7); /*沒有任何字元的退格,響鈴警告*/
}
else if(b!='\r')
{ a[i++]=b; /*只要不是退格和回車就接受*/
putchar('*');
}
else
{a[i]=NULL; break; /*密碼輸入完了,記得加個NULL到後面*/
}
}
if(strcmp(a,pass)!=0)
{clrscr();
printf("Password is mistake Tow seconds to return!");
sleep(2);clrscr();return h;
}
else {printf("Password is OK! Welcome to come!"); sleep(3);
}
clrscr(); /*清屏*/
printf("please deleted no\n"); /*顯示提示信息*/
scanf("%s",s); /*輸入要刪除記錄的學號*/
q=p=h; /*給q和p賦初值頭指針*/
while(strcmp(p->no,s)&&p!=NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{
q=p; /*將p指針值賦給q作為p的前驅指針*/
p=p->next; /*將p指針指向下一條記錄*/
}
if(p==NULL) /*如果p為空,說明鏈表中沒有該結點*/
{ printf("\nlist no %s student\n",s);sleep(2);clrscr();return h;}
else /*p不為空,顯示找到的記錄信息*/
{
printf("*********************************have found********************************\n");
printf("|no | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");
printf("|------------|---------------|----|----|----|----|--------|--------|-----|\n");
printf("|%-12s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6-5.2f | %3d |\n", p->no,
p->name,p->score[0],p->score[1],p->score[ q=p; /*保存當前結點的指針,作為下一結點的前驅*/
p=p->next; /*指針後移,新讀入數據鏈到當前表尾*/
}
q->next=NULL; /*最後一個結點的後繼指針為空*/
fclose(fp); /*關閉文件*/
printf("---You have success read data from file!!!---\n");
getch(); /*按任意鍵返回主菜單*/
clrscr();
return h; /*返回頭指針*/
}
/*成績統計*/
void computer(STUDENT *h)
{
STUDENT *p,*t,*q; /*定義移動指針*/
float saverage[N]={0}; /*均分初值為0*/
int i;
clrscr();
for (i=0;i<N;i++)
{ int n=0,j=0; /*保存記錄條數初值為0*/
long s=0; /*總分初值為0*/
p=h; /*從頭指針開始*/
while(p!=NULL) /*當p不為空時處理*/
{
s+=p->score[i]; /*累加總分*/
j++; /*統計記錄條數*/
p=p->next; /*指針後移*/
h; /*返回頭指針
}

Ⅵ 設計一個簡單的學生成績管理系統(用C#Windows窗體做,資料庫用access)

這個可以做 需要做的聯系

Ⅶ 學生成績管理系統,要求滿足如下要求

而且這個系統雖然不大,但是後台和資料庫需要考慮因素太多,所以基本是沒人無償為你做的………………

Ⅷ 數據結構課程設計-學生成績管理系統的設計

好像沒有數據結構的 你試試c++語言面向對象程序設計課程設計
這個網站能免費下幾個,不能免費下的就要收費了
本站免費計算機課程設計論文下載
本人原創計算機類課程設計免費下載,銷售計算機畢業論文
請把我的網站介紹給同學們.謝謝支持本站
ACCESS課程設計庫存管理工資管理系統 sqlserver資料庫課程設計 c++語言面向對象程序設計課程設計 vb課程設計學生成績系統
asp留言板(沒有論文) 計算機實訓計算機組裝與維護課程設計
簡單的網頁設計沒有論文 office課程設計 操作系統課程設計
另有以上沒有列出的計算機課程設計為收費材料30元一份 更多

Ⅸ JAVA程序設計 學生成績管理系統(資料庫版)

那個不好意思,我來當壞人吧,沒人會鳥你的,這世界好人沒人想的那麼多,最簡單的自己在網路搜一個,但是一般資料庫或者jdk版本會不兼容,還有你的懸賞太少了,根本沒有人會來回答的,我建議你還自己堆起來吧,這個不難,只是堆代碼而已,現在eclipse都可以拖放swing部件了

熱點內容
電信無線路由器官方密碼是什麼 發布:2025-07-03 16:25:00 瀏覽:772
空間只能申請訪問 發布:2025-07-03 16:23:27 瀏覽:735
華碩天選2air配置如何選擇 發布:2025-07-03 16:10:09 瀏覽:571
asp搜索源碼 發布:2025-07-03 15:49:55 瀏覽:235
醫美大資料庫 發布:2025-07-03 15:47:07 瀏覽:357
c語言將二進制轉化為十進制 發布:2025-07-03 15:32:47 瀏覽:988
c語言幫助文檔 發布:2025-07-03 15:22:43 瀏覽:320
雙埠存儲器在情況下會發生讀寫沖突 發布:2025-07-03 15:12:54 瀏覽:271
快站資料庫 發布:2025-07-03 14:45:44 瀏覽:40
jsp獲取上傳文件路徑 發布:2025-07-03 14:44:46 瀏覽:569