欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當(dāng)前位置:首頁(yè) > 軟件開(kāi)放 > 正文內(nèi)容

學(xué)生成績(jī)管理系統(tǒng)html源碼(成績(jī)管理系統(tǒng)源代碼)

軟件開(kāi)放2年前 (2023-01-23)1011

今天給各位分享學(xué)生成績(jī)管理系統(tǒng)html源碼的知識(shí),其中也會(huì)對(duì)成績(jī)管理系統(tǒng)源代碼進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!

本文目錄一覽:

求學(xué)生成績(jī)管理系統(tǒng)的源代碼

#include?stdio.h

#include?stdlib.h

#define?FILENAME?"student.dat"

typedef?enum{MAN,?WOMAN}?SEX;

typedef?struct?tagStudent

{

int?num; //學(xué)生的編號(hào)

char?name[20]; //學(xué)生的姓名

SEX sex; //學(xué)生的性別

int?age; //學(xué)生的年齡

char?major[20]; //學(xué)生的專業(yè)

struct?tagStudent?*next;//下一個(gè)節(jié)點(diǎn)的指針

}STUDENT,?*PSTUDENT;

STUDENT?g_head; //頭節(jié)點(diǎn)

//1.顯示菜單

void?ShowMenu();

//2.獲取用戶選擇的菜單的編號(hào)

int?GetMenuChoose();

//3.創(chuàng)建一個(gè)節(jié)點(diǎn),它會(huì)返回一個(gè)新創(chuàng)建的學(xué)生信息節(jié)點(diǎn)的指針

PSTUDENT?CreateStudent();

//4.把學(xué)生信息節(jié)點(diǎn)加入到鏈表中

int?AddStudent(PSTUDENT?pstu);

//5.返回指定編號(hào)學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)的指針

PSTUDENT?GetPrevAddr(int?num);

//6.顯示所有學(xué)生信息

void?ShowAll();

//7.顯示信息數(shù)量

int?ShowStudentCount();

//8.修改學(xué)生信息,參數(shù)為要修改的學(xué)生的編號(hào)

void?ModityStudent(int?num);

//9.獲取用戶的選擇

int?Question(const?char?*pstr);

//10.獲取用戶輸入的學(xué)生的編號(hào)

int?GetInputNum();

//11.刪除編號(hào)為num的學(xué)生信息

void?DelStudent(int?num);

//12.刪除所有的學(xué)生信息

void?DelAll();

//13.把學(xué)生信息保存到文件當(dāng)中

void?SaveToFile();

//14.從文件中讀取學(xué)生信息

void?LoadFromFile();

int?main()

{

int?running?=?1;

while(running)

{

switch(GetMenuChoose())

{

case?0:

running?=?0;

break;

case?1:

// printf("你選擇了菜單1\n");

AddStudent(CreateStudent());

break;

case?2:

// printf("你選擇了菜單2\n");

DelStudent(GetInputNum());

break;

case?3:

printf("你選擇了菜單3\n");

break;

case?4:

// printf("你選擇了菜單4\n");

ModityStudent(GetInputNum());

break;

case?5:

// printf("你選擇了菜單5\n");

DelAll();

break;

case?6:

// printf("你選擇了菜單6\n");

ShowAll();

break;

case?7:

// printf("你選擇了菜單7\n");

ShowStudentCount();

break;

case?8:

// printf("你選擇了菜單8\n");

LoadFromFile();

break;

case?9:

// printf("你選擇了菜單9\n");

SaveToFile();

break;

}

system("pause");

}

return?0;

}

//1.顯示菜單

void?ShowMenu()

{

system("cls");

printf("-----------------------------學(xué)生管理系統(tǒng)--------------------------------\n");

printf("\n\t1.添加學(xué)生信息????2.刪除某個(gè)學(xué)生信息????3.顯示某個(gè)學(xué)生信息\n");

printf("\t4.修改學(xué)生信息????5.刪除所有學(xué)生信息????6.顯示所有學(xué)生信息\n");

printf("\t7.顯示信息數(shù)量????8.讀取文件學(xué)生信息????9.保存學(xué)生信息至文件\n");

printf("\t0.退出系統(tǒng)\n");

printf("\n-------------------------------------------------------------------------\n");

}

//2.獲取用戶選擇的菜單的編號(hào)

int?GetMenuChoose()

{

int?num;//保存用戶選擇的菜單編號(hào)

ShowMenu();

printf("請(qǐng)選擇菜單(0?~?9):");

while(1?!=?scanf("%d",?num)?||?num??0?||?num??9)

{

ShowMenu();

printf("選擇菜單錯(cuò)誤,請(qǐng)重新選擇(0?~?9):");

fflush(stdin);//清空輸入緩沖區(qū)

}

return?num;

}

//3.創(chuàng)建一個(gè)節(jié)點(diǎn),它會(huì)返回一個(gè)新創(chuàng)建的學(xué)生信息節(jié)點(diǎn)的指針

PSTUDENT?CreateStudent()

{

int?sex;

PSTUDENT?pstu?=?(PSTUDENT)malloc(sizeof(STUDENT));//在堆內(nèi)存申請(qǐng)空間,存儲(chǔ)學(xué)生信息

if(!pstu)

{

printf("申請(qǐng)內(nèi)存空間失敗!\n");

return?NULL;

}

printf("請(qǐng)輸入學(xué)生的編號(hào)(整型):");

while(1?!=?scanf("%d",?pstu-num)?||?GetPrevAddr(pstu-num))

{

printf("學(xué)生編號(hào)輸入錯(cuò)誤或已經(jīng)存在,請(qǐng)重新輸入學(xué)生的編號(hào)(整型):");

fflush(stdin);

}

printf("請(qǐng)輸入學(xué)生的姓名(小于20字符):");

scanf("%20s",?pstu-name);//(*pstu).name

printf("請(qǐng)選擇學(xué)生的性別(1.男??2.女):");

while(1?!=?scanf("%d",?sex)?||?sex??1?||?sex??2)

{

printf("性別選擇錯(cuò)誤,請(qǐng)重新選擇學(xué)生的性別(1.男??2.女):");

fflush(stdin);

}

if(1?==?sex)

pstu-sex?=?MAN;

else

pstu-sex?=?WOMAN;

printf("請(qǐng)輸入學(xué)生的年齡(10?~?40):");

while(1?!=?scanf("%d",?pstu-age)?||?pstu-age??10?||?pstu-age??40)

{

printf("年齡輸入錯(cuò)誤!請(qǐng)重新輸入學(xué)生的年齡(10?~?40):");

fflush(stdin);

}

printf("請(qǐng)輸入學(xué)生的專業(yè)(小于20字符):");

scanf("%20s",?pstu-major);

pstu-next?=?NULL;

return?pstu;

}

//4.把學(xué)生信息節(jié)點(diǎn)加入到鏈表中

int?AddStudent(PSTUDENT?pstu)

{

PSTUDENT?ps?=?g_head;

if(!pstu)

{

return?0;

}

//判斷一下該學(xué)生信息是不是已經(jīng)存在

if(GetPrevAddr(pstu-num))

{

printf("編號(hào)為%d的學(xué)生信息已經(jīng)存在!\n",?pstu-num);

free(pstu);//釋放該節(jié)點(diǎn)內(nèi)存空間

return?0;

}

//while循環(huán)的作用是找到當(dāng)前鏈表的最后一個(gè)節(jié)點(diǎn)

while(ps-next)

ps?=?ps-next;

//把新節(jié)點(diǎn)加入到最后那個(gè)節(jié)點(diǎn)的后面

ps-next?=?pstu;

pstu-next?=?NULL;

return?1;

}

//5.返回指定編號(hào)學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)的指針

PSTUDENT?GetPrevAddr(int?num)

{

PSTUDENT?pstu?=?g_head;

while(pstu-next)

{

if(pstu-next-num?==?num)

return?pstu;

pstu?=?pstu-next;

}

return?NULL;

}

//6.顯示所有學(xué)生信息

void?ShowAll()

{

PSTUDENT?pstu?=?g_head;

printf("--------------------------------------------------------------------\n");

printf("??編號(hào)????????姓名????????????性別?????年齡???????????????專業(yè)\n");

printf("--------------------------------------------------------------------\n");

while(pstu-next)

{

printf("??%-8d??",?pstu-next-num);

printf("%-20s",?pstu-next-name);

printf("%-6s",?pstu-next-sex?==?MAN???"男"?:?"女");

printf("%4d",?pstu-next-age);

printf("%20s\n",?pstu-next-major);

pstu?=?pstu-next;//讓指針指向下一個(gè)節(jié)點(diǎn)

}

printf("--------------------------------------------------------------------\n");

}

//7.顯示信息數(shù)量

int?ShowStudentCount()

{

int?count?=?0;

PSTUDENT?pstu?=?g_head;

while(pstu-next)

{

++count;

pstu?=?pstu-next;

}

printf("\n當(dāng)前共有%d位學(xué)生信息。\n",?count);

return?count;

}

//8.修改學(xué)生信息,參數(shù)為要修改的學(xué)生的編號(hào)

void?ModityStudent(int?num)

{

PSTUDENT?pstu?=?GetPrevAddr(num);//獲取要修改的學(xué)生節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)

int?choose;

if(!pstu)

{

printf("沒(méi)有編號(hào)為%d的學(xué)生信息。\n",?num);

return;

}

pstu?=?pstu-next;//將要修改的學(xué)員節(jié)點(diǎn)的指針改為指向自己的

printf("當(dāng)前學(xué)生的姓名為%s,",?pstu-name);

if(Question("確定要修改嗎?"))

{

printf("請(qǐng)輸入學(xué)生的姓名(小于20字符):");

scanf("%20s",?pstu-name);

}

printf("當(dāng)前學(xué)生的性別為%s,",?pstu-sex?==?MAN???"男"?:?"女");

if(Question("確定要修改嗎?"))

{

printf("請(qǐng)輸入學(xué)生的性別(1.男?2.女):");

while(1?!=?scanf("%d",?choose)?||?choose??1?||?choose??2)

{

printf("輸入錯(cuò)誤,請(qǐng)重新輸入學(xué)生的性別(1.男?2.女):");

fflush(stdin);

}

if(1?==?choose)

pstu-sex?=?MAN;

else

pstu-sex?=?WOMAN;

}

printf("當(dāng)前學(xué)生的年齡為%d,",?pstu-age);

if(Question("確定要修改嗎?"))

{

printf("請(qǐng)輸入學(xué)生的年齡(10?~?40):");

while(1?!=?scanf("%d",?pstu-age)?||?pstu-age??10?||?pstu-age??40)

{

printf("年齡輸入錯(cuò)誤!請(qǐng)重新輸入學(xué)生的年齡(10?~?40):");

fflush(stdin);

}

}

printf("當(dāng)前學(xué)生的專業(yè)為%s,",?pstu-major);

if(Question("確定要修改嗎?"))

{

printf("請(qǐng)輸入學(xué)生的專業(yè)(小于20字符):");

scanf("%20s",?pstu-major);

}

printf("修改完畢!\n");

}

//9.獲取用戶的選擇

int?Question(const?char?*pstr)

{

char?answer;

printf("%s請(qǐng)選擇(y?or?n):",?pstr);

while(1?!=?scanf("?%c",?answer)?||?(answer?!=?'y'??answer?!=?'n'))

{

printf("輸入錯(cuò)誤!%s請(qǐng)重新選擇(y?or?n):",?pstr);

fflush(stdin);//清空輸入緩沖區(qū),C庫(kù)函數(shù)

}

if('y'?==?answer)

return?1;

else

return?0;

}

//10.獲取用戶輸入的學(xué)生的編號(hào)

int?GetInputNum()

{

int?num;

printf("請(qǐng)輸入學(xué)生的編號(hào)(整型):");

while(1?!=?scanf("%d",?num))

{

printf("編號(hào)輸入錯(cuò)誤!請(qǐng)重新輸入學(xué)生的編號(hào)(整型):");

fflush(stdin);

}

return?num;

}

//11.刪除編號(hào)為num的學(xué)生信息

void?DelStudent(int?num)

{

PSTUDENT?pstu,?ptmp;

if(pstu?=?GetPrevAddr(num))

{

if(!Question("確定要?jiǎng)h除該學(xué)生信息嗎?"))

{

return;

}

ptmp?=?pstu-next;

pstu-next?=?ptmp-next;

free(ptmp);

printf("刪除了編號(hào)為%d的學(xué)生信息。\n",?num);

}

else

{

printf("沒(méi)有找到編號(hào)為%d的學(xué)生信息。\n",?num);

}

}

//12.刪除所有的學(xué)生信息

void?DelAll()

{

PSTUDENT?pstu?=?g_head.next,?ptmp;

int?count?=?0;

if(!Question("確定要?jiǎng)h除當(dāng)前所有的學(xué)生信息嗎?"))

{

return;

}

while(pstu)

{

ptmp?=?pstu;

pstu?=?pstu-next;

free(ptmp);

++count;

}

printf("共刪除了%d位學(xué)生信息。\n",?count);

g_head.next?=?NULL;

}

//13.把學(xué)生信息保存到文件當(dāng)中

void?SaveToFile()

{

FILE?*pf?=?fopen(FILENAME,?"wb");

PSTUDENT?pstu?=?g_head;

int?i?=?0,?count?=?ShowStudentCount();

if(!pf)

{

printf("打開(kāi)待寫(xiě)入的文件失??!\n");

return;

}

if(!Question("確定要將當(dāng)前學(xué)生信息保存到文件中嗎?"))

{

fclose(pf);

return;

}

fwrite(count,?1,?sizeof(count),?pf);//把學(xué)生信息的數(shù)量先寫(xiě)入到文件頭

while(pstu-next)

{

fwrite(pstu-next,?1,?sizeof(STUDENT),?pf);//把每位學(xué)生信息寫(xiě)入文件

++i;

pstu?=?pstu-next;

}

fclose(pf);

if(i?==?count)

{

printf("成功的寫(xiě)入了%d條學(xué)生信息。\n",?count);

}

else

{

printf("應(yīng)寫(xiě)入%d條學(xué)生信息,實(shí)際寫(xiě)入%d條學(xué)生信息。\n",?count,?i);

}

}

//14.從文件中讀取學(xué)生信息

void?LoadFromFile()

{

int?i,?count?=?0,?repeat?=?0;

FILE?*pf;

PSTUDENT?pstu;

printf("提示:從文件中讀取學(xué)生信息會(huì)詢問(wèn)是否清空當(dāng)前學(xué)生信息(不清空表示合并所有信息)。\n");

if((pf?=?fopen(FILENAME,?"rb"))?==?NULL)

{

printf("文件還沒(méi)有創(chuàng)建,請(qǐng)手工輸入學(xué)生信息并保存吧!\n");

return;

}

DelAll();//刪除之前的所有學(xué)生信息,然后從文件中讀取

fread(count,?1,?sizeof?count,?pf);//獲取學(xué)生信息的數(shù)量

for(i?=?0;?i??count;?++i)

{

pstu?=?(PSTUDENT)malloc(sizeof(STUDENT));

fread(pstu,?1,?sizeof(STUDENT),?pf);

if(!AddStudent(pstu))

{

++repeat;//保持有多少個(gè)和當(dāng)前鏈表中相重復(fù)的學(xué)生信息

}

}

fclose(pf);

printf("文件讀取完畢!新增學(xué)生信息%d條。\n",?count?-?repeat);

}

這個(gè)累死我了,我要財(cái)富值。。。為了這個(gè)不容易啊

C語(yǔ)言實(shí)現(xiàn) 學(xué)生成績(jī)管理系統(tǒng)(超詳細(xì)) 內(nèi)附源碼

#includestdio.h

#includestring.h

#includestdlib.h

#includeconio.h

#define N 50//定義的學(xué)生數(shù)組的個(gè)數(shù)

#define M 1//定義的管理員數(shù)組的個(gè)數(shù)

int k;//錄入學(xué)生的個(gè)數(shù)

char read_door[20];//讀取文件的"門(mén)"

void Add_data(int flag);//增加數(shù)據(jù)

void Count_score(int flag);//求平均成績(jī)和總成績(jī)

void Delete_data(int flag);//根據(jù)學(xué)號(hào)刪除對(duì)應(yīng)學(xué)生的成績(jī)

int Landing(int key);//登錄程序

void Load_data();//載入數(shù)據(jù)

void Updata_stu(int flag);

void Read_bigdoor(char *b);

void Rank_score(int way, int flag);//按照需求對(duì)對(duì)應(yīng)的成績(jī)排序

void Read_data(char read_door);//讀取數(shù)據(jù)

void Read_door();//讀取"門(mén)"值

void Read_main_flag(int *a);

void Read_k();

void Save_bigdoor(char *b);

void Save_data(int flag);//保存數(shù)據(jù)

void Save_door();//保存"門(mén)"值

void Save_main_flag(int *a);

void Save_k(int k);

void Screen_rank();

void Screen_search();

void Screen_stu();

void Screen_teacher();

void Screen_stu_teach();

void Screen_onlyteach();

void Search_data(int way, int flag);//按學(xué)號(hào)或姓名查找查找

static struct STUDENT//學(xué)生的信息

{

char num[10];

char name[10];

float score[3];

float sum;

float aver;

int rank[4];

}stu[N];

static struct TEACHER//教師的登錄賬號(hào)和密碼

{

char num[10];

char code[10];

}teach[M] = { "18061124","991228" };

int main()

{

char bigdoor ='n';//教師可通過(guò)bigdoor控制學(xué)生的權(quán)限

char *c=bigdoor;

int order1, order2, order3;//order為用戶登錄的指令

int door1, door2, door3;

printf ("請(qǐng)輸入管理員登錄指令:\n");

gets(read_door);

if (strcmp(read_door,"Lu Chen")==0)

{

printf("歡迎使用,您目前是擁有最高權(quán)限的管理員,請(qǐng)輸入您的賬號(hào)和密碼:\n\n");

printf("\n\n\n");

Screen_onlyteach();

door1 = Landing(1);

if (door1 == 2)

{

printf("\n賬號(hào)或密碼不正確");

return 0;

}

}

else

{

Screen_stu_teach();

printf("請(qǐng)輸入序號(hào)即選擇登錄選項(xiàng):");

scanf("%d", order1);

printf("\n\n");

door1 = Landing(order1);//door1確定用戶的權(quán)限

switch (door1)//提示用戶輸入出錯(cuò)

{

case 1:

case 3: break;

case 2:printf("\n輸入的賬號(hào)或密碼有誤"); return 0;

case 4:printf("\n輸入的號(hào)碼有誤"); return 0;

}

}

if (door1 == 1)//老師界面

{

int flag = 0;

int *p=flag;

char teach_read_key;

printf("\n是否讀取數(shù)據(jù)?(y/n):");

scanf("%*c%c",teach_read_key);

if(teach_read_key=='y')

{

Read_k();

? ? Read_door();

Read_main_flag(p);

Read_data(read_door[20]);

}

printf("\n\n");

for (int count = 1; count 0; count++)//利用死循環(huán)來(lái)重復(fù)使用功能

{

Screen_teacher();

printf("\n請(qǐng)輸入序號(hào)即選擇登錄選項(xiàng):");

scanf("%d", order2);

printf("\n\n");

if (order2 == 10)

break;

switch (order2)

{

case 1:

{

Load_data();

flag=1;

Save_main_flag(p);

Save_k(k);

}break;

case 2:Updata_stu(flag); break;

case 3:

{

Screen_search();

printf("請(qǐng)輸入你想查詢成績(jī)的方式:");

scanf("%d", door2);

Search_data(door2, flag);

}break;

case 4:Add_data(flag);break;

case 5:Delete_data(flag);break;

case 6:

{

Screen_rank();

printf("請(qǐng)輸入成績(jī)序號(hào)來(lái)選擇排序:");

scanf("%d", door2);

Rank_score(door2, flag);

} break;

case 7:

{

Save_data(flag);

Save_door();

Save_k(k);

} break;

case 8:

{

bigdoor ='n';

Save_bigdoor(c);

}break;

case 9:

{

bigdoor ='y';

Save_bigdoor(c);

? }break;

default:printf("您輸入的序號(hào)有誤!\n\n");

}

}

}

else//學(xué)生界面

{

Read_k();

Read_data('y');

for (int k = 1; k 0; k++)

{

Screen_stu();

printf("請(qǐng)輸入下一步操作的序號(hào):");

scanf("%d", order3);

if (order3 == 3)

break;

switch (order3)

{

case 1:

{

Screen_search();

printf("請(qǐng)輸入你想查詢成績(jī)的方式");

scanf("%d", door3);

Search_data(door3, 1);

}break;

case 2:

{

Screen_rank();

printf("請(qǐng)輸入成績(jī)序號(hào)來(lái)選擇排序:");

scanf("%d", door3);

Rank_score(door3, 1);

}break;

default:printf("輸入的操作序號(hào)有誤\n\n");

}

}

}

return 0;

}

int Landing(int key)//登錄程序

{

char num[10];

char code[10];

if (key == 1)

{

printf("請(qǐng)輸入賬號(hào):");

scanf("%s", num);

printf("\n請(qǐng)輸入密碼:");

scanf("%s", code);

for (int i = 0; i M; i++)

if (strcmp(teach[i].num, num) == 0 strcmp(teach[i].code, code) == 0)//判斷登陸賬號(hào)和密碼是否正確

return 1;

else

return 2;

}

else if (key == 2)

{

return 3;

}

else

{

return 4;

}

}

void Search_data(int way, int flag)//按學(xué)號(hào)或姓名查找查找

{

int Search_flag = 1;

if (flag)

{

char num[10], name[10];

int i;

if (way == 1)

{

printf("\n請(qǐng)輸入學(xué)號(hào):");

scanf("%s", num);

for (i = 0; i k; i++)

{

if (strcmp(stu[i].num, num) == 0)//判斷學(xué)號(hào)存不存在

{

printf("\n姓名:%s\n學(xué)號(hào):%s\nsubject1:%f\nsubject2:%f\nsubject3:%f\nsum:%f\naver:%f\n", stu[i].name, stu[i].num, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].sum, stu[i].aver);

Search_flag = 0;

break;

}

}

if (Search_flag)

printf("\n您輸入的學(xué)號(hào)有誤\n");

}

else if (way == 2)

{

printf("\n請(qǐng)輸入姓名:");

scanf("%s", name);

for (i = 0; i N; i++)

{

if (strcmp(stu[i].name, name) == 0)//判斷姓名存不存在

{

printf("\n姓名:%s\n學(xué)號(hào):%s\nsubject1:%f\nsubject2:%f\nsubject3:%f\nsum:%f\naver:%f\n", stu[i].name, stu[i].num, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].sum, stu[i].aver);

flag = 0;

break;

}

}

if (flag)

printf("\n輸入的姓名有誤\n");

}

else

printf("\n輸入的序號(hào)有誤\n");

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Count_score(int flag)//求平均成績(jī)和總成績(jī)

{

if (flag)

{

for (int i = 0; i k; i++)

{

stu[i].sum = stu[i].score[0] + stu[i].score[1] + stu[i].score[2];

stu[i].aver = stu[i].sum / 3;

}

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Load_data()//載入數(shù)據(jù)

{

printf("輸入錄入學(xué)生成績(jī)個(gè)數(shù):");

scanf("%d", k);

for (int i = 0; i k; i++)

{

scanf("%s%s%f%f%f", stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]);

Count_score(1);

}

}

void Rank_score(int way, int flag)//按照需求對(duì)對(duì)應(yīng)的成績(jī)排序

{

int i, j, n, temp;

if (flag)

{

for (i = 0; i 4; i++)

for (j = 0; j k; j++)

stu[j].rank[i] = j + 1;

if (way == 1)

{

for (i = 0; i 3; i++)

for (j = 0; j k; j++)

for (n = j + 1; n k; n++)

if (stu[j].score[i] stu[n].score[i])

{

temp = stu[j].rank[i];

stu[j].rank[i] = stu[n].rank[i];

stu[n].rank[i] = temp;

}

printf("\n");

for (i = 0; i k; i++)

printf("姓名:%s 學(xué)號(hào):%s subject1:%d subject2:%d subject3:%d\n", stu[i].name, stu[i].num, stu[i].rank[0], stu[i].rank[1], stu[i].rank[2]);

}

else if (way == 2)

{

for (j = 0; j k; j++)

for (n = j + 1; n k; n++)

if (stu[j].sum stu[n].sum)

{

temp = stu[j].rank[3];

stu[j].rank[3] = stu[n].rank[3];

stu[n].rank[3] = temp;

}

printf("\n");

for (i = 0; i k; i++)

printf("姓名:%s 學(xué)號(hào):%s sum: %d\n", stu[i].name, stu[i].num, stu[i].rank[3]);

}

else

{

printf("\n輸入的序號(hào)有誤\n");

}

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Delete_data(int flag)//根據(jù)學(xué)號(hào)刪除對(duì)應(yīng)學(xué)生的成績(jī)

{

if (flag)

{

int i, j;

char num[10];

printf("\n請(qǐng)輸入您想要?jiǎng)h除信息的學(xué)號(hào):");

scanf("%s", num);

for (i = 0; i k; i++)

{

if (strcmp(stu[i].num, num) == 0)

for (j = i + 1; j k; j++)

{

stu[i] = stu[j];

Count_score(1);

}

}

k--;

Save_k(k);

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Updata_stu(int flag)//根據(jù)學(xué)號(hào)修改學(xué)生的成績(jī)

{

int Updata_flag = 1;

if (flag)

{

char num[10];

float subject1, subject2, subject3;

printf("\n請(qǐng)輸入您想要修改學(xué)生的學(xué)號(hào):");

scanf("%s", num);

printf("\n請(qǐng)輸入您想要更改的學(xué)生三科的成績(jī):");

scanf("%f%f%f", subject1, subject2, subject3);

for (int i = 0; i k; i++)

if (strcmp(stu[i].num, num) == 0)

{

stu[i].score[0] = subject1;

stu[i].score[1] = subject2;

stu[i].score[2] = subject3;

Updata_flag = 0;

Count_score(1);

}

if (Updata_flag)

{

printf("\n輸入學(xué)號(hào)有誤\n");

}

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Save_data(int flag)//保存數(shù)據(jù)

{

if(flag)

{

FILE *fp;

if((fp=fopen("load.txt","w"))==NULL)

{

printf("Save_data error!");

exit(0);

}

for(int i=0;ik;i++)

{

fwrite(stu[i],sizeof(STUDENT),1,fp);

}

fclose(fp);

printf("成功保存數(shù)據(jù)!\n\n");

read_door[20]='y';

}

else

{

printf("\n您還沒(méi)有載入數(shù)據(jù)\n");

}

}

void Read_data(char read_door)//讀取數(shù)據(jù)

{

if(read_door=='y')

{

FILE *fp;

if((fp=fopen("load.txt","r"))==NULL)

{

printf("Read_data error!");

exit(0);

}

for(int i=0;ik;i++)

{

fread(stu[i],sizeof(STUDENT),1,fp);

}

fclose(fp);

}

else

{

printf("\n沒(méi)有保存數(shù)據(jù)的記錄\n");

}

}

void Save_door()//保存"門(mén)"值

{

FILE *fp;

if((fp=fopen("door.txt","w"))==NULL)

{

printf("Save_door error!");

exit(0);

}

fputc(read_door[20],fp);

fclose(fp);

}

void Read_door()//讀取"門(mén)"值

{

FILE *fp;

if((fp=fopen("door.txt","r"))==NULL)

{

printf("Read_door error!");

exit(0);

}

read_door[20]=fgetc(fp);

fclose(fp);

}

void Save_main_flag(int *a)

{

FILE *fp;

if((fp=fopen("flag.txt","w"))==NULL)

{

printf("Save_main_flag error!");

exit(0);

}

fprintf(fp,"%d",*a);

fclose(fp);

}

void Read_main_flag(int *a)

{

FILE *fp;

if((fp=fopen("flag.txt","r"))==NULL)

{

printf("Read_main_flag error!");

exit(0);

}

fscanf(fp,"%d",a);

fclose(fp);

}

void Save_bigdoor(char *b)

{

FILE *fp;

if((fp=fopen("bigdoor.txt","w"))==0)

{

printf("Save_bigdoor error!");

exit(0);

}

fputc(*b,fp);

fclose(fp);

}

void Read_bigdoor(char *b)

{

FILE *fp;

if((fp=fopen("bigdoor.txt","r"))==0)

{

printf("Read_bigdoor error!");

exit(0);

}

*b=fgetc(fp);

fclose(fp);

}

void Save_k(int k)

{

FILE *fp;

if((fp=fopen("k.txt","w"))==0)

{

printf("Save_k error!");

exit(0);

}

fprintf(fp,"%d",k);

fclose(fp);

}

void Read_k()

{

FILE *fp;

if((fp=fopen("k.txt","r"))==0)

{

printf("Read_k error!");

exit(0);

}

fscanf(fp,"%d",k);

fclose(fp);

}

void Add_data(int flag)//增加數(shù)據(jù)

{

int i, j,count=k;

char num[10], name[10];

float subject1, subject2, subject3;

if (flag)

{

printf("\n輸入您想增加的數(shù)據(jù)條數(shù):");

scanf("%d", i);

for (j = 0; j i; j++)

{

printf("\n輸入增加的學(xué)生學(xué)號(hào),姓名,三門(mén)科目成績(jī)");

scanf("%s%s%f%f%f", num, name, subject1, subject2, subject3);

strcpy(stu[count + j].num, num);

strcpy(stu[count+ j].name, name);

stu[count+ j].score[0] = subject1;

stu[count + j].score[1] = subject2;

stu[count+ j].score[2] = subject3;

k++;

Count_score(1);

}

Save_k(k);

}

else

{

printf("\n輸入您想增加的數(shù)據(jù)條數(shù):");

scanf("%d", i);

for (j = 0; j i; j++)

{

printf("\n輸入增加的學(xué)生學(xué)號(hào),姓名,三門(mén)科目成績(jī)");

scanf("%s%s%f%f%f", num, name, subject1, subject2, subject3);

strcpy(stu[j].num, num);

strcpy(stu[j].name, name);

stu[j].score[0] = subject1;

stu[j].score[1] = subject2;

stu[j].score[2] = subject3;

k++;

Count_score(1);

}

}

}

void Screen_search()//查詢界面

{

printf("*****************學(xué)生成績(jī)查詢界面*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ①? 學(xué)生學(xué)號(hào)查詢? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ②? 學(xué)生姓名查詢? ? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

void Screen_rank()//成績(jī)排名方式界面

{

printf("*****************學(xué)生成績(jī)排名界面*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ①? ? subject? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ②? ? ? sum? ? ? ? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

void Screen_teacher()

{

printf("*****************教師管理操作界面*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ①? ? 數(shù)據(jù)載入? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ②? ? 修改數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ③? ? 查詢數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ④? ? 添加數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑤? ? 刪除數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑥? ? 成績(jī)排序? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑦? ? 保存數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑧? ? 學(xué)生限制? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑨? ? 學(xué)生開(kāi)放? ? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ⑩? ? ? 退出? ? ? ? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

void Screen_stu_teach()

{

printf("*****************學(xué)生成績(jī)管理系統(tǒng)*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ① 教師管理員登錄? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ②? 學(xué)生端登錄? ? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

void Screen_onlyteach()

{

printf("*****************教師登陸操作界面*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ① 教師管理員登錄? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

void Screen_stu()

{

printf("*****************學(xué)生用戶操作界面*******************\n\n\n");

printf("——————————————————————————\n");

printf("|? ? ? ? ? ? ? ①? 學(xué)生成績(jī)查詢? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ②? 成績(jī)排名查詢? ? ? ? ? ? ? ? ? ? |\n");

printf("|? ? ? ? ? ? ? ③? ? ? 退出? ? ? ? ? ? ? ? ? ? ? ? |\n");

printf("——————————————————————————\n");

}

以上內(nèi)容僅是本人通過(guò)多方瀏覽網(wǎng)上資料,自己敲出來(lái)的。

如有問(wèn)題,大家可以在評(píng)論區(qū)下方留言!??!

本人已親測(cè),可用

學(xué)生成績(jī)管理系統(tǒng)代碼

#includeiostream

#includestring

#includefstream

#includecstdlib

#includeiomanip

using namespace std;

class student

{ private:

char name[20]; //姓名

double cpro,english,math,sport,law,hbpro,computer;//課程

int order, number; //名次,學(xué)號(hào)

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" 歡迎進(jìn)入**學(xué)生成績(jī)管理系統(tǒng)**!"endl;

cout" ******************************************"endl;

cout" **** 學(xué)生成績(jī)管理系統(tǒng) ****"endl;

cout" ******************************************"endl;

cout" **************************"endl;

cout" **0、輸入數(shù)據(jù) **"endl;

cout" **1、增加數(shù)據(jù) **"endl;

cout" **2、修改數(shù)據(jù) **"endl;

cout" **3、按姓名查詢 **"endl;

cout" **4、按學(xué)號(hào)查詢 **"endl;

cout" **5、輸出所有學(xué)生的成績(jī) **"endl;

cout" **6、退出系統(tǒng) **"endl;

cout" **************************"endl;

cout" 選擇0-6數(shù)字進(jìn)行操作"endl;

char p;char w;

student *s[50]; //指針對(duì)象,最多存50個(gè)學(xué)生數(shù)據(jù)

ofstream *file[50]; //負(fù)責(zé)對(duì)文件插入操作

int i=0;

int j=0;

int flag=0;

do //flag判斷輸入是否有效

{

cinp;

if((p='0'p='6'))

flag=1;

else

cout" 指令錯(cuò)誤!請(qǐng)重新輸入:"endl;

}while(flag==0);

do{

switch(p) //接收功能選項(xiàng)

{

case '0': //輸入數(shù)據(jù)

{

char c;

char name[20];int number;double cpro,english,math,sport,law,hbpro,computer;

do{

cout" 請(qǐng)輸入姓名:";

cinname;

coutendl" 請(qǐng)輸入學(xué)號(hào):";

cinnumber;

cout" 請(qǐng)輸入C++成績(jī):";

cincpro;

coutendl" 請(qǐng)輸入英語(yǔ)成績(jī):";

cinenglish;

coutendl" 請(qǐng)輸入數(shù)學(xué)成績(jī):";

cinmath;

coutendl" 請(qǐng)輸入體育成績(jī):";

cinsport;

coutendl" 請(qǐng)輸入網(wǎng)絡(luò)基礎(chǔ)成績(jī):";

cinlaw;

coutendl" 請(qǐng)輸入C語(yǔ)言成績(jī):";

cinhbpro;

coutendl" 請(qǐng)輸入數(shù)據(jù)庫(kù)成績(jī):";

cincomputer;

coutendl;

file[j]=new ofstream("D:\document",ios::ate);

*file[j]" 姓名 "name" 學(xué)號(hào) "number" C++成績(jī) "cpro

" 英語(yǔ)成績(jī) "english" 數(shù)學(xué)成績(jī) "math" 體育成績(jī) "

sport" 網(wǎng)絡(luò)基礎(chǔ)成績(jī) "law" C成績(jī) "hbpro" 數(shù)據(jù)庫(kù)成績(jī) "computerendl;

j++;

s[i]=new student(name, number,cpro,english,math,sport,law,hbpro,computer);

i++;

cout" 數(shù)據(jù)輸入成功,想繼續(xù)輸入嗎(y/n):";

cinc;

coutendl;

do

{

if(c!='y'c!='n')

{

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl" ";

cinc;

}

else

flag=1;

}while(flag==0);

}while(c=='y');

break;

}

case '1': //增加數(shù)據(jù)

{

char name[20];

int number;double cpro,english,math,sport,law,hbpro,computer;

char c;

do

{

cout" 請(qǐng)輸入您要增加的學(xué)生的姓名:";

cinname;

coutendl" 請(qǐng)輸入學(xué)號(hào):";

cinnumber;

coutendl" 請(qǐng)輸入C++成績(jī):";

cincpro;

coutendl" 請(qǐng)輸入英語(yǔ)成績(jī):";

cinenglish;

coutendl" 請(qǐng)輸入數(shù)學(xué)成績(jī):";

cinmath;

coutendl" 請(qǐng)輸入體育成績(jī):";

cinsport;

coutendl" 請(qǐng)輸入網(wǎng)絡(luò)基礎(chǔ)成績(jī):";

cinlaw;

coutendl" 請(qǐng)輸入C語(yǔ)言成績(jī):";

cinhbpro;

coutendl" 請(qǐng)輸入數(shù)據(jù)庫(kù)成績(jī):";

cincomputer;

coutendl;

file[j]=new ofstream("d:\document",ios::ate);

*file[j]" 姓名 "name" 學(xué)號(hào) "number" C++成績(jī) "cpro" 英語(yǔ)成績(jī) "english" 數(shù)學(xué)成績(jī) "math" 體育成績(jī) "sport" 網(wǎng)絡(luò)基礎(chǔ)成績(jī) "law" C成績(jī) "hbpro" 數(shù)據(jù)庫(kù)成績(jī) "computerendl;

j++;

s[i]=new student(name, number, cpro,english,math,sport,law,hbpro,computer);

i++;

cout" 數(shù)據(jù)輸入成功,想繼續(xù)數(shù)入嗎(y/n):";

cinc;

coutendl;

if(c!='y'c!='n')

{

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl" ";

cinc;

}

}while(c=='y');

break;

}

case '2': //修改數(shù)據(jù)

{

char name[20];int nu;double cc,eng,ma,sp,l,hb,com;flag=0;

char c;

if(i==0)

{

cout" 管理系統(tǒng)中沒(méi)有輸入數(shù)據(jù)!"endl;break;

}

do

{

cout" 請(qǐng)輸入您要修改的學(xué)生的姓名:";

cinname;

coutendl;

for(int h=0;hi;h++) //h紀(jì)錄要修改學(xué)生的位置

{

if(strcmp(name,s[h]-name)==0)

{

flag=1;

cout" 請(qǐng)輸入新的學(xué)號(hào):";

cinnu;

coutendl" 請(qǐng)輸入C++成績(jī):";

cincc;

coutendl" 請(qǐng)輸入英語(yǔ)成績(jī):";

cineng;

coutendl" 請(qǐng)輸入數(shù)學(xué)成績(jī):";

cinma;

coutendl" 請(qǐng)輸入體育成績(jī):";

cinsp;

coutendl" 請(qǐng)輸入網(wǎng)絡(luò)基礎(chǔ)成績(jī):";

cinl;

coutendl" 請(qǐng)輸入C語(yǔ)言成績(jī):";

cinhb;

coutendl" 請(qǐng)輸入數(shù)據(jù)庫(kù)成績(jī):";

cincom;

coutendl;

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" 數(shù)據(jù)修改成功!"endl;

}

}

if(flag==0)

{

cout" 您要修改的學(xué)生本來(lái)就不存在!請(qǐng)檢查重新輸入!"endl;

}

cout" 想繼續(xù)修改嗎(y/n):";

cinc;

coutendl;

if(c!='y'c!='n')

{

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl" ";

cinc;

}

}while(c=='y');

break;

}

case '3': //按姓名查詢

{

char n[20];int j=0;char c;

if(i==0)

{

cout" 管理系統(tǒng)中沒(méi)有輸入數(shù)據(jù)!"endl;break;

}

do{

int flag=0;

cout" 請(qǐng)輸入你要查詢的學(xué)生姓名:";

cinn;

coutendl;

for(int j=0;ji;j++)

{

if(strcmp(n,(*s[j]).name)==0)

{

flag=1;

cout" 您要查詢的學(xué)生是:"(*s[j]).nameendl;

cout(*s[j]).name"的成績(jī)是: "" C++: "(*s[j]).cpro" 英語(yǔ): "(*s[j]).english" 數(shù)學(xué):"(*s[j]).math" 體育:"(*s[j]).sport" 法律:"(*s[j]).law" C:"(*s[j]).hbpro" 數(shù)據(jù)庫(kù) "(*s[j]).computerendl;

}

}

if(flag==0)

cout" 對(duì)不起!您要查詢的學(xué)生不存在!"endl;

cout" 您想繼續(xù)查詢嗎?(y/n):";

cinc;

coutendl;

if(c!='y'c!='n')

{

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl;

cinc;

}

}

while(c=='y');

break;

}

case '4': //按學(xué)號(hào)查詢

{

int n,j=0;char c;

if(i==0){

cout" 管理系統(tǒng)中沒(méi)有輸入數(shù)據(jù)!"endl;break;

}

do{

int flag=0;

cout" 請(qǐng)輸入你要查詢的學(xué)生的學(xué)號(hào):";

cinn;

coutendl;

for(int j=0;ji;j++)

{

if(s[j]-number==n)

{

flag=1;

cout" 您要查詢的學(xué)生是:"(*s[j]).nameendl;

cout(*s[j]).name"的成績(jī)是: "" C++:"(*s[j]).cpro" 英語(yǔ):"(*s[j]).english" 數(shù)學(xué):"(*s[j]).math" 體育:"(*s[j]).sport" 法律:"(*s[j]).law" C:"(*s[j]).hbpro" 數(shù)據(jù)庫(kù) "(*s[j]).computerendl;

}

}

if(flag==0)

cout" 對(duì)不起!您要查詢的學(xué)生不存在!"endl;

cout" 您想繼續(xù)查詢嗎?(y/n):";

cinc;

coutendl;

if(c!='y'c!='n')

{

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl;

cinc;

}

}

while(c=='y');

break;

}

case '5': //輸出

{

cout" 本系統(tǒng)所有學(xué)生數(shù)據(jù)如下:"endl;

if(i==0)

cout" 管理系統(tǒng)中沒(méi)有輸入數(shù)據(jù)!"endl;

cout" 姓名 學(xué)號(hào) c++ 英語(yǔ) 數(shù)學(xué) 體育 網(wǎng)絡(luò)基礎(chǔ) C語(yǔ)言 數(shù)據(jù)庫(kù) "endl;

for(int k=0;ki;k++)

{

couts[k]-namesetw(7)s[k]-numbersetw(6)

(*s[k]).cprosetw(6)(*s[k]).englishsetw(6)

(*s[k]).mathsetw(6)(*s[k]).sportsetw(7)

(*s[k]).law setw(10)(*s[k]).hbprosetw(10)(*s[k]).computersetw(10)endl;

}

break;

}

case'6'://退出

{exit(0); cout"Bye bye!"endl;}

}

cout" 您想繼續(xù)進(jìn)行其他操作嗎?(y/n):";

int flag=0;

do

{

cinw;

coutendl;

if(w!='y'w!='n')

cout" 指令錯(cuò)誤!請(qǐng)重新輸入!"endl;

else

flag=1;

}while(flag==0);

if(w=='y')

cout" 請(qǐng)輸入操作代碼:0 輸入數(shù)據(jù)"endl;

cout" 1 增加數(shù)據(jù)"endl;

cout" 2 修改數(shù)據(jù)"endl;

cout" 3 按姓名查詢"endl;

cout" 4 按學(xué)號(hào)查找"endl;

cout" 5 輸出所有學(xué)生成績(jī)"endl;

cout" 6 退出系統(tǒng)"endl;

cinp;

}while(w=='y');

}

學(xué)生成績(jī)管理系統(tǒng)論文+分析(要有源代碼的)

對(duì)于一所學(xué)校來(lái)說(shuō),如何利用計(jì)算機(jī)改變每次考試結(jié)束后老師們統(tǒng)計(jì)大量的學(xué)生成績(jī)時(shí)的繁重任務(wù)?如何消除因時(shí)間緊所產(chǎn)生的統(tǒng)計(jì)結(jié)果錯(cuò)誤百出?設(shè)計(jì)出學(xué)生成績(jī)管理系統(tǒng)就是一個(gè)很好的解決方法。

本文通過(guò)用VB面向?qū)ο蟮木幊汰h(huán)境編寫(xiě)學(xué)生成績(jī)管理系統(tǒng),利用軟件工程原理,采用生命周期方法學(xué),根據(jù)3NF的關(guān)系模式設(shè)計(jì)數(shù)據(jù)庫(kù)表,用模塊化設(shè)計(jì)方式將系統(tǒng)的各個(gè)功能模塊層層分解,設(shè)計(jì)出系統(tǒng)的模塊化結(jié)構(gòu),并根據(jù)系統(tǒng)的具體要求和需要實(shí)現(xiàn)的功能,詳細(xì)地定義了各個(gè)模塊的具體功能。

開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面,實(shí)現(xiàn)了學(xué)生成績(jī)數(shù)據(jù)庫(kù)的創(chuàng)建及學(xué)生成績(jī)的輸入、瀏覽、維護(hù)和統(tǒng)計(jì),使得系統(tǒng)具有功能強(qiáng)大,界面友好的特點(diǎn)。

在設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)過(guò)程中,得到了各位老師的指導(dǎo),在此表示感謝。由于本人水平有限,程序中不足之處在所難免,敬請(qǐng)各位老師批評(píng)指正。

關(guān)鍵字: 成績(jī)管理,軟件工程,vb6.0

Abstract

In will it be information age now, quickening , life of speed, make people more and more to informationize , is it develop to digitize, the management information system (MIS ) is a collection , transmission , system stored , processed , maintained and used that be able to carry on information made up of person , computer ,etc., can replace a large amount of , miscellaneous and done by hand of the past . To a school, How utilize computer change each examination teacher count a large number of student strenuous task at the score? How dispel because time full of mistakes statistics produced closely? Designing student's achievement administrative system is a very good solution. This text, through writing student's achievement administrative system with vb target -oriented programming environment, Utilize the soft project principle, adopt the cycle method of the life to study , design the database form according to the relation mode of 3NF, resolve each systematic function module ring upon ring with module design, design systematic module structure, and according to concrete to demand and function that need realize of system, have defined the concrete function of each module in detail .

Develop two respects of main development including setting-up and maintenance and front application program of backstage supporter's database , have realized the establishment of student's achievement database and introduction of student's achievement, had a look around, maintaining and counting , is it have the characteristics that powerful , an interface is friendly systematically to make.

In the course of designing student's achievement administrative system , have got the guidance of king's prosperous teacher, express thanks here. Because one's own level is limited, the weak point is unavoidable in the procedure, please offer a teacher make a comment.

Key word: The achievement is managed, soft project , vb6.0

目 錄

第一章 畢業(yè)設(shè)計(jì)正文 .

1.1 管理信息系統(tǒng)概述和VB介紹

1.2 方案論證

1.2.1 實(shí)現(xiàn)功能…………………………………………………………………………...

1.2.2 功能與模塊的設(shè)計(jì)……………………………………………………………… ..

1.2.3 數(shù)據(jù)庫(kù)的設(shè)計(jì)…………………………………………………………………… ..

1.3 過(guò)程論述

1.3.1 登陸流程圖……………………………………………………………………… ..

1.3.2 登陸界面流程圖………………………………………………………………… ..

1.3.3 主界面流程圖…………………………………………………………………… ..

1.3.4 學(xué)生數(shù)據(jù)處理流程……………………………………………………………… ..

1.3.5 課程與成績(jī)處理流程圖………………………………………………………… ..

1.3.5 課程管理………………………………………………………………………… ..

1.3.5 查詢流程圖……………………………………………………………………… ..

1.4 結(jié)論和總結(jié)

第二章 致謝

第三章 附錄(計(jì)算機(jī)程序等內(nèi)容)

3.1 數(shù)據(jù)庫(kù)連接模塊...….……………………………………………………………… ..

3.2 登陸界面與代碼…….…………………………...………………………………… ..

3.3 主界面與代碼……………………………………………………………………… ..

3.4 用戶管理界面與代碼……………………………………………………………… ..

3.5學(xué)生管理源代碼………………………………………………………………………

3.6學(xué)生查詢?cè)创a………………………………………………………………………

3.7 學(xué)生選課源代碼…………………………………………………………………… ..

第四章 參考文獻(xiàn)

我選擇了Visual Basic+ADO+ACCESS來(lái)開(kāi)發(fā)整個(gè)系統(tǒng)。

1.2.1、 實(shí)現(xiàn)功能:

(1) 能夠?yàn)g覽學(xué)生成績(jī)的所有信息

(2) 能夠?qū)W(xué)生的信息注冊(cè)登記管理

(3) 學(xué)生成績(jī)資料的數(shù)據(jù)庫(kù)建立和管理

(4) 能夠通過(guò)學(xué)生的一個(gè)信息找到個(gè)人成績(jī)的相關(guān)信息(例如:知道學(xué)生的學(xué)號(hào)能夠找到該學(xué)生的所有有關(guān)的成績(jī)信息)

(5) 通過(guò)一條信息找到與之匹配的信息(例如:查詢同一專業(yè)的所有人員)

(6) 相關(guān)人員能對(duì)包含學(xué)生的成績(jī)信息進(jìn)行管理(因?yàn)閷W(xué)生有關(guān)情況不是固定不變的所以一旦學(xué)生信息發(fā)生改變就要對(duì)原有信息進(jìn)行諸如添加,刪除,修改等的操作)

(7) 多用戶數(shù)據(jù)安全管理,保證各部門(mén)的數(shù)據(jù)安全、完整,對(duì)每個(gè)使用本系統(tǒng)用戶進(jìn)行權(quán)限的設(shè)置

(8) 簡(jiǎn)易操作,不需要計(jì)算機(jī)專業(yè)人員。

(9) 學(xué)生成績(jī)添加、刪除和修改,包括學(xué)生的學(xué)號(hào)、姓名、課程名稱、學(xué)分、成績(jī)

(10) 成績(jī)查詢,查詢條件為學(xué)生學(xué)號(hào)、姓名、課程名稱等信息的綜合查詢,允許管理員模糊查詢,查詢結(jié)果以圖表形式列出 學(xué)生信息查詢,查詢條件為學(xué)生學(xué)號(hào)、姓名、身份證號(hào)等信息的綜合查詢,查詢結(jié)果以圖表形式列出

(11) 用戶管理:設(shè)置兩個(gè)級(jí)別用戶:管理員和普通用戶,管理員有權(quán)限使用1~5的功能,普通用戶只能使用3和4的功能,用戶使用本系統(tǒng)之前必須先通過(guò)身份認(rèn)證(用戶級(jí)別、用戶名和密碼,密碼輸入有次數(shù)限制,連續(xù)三次輸入錯(cuò)誤密碼則鎖定該用戶)

查看全文:

學(xué)生成績(jī)管理系統(tǒng)html源碼的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于成績(jī)管理系統(tǒng)源代碼、學(xué)生成績(jī)管理系統(tǒng)html源碼的信息別忘了在本站進(jìn)行查找喔。

掃描二維碼推送至手機(jī)訪問(wèn)。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.landcheck.net/post/5105.html

“學(xué)生成績(jī)管理系統(tǒng)html源碼(成績(jī)管理系統(tǒng)源代碼)” 的相關(guān)文章

app開(kāi)發(fā)費(fèi)用一覽表(app開(kāi)發(fā)費(fèi)用一覽表下載)

app開(kāi)發(fā)費(fèi)用一覽表(app開(kāi)發(fā)費(fèi)用一覽表下載)

今天給各位分享app開(kāi)發(fā)費(fèi)用一覽表的知識(shí),其中也會(huì)對(duì)app開(kāi)發(fā)費(fèi)用一覽表下載進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、手機(jī)app開(kāi)發(fā)費(fèi)用 2、app開(kāi)發(fā)費(fèi)用一覽表 3、開(kāi)發(fā)app所需的各種費(fèi)用有哪些? 4、開(kāi)發(fā)一個(gè)app需多少錢(qián) 5、a...

蘋(píng)果手機(jī)軟件開(kāi)發(fā)(蘋(píng)果手機(jī)軟件開(kāi)發(fā)者選項(xiàng)在哪里打開(kāi))

蘋(píng)果手機(jī)軟件開(kāi)發(fā)(蘋(píng)果手機(jī)軟件開(kāi)發(fā)者選項(xiàng)在哪里打開(kāi))

本篇文章給大家談?wù)勌O(píng)果手機(jī)軟件開(kāi)發(fā),以及蘋(píng)果手機(jī)軟件開(kāi)發(fā)者選項(xiàng)在哪里打開(kāi)對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、開(kāi)發(fā)蘋(píng)果app需掌握什么開(kāi)發(fā)工具? 2、蘋(píng)果手機(jī)怎么信任軟件開(kāi)發(fā)者 3、在蘋(píng)果手機(jī)開(kāi)發(fā)一款app軟件大概需要多少錢(qián) 4、蘋(píng)果手機(jī)開(kāi)發(fā)者選項(xiàng)在...

做軟件需要多少錢(qián)(做軟件需要花多少錢(qián))

做軟件需要多少錢(qián)(做軟件需要花多少錢(qián))

今天給各位分享做軟件需要多少錢(qián)的知識(shí),其中也會(huì)對(duì)做軟件需要花多少錢(qián)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、做一個(gè)app要多少錢(qián)? 2、做一個(gè)APP要花多少錢(qián)? 3、做個(gè)app軟件大約多少錢(qián)? 做一個(gè)app要多少錢(qián)? 大概在3~5萬(wàn)元左右,一...

廈門(mén)軟件開(kāi)發(fā)(廈門(mén)軟件開(kāi)發(fā)工資待遇)

廈門(mén)軟件開(kāi)發(fā)(廈門(mén)軟件開(kāi)發(fā)工資待遇)

今天給各位分享廈門(mén)軟件開(kāi)發(fā)的知識(shí),其中也會(huì)對(duì)廈門(mén)軟件開(kāi)發(fā)工資待遇進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、廈門(mén)的軟件公司那些比較好的? 2、在廈門(mén)開(kāi)發(fā)一款A(yù)PP軟件的流程是怎么樣的? 3、廈門(mén)紫云高科技公司地址 4、廈門(mén)軟件開(kāi)發(fā),廈門(mén)軟件開(kāi)...

免費(fèi)網(wǎng)站建設(shè)(免費(fèi)建站系統(tǒng)哪個(gè)好)

免費(fèi)網(wǎng)站建設(shè)(免費(fèi)建站系統(tǒng)哪個(gè)好)

本篇文章給大家談?wù)劽赓M(fèi)網(wǎng)站建設(shè),以及免費(fèi)建站系統(tǒng)哪個(gè)好對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、如何給自己免費(fèi)建設(shè)一個(gè)網(wǎng)站 2、自己如何免費(fèi)做網(wǎng)站 3、自己手機(jī)怎么免費(fèi)做網(wǎng)站 如何給自己免費(fèi)建設(shè)一個(gè)網(wǎng)站 很多人都想建立一個(gè)自己的網(wǎng)站,但如果是用作商業(yè)的網(wǎng)...

怎么創(chuàng)建網(wǎng)站(怎么建網(wǎng)站)

怎么創(chuàng)建網(wǎng)站(怎么建網(wǎng)站)

本篇文章給大家談?wù)勗趺磩?chuàng)建網(wǎng)站,以及怎么建網(wǎng)站對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、如何創(chuàng)建自己的網(wǎng)站平臺(tái) 2、怎樣自己創(chuàng)建一個(gè)網(wǎng)站? 3、怎么創(chuàng)建網(wǎng)站 4、怎么建網(wǎng)站呀! 5、怎么創(chuàng)建一個(gè)自己的網(wǎng)站 如何創(chuàng)建自己的網(wǎng)站平臺(tái) 創(chuàng)建自己的網(wǎng)站平臺(tái)...