當前位置:首頁 » 考試成績 » 用於記錄學生成績的邏輯結構

用於記錄學生成績的邏輯結構

發布時間: 2021-03-15 18:01:33

❶ 現有有N個學生的數據記錄,每個記錄包括學號,姓名,三科成績. 利用結構體記錄學生成績. C語言題目問題

我改成了
typedef struct STU
{
char num[80];
char name[80];
int grade1;
int grade2;
int grade3;
}STU;
就對了。

❷ 建立一個學生的結構記錄,包括學號,姓名和成績.

你沒有建立學生的結構體類型的變數。不符合題意要求。

❸ 建立一個有3個學生成績的結構記錄,包括學號,姓名和3門課程成績。(網上都是有計算平均分的,我這道題

#include<stdio.h>

constintMAXSIZE=3;

structstudent{
intnum;
charname[20];
doublescores[5];
};

intmain(){
inti,j;
structstudentarr[MAXSIZE];
for(i=0;i<MAXSIZE;++i){
scanf("%d%s",&arr[i].num,arr[i].name);
arr[i].scores[3]=0;//總成績
for(j=0;j<3;++j){
scanf("%lf",&arr[i].scores[j]);
arr[i].scores[3]+=arr[i].scores[j];
}
arr[i].scores[4]=arr[i].scores[3]/3;//平均成績
}
for(i=0;i<MAXSIZE;++i){
printf("%d %s ",arr[i].num,arr[i].name);
for(j=0;j<5;++j)
printf("%.2lf ",arr[i].scores[j]);
printf(" ");
}
return0;
}

❹ 一道程序設計題:學生記錄由學號、姓名、成績組成(學號、成績都為整數),使用結構體數組

做個簡單的示意,如下:

#include<stdio.h>

#define N 10

struct stu
{
int no;
char name[20];
int score;
};

int main()
{
int i;
struct stu students[N]={\ //這里可以繼續添加學生信息,注意不要超過總數N
{1, "zhangsan", 100},\
{2, "lisi", 90}\
};

printf("學號\t姓名\t成績\n");
for(i=0; i<2; i++) //這里改成實際學生個數
{
printf("%d\t%s\t%d\n", students[i].no, students[i].name, students[i].score);
}
return 0;
}

❺ 學生記錄由姓名、三門成績和平均分構成。定義一個結構來體現這種記錄。並完成下列功能(子函數)

已調通,大致功能相當
#include <stdio.h>
#include <stdlib.h> /*其它說明*/
#include <string.h> /*字元串函數*/
#include <time.h>

#define LEN sizeof(STUDENT)
typedef struct stu /*定義結構體數組用於緩存數據*/
{
char num[6];
char name[5];
int score[3];
int sum;
float average;
int order;
struct stu *next;
}STUDENT;

/*初始化函數*/
STUDENT *Init()
{
return NULL; /*返回空指針*/
}

/*菜單選擇函數*/
int Menu_Select()
{
int n;
struct tm *pt; /*定義時間結構體*/
time_t t;

t=time(NULL);
pt=localtime(&t); /*讀取系統日期並把它放到結構體中*/
printf("\n按任一鍵進入主菜單...... \n"); /*按任一鍵進入主菜單*/
//getch(); /*從鍵盤讀取一個字元,但不顯示於屏幕*/
system("pause");
system("cls"); /*清屏*/
printf("********************************************************************************\n");
printf("\t\t 歡迎 Welcome to\n");
printf("\n\t\t\t 使用學生管理系統1.0\n");
printf("*************************************MENU***************************************\n");
printf("\t\t\t1. 輸入學生成績記錄 Enter the record\n"); /*輸入學生成績記錄*/
printf("\t\t\t2. 顯示 Print the record\n"); /*顯示*/
printf("\t\t\t3. 尋找 Search record on name\n"); /*尋找*/
printf("\t\t\t4. 刪除 Delete a record\n"); /*刪除*/
printf("\t\t\t5. 排序 Sort to make New a file\n"); /*排序*/
printf("\t\t\t6. 插入 Insert record to list\n"); /*插入*/
printf("\t\t\t7. 保存 Save the file\n"); /*保存*/
printf("\t\t\t8. 讀取 Load the file\n"); /*讀取*/
printf("\t\t\t9. 退出 Quit\n"); /*退出*/
printf("\n********************************************************************************\n");
printf("\t\t\t\t當前系統日期:%d-%d-%d\n",pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday); /*顯示當前系統日期*/
do
{
printf("\n\t\t\t輸入你的選擇Enter your choice(1~9):");
fflush(stdin);
scanf("%d",&n);
}while(n<1||n>9); /*如果選擇項不在1~9之間則重輸*/
return(n); /*返回選擇項,主函數根據該數調用相應的函數*/
}

/*輸入函數*/
STUDENT *Create()
{
int i,s;
STUDENT *head=NULL,*p; /* 定義函數.此函數帶回一個指向鏈表頭的指針*/
system("cls");
for(;;)
{
p=(STUDENT *)malloc(LEN); /*開辟一個新的單元*/
if(!p) /*如果指針p為空*/
{
printf("\n輸出內存溢出. Out of memory."); /*輸出內存溢出*/
return (head); /*返回頭指針,下同*/
}
printf("輸入學號Enter the num(0:list end):");
scanf("%s",p->num);
if(p->num[0]=='0') break; /*如果學號首字元為0則結束輸入*/
printf("輸入名字Enter the name:");
scanf("%s",p->name);
printf("請輸入3門成績Please enter the %d scores\n",3); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i<3;i++) /*3門課程循環3次*/
{
do
{
printf("成績score%d:",i+1);
scanf("%d",&p->score[i]);
if(p->score[i]<0 || p->score[i]>100) /*確保成績在0~100之間*/
printf("數據錯誤,請重新輸入 Data error,please enter again.\n");
}while(p->score[i]<0 || p->score[i]>100);
s=s+p->score[i]; /*累加各門成績*/
}
p->sum=s; /*將總分保存*/
p->average=(float)s/3; /*先用強制類型轉換將s轉換成float型,再求平均值*/
p->order=0; /*未排序前此值為0*/
p->next=head; /*將頭結點做為新輸入結點的後繼結點*/
head=p; /*新輸入結點為新的頭結點*/
}
return(head);
}

/* 顯示全部記錄函數*/
void Print(STUDENT *head)
{
int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
system("cls");
p=head; /*初值為頭指針*/
printf("\n************************************STUDENT************************************\n");
printf("-------------------------------------------------------------------------------\n");
printf("| Rec | Num | Name | Sc1 | Sc2 | Sc3 | Sum | Ave | Order |\n");
printf("-------------------------------------------------------------------------------\n");
while(p!=NULL)
{
i++;
printf("| %3d | %4s | %-4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n",
i, p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
p=p->next;
}
printf("-------------------------------------------------------------------------------\n");
printf("**************************************END**************************************\n");
}

/*查找記錄函數*/
void Search(STUDENT *head)
{
STUDENT *p; /* 移動指針*/
char s[5]; /*存放姓名用的字元數組*/
system("cls");
printf("請輸入個姓名來查找. Please enter name for searching.\n");
scanf("%s",s);
p=head; /*將頭指針賦給p*/
while(strcmp(p->name,s) && p != NULL) /*當記錄的姓名不是要找的,或指針不為空時*/
p=p->next; /*移動指針,指向下一結點*/
if(p!=NULL) /*如果指針不為空*/
{
printf("\n*************************************FOUND************************************\n");
printf("-------------------------------------------------------------------------------\n");
printf("| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order |\n");
printf("-------------------------------------------------------------------------------\n");
printf("| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n",
p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
printf("-------------------------------------------------------------------------------\n");
printf("***************************************END**************************************\n");
}
else
printf("\n沒有該學生 There is no num %s student on the list.\n",s); /*顯示沒有該學生*/
}

/*刪除記錄函數*/
STUDENT *Delete(STUDENT *head)
{
//int n;
STUDENT *p1,*p2; /*p1為查找到要刪除的結點指針,p2為其前驅指針*/
char c,s[6]; /*s[6]用來存放學號,c用來輸入字母*/
system("cls");
printf("請輸入要刪除的學號 Please enter the Deleted num: ");
scanf("%s",s);
p1=p2=head; /*給p1和p2賦初值頭指針*/
while(strcmp(p1->num,s) && p1 != NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{
p2=p1; /*將p1指針值賦給p2作為p1的前驅指針*/
p1=p1->next; /*將p1指針指向下一條記錄*/
}
if(strcmp(p1->num,s)==0) /*學號找到了*/
{
printf("**************************************FOUND************************************\n");
printf("-------------------------------------------------------------------------------\n");
printf("| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order |\n");
printf("-------------------------------------------------------------------------------\n");
printf("| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n",
p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->sum,p1->average,p1->order);
printf("-------------------------------------------------------------------------------\n");
printf("***************************************END**************************************\n");
printf("\n是否要刪除,輸入Y刪除,N則退出\nAre you sure to Delete the student Y/N ?"); /*提示是否要刪除,輸入Y刪除,N則退出*/
for(;;)
{
scanf("%c",&c);
if(c=='n'||c=='N') break; /*如果不刪除,則跳出本循環*/
if(c=='y'||c=='Y')
{
if(p1==head) /*若p1==head,說明被刪結點是首結點*/
head=p1->next; /*把第二個結點地址賦予head*/
else
p2->next=p1->next; /*否則將一下結點地址賦給前一結點地址*/
//n=n-1;
printf("\n學號為(Num): %s 學生以被刪除(student have been Deleted.)\n",s);
printf("別忘了保存. Don't forget to Save.\n");break; /*刪除後就跳出循環*/
}
}
}
else
printf("\n沒有這個學生在表上\nThere is no num %s student on the list.\n",s); /*找不到該結點*/
return(head);
}

/*排序函數*/
STUDENT *Sort(STUDENT *head)
{
int i=0; /*保存名次*/
STUDENT *p1,*p2,*t,*temp; /*定義臨時指針*/
temp=head->next; /*將原表的頭指針所指的下一個結點作頭指針*/
head->next=NULL; /*第一個結點為新表的頭結點*/
while(temp!=NULL) /*當原表不為空時,進行排序*/
{
t=temp; /*取原表的頭結點*/
temp=temp->next; /*原表頭結點指針後移*/
p1=head; /*設定移動指針p1,從頭指針開始*/
p2=head; /*設定移動指針p2做為p1的前驅,初值為頭指針*/
while(t->average<p1->average&&p1!=NULL) /*作成績平均分比較*/
{
p2=p1; /*待排序點值小,則新表指針後移*/
p1=p1->next;
}
if(p1==p2) /*p1==p2,說明待排序點值大,應排在首位*/
{
t->next=p1; /*待排序點的後繼為p*/
head=t; /*新頭結點為待排序點*/
}
else /*待排序點應插入在中間某個位置p2和p1之間,如p為空則是尾部*/
{
t->next=p1; /*t的後繼是p1*/
p2->next=t; /*p2的後繼是t*/
}
}
p1=head; /*已排好序的頭指針賦給p1,准備填寫名次*/
while(p1!=NULL) /*當p1不為空時,進行下列操作*/
{
i++; /*結點序號*/
p1->order=i; /*將結點序號賦值給名次*/
p1=p1->next; /*指針後移*/
}
printf("排序成功 Sorting is sucessful.\n"); /*排序成功*/
return (head);
}

/*插入記錄函數*/
STUDENT *Insert(STUDENT *head,STUDENT *New)
{
STUDENT *p0,*p1,*p2;
//int n;
int sum1,i;
p1=head; /*使p1指向第一個結點*/
p0=New; /*p0指向要插入的結點*/
printf("\nPlease enter a New record.\n"); /*提示輸入記錄信息*/
printf("輸入學號Enter the num:");
scanf("%s",New->num);
printf("輸入名字Enter the name:");
scanf("%s",New->name);
printf("Please enter the %d scores.\n",3);
sum1=0; /*保存新記錄的總分,初值為0*/
for(i=0;i<3;i++)
{
do
{
printf("成績score%d:",i+1);
scanf("%d",&New->score[i]);
if(New->score[i]>100||New->score[i]<0)
printf("數據錯誤Data error,please enter again.\n");
}while(New->score[i]>100||New->score[i]<0);
sum1=sum1+New->score[i]; /*累加各門成績*/
}
New->sum=sum1; /*將總分存入新記錄中*/
New->average=(float)sum1/3;
New->order=0;
if(head==NULL) /*原來的鏈表是空表*/
{
head=p0;
p0->next=NULL;
} /*使p0指向的結點作為頭結點*/
else
{
while((p0->average<p1->average)&&(p1->next!=NULL))
{
p2=p1; /*使p2指向剛才p1指向的結點*/
p1=p1->next; /*p1後移一個結點*/
}
if(p0->average>=p1->average)
{
if(head==p1)head=p0; /*插到原來第一個結點之前*/
else p2->next=p0; /*插到p2指向的結點之後*/
p0->next=p1;
}
else
{
p1->next=p0;
p0->next=NULL;
} /*插到最後的結點之後*/
}
//n=n+1; /*結點數加1*/
head=Sort(head); /*調用排序的函數,將學生成績重新排序*/
printf("\n學生Student %s 已被更新have been inserted.\n",New->name);
printf("不要忘了保存Don't forget to Save the New file.\n");
return(head);
}

/*保存數據到文件函數*/
void Save(STUDENT *head)
{
FILE *fp; /*定義指向文件的指針*/
STUDENT *p; /* 定義移動指針*/
char outfile[10];
printf("輸出文件例如:c:\\score Enter outfile name,for example c:\\score\n");
scanf("%s",outfile);
if((fp=fopen(outfile,"w"))==NULL) /*為輸出打開一個二進制文件,為只寫方式*/
{
printf("打不開文件Cannot open the file\n");
return; /*若打不開則返回菜單*/
}
printf("\n保存中...Saving the file......\n");
p=head; /*移動指針從頭指針開始*/
while(p!=NULL) /*如p不為空*/
{
fwrite(p,LEN,1,fp); /*寫入一條記錄*/
p=p->next; /*指針後移*/
}
fclose(fp); /*關閉文件*/
printf("保存成功....Save the file successfully!\n");
}

/* 從文件讀數據函數*/
STUDENT *Load()
{
STUDENT *p1,*p2,*head=NULL; /*定義記錄指針變數*/
FILE *fp; /* 定義指向文件的指針*/
char infile[10];
printf("倒入文件例如:c:\\score Enter infile name,for example c:\\score\n");
scanf("%s",infile);
if((fp=fopen(infile,"r"))==NULL) /*打開一個二進制文件,為只讀方式*/
{
printf("打不開文件Can not open the file.\n");
return(head);
}
printf("\n尋找文件...Loading the file!\n");
p1=(STUDENT *)malloc(LEN); /*開辟一個新單元*/
if(!p1)
{
printf("內存溢出!Out of memory!\n");
return(head);
}
head=p1; /*申請到空間,將其作為頭指針*/
while(!feof(fp)) /*循環讀數據直到文件尾結束*/
{
if(fread(p1,LEN,1,fp)!=1) break; /*如果沒讀到數據,跳出循環*/
p1->next=(STUDENT *)malloc(LEN); /*為下一個結點開辟空間*/
if(!p1->next)
{
printf("Out of memory!\n");
return (head);
}
p2=p1; /*使p2指向剛才p1指向的結點*/
p1=p1->next; /*指針後移,新讀入數據鏈到當前表尾*/
}
p2->next=NULL; /*最後一個結點的後繼指針為空*/
fclose(fp);
printf("\n你成功的從文件中讀取了數據!\nYou have success to read data from the file!\n");
return (head);
}

/*主函數界面*/
int main()
{
STUDENT *head,New;
head=Init(); //鏈表初始化,使head的值為NULL
for(;;) //循環無限次
{
switch(Menu_Select())
{
case 1:head=Create();break;
case 2:Print(head);break;
case 3:Search(head);break;
case 4:head=Delete(head);break;
case 5:head=Sort(head);break;
case 6:head=Insert(head,&New);break; //&New表示返回地址
case 7:Save(head);break;
case 8:head=Load(); break;
case 9:exit(0); //如菜單返回值為9則程序結束
}
}

return 0;
}

❻ C語言用結構體方法輸入50個學生記錄,組成記錄數組,然後按成績由高到低輸出(每行10個記錄)

#define N 5
#include "stdio.h"
struct student
{ int num;
int score;
};
struct student s[N],temp;
void input()
{ int i;
for(i=0;i<N;i++)
{
printf("Enter number:");
scanf("%d",&s[i].num);
printf("Enter score:");
scanf("%d",&s[i].score);
}
}
void output()
{ int i;
for(i=0;i<N;i++)
{// if(i%10==0)//是不是想利用變數i來控制換行?
printf("num=%d\n,score=%d\n",s[i].num,s[i].score);
}
}
void main()
{ void input();
void output();
int i,j,b;
input();
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
if(s[i].score>s[j].score)
{temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
output();
}

調試正確

❼ 學生記錄由學號、姓名、成績組成(學號、成績都為整數),使用結構體數組

程序如下:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
typedef struct STUDENT{
int id;
char name[20];
int score;
}student[SIZE];
int cmp(const void *aa,const void *bb)
{
return((*(struct STUDENT*)aa).id-(*(struct STUDENT*)bb).id);
}
int main(){
student s;
int i,n;
printf("輸入學生人數:");
scanf("%d",&n);
printf("分別按學號、姓名、分數進行輸入\n");
for(i=0;i<n;i++){
scanf("%d%s%d",&s[i].id,s[i].name,&s[i].score);
}
qsort(s,n,sizeof(s[0]),cmp);
printf("按學號從小到大排序如下:\n");
for(i=0;i<n;i++){
printf("%d %s %d\n",s[i].id,s[i].name,s[i].score);
}
return 0;
}

❽ 某Excel2000數據清單,用來記錄學生的5門課程成績,現要找出5門課都不及格的同學數量使用什麼

用高級篩選一步搞掂。

請參見下圖(查有任意一門不及格的):
http://hi..com/jamiechen/album/item/82db54243be5e0314d088dfd.html#IMG=6bcfd6609117db75eaf8f826

對於你的這個問題,只需要把所有「<60」的條件改為放在一行上,即可!

有問題請Hi我。

❾ 題目:學生成績管理系統 功能:學生成績管理系統,每個學生是一個記錄,包括學號,姓名,性別,3門課程成

本論文敘述了我校學成績管理的現狀以及Visual basic6.0語言的概況。重點介紹了學生成績管理系統的實現過程:包括系統分析、 系統調查、 數據流程分析、功能設計、 資料庫設計、 系統物理配置方案、 系統實現、 系統測試和調試。本系統主要功能有用戶管理、學生注冊、班級信息錄入、學生信息錄入、班級課程錄入、學校專業信息錄入、課程信息錄入、學生成績錄入、教師信息錄入、數據。。。。。。。。。。。包括功能需求描述、資料庫設計等內容。第四章介紹了本系統的具體實現。第五章關於本系統開發過程中的結論及體會。

學生成績管理系統,功能,特點,論文內容。

This thesis describes my school the present condition of the score management and the general situation of the Visual basic6.0 languages .The point introced the student the result management system carries out the process 。。。。。。。。。 such as function request description and the database design...etc. .A concrete realization that introced this system .Chapter 5 concerning conclusion within this system development process and realize.

the Student result management system, function, characteristics, thesis contents

目 錄

摘要
.前言
第一章 引言

1.1 開發背景

1.2開發目標

1.3 項目提出的意義

1. 4 系統開發所用的技術准備
第二章 系統分析

2.1系統需求分析

2.1.1系統調查

2.1.2組織機構設置

2.1.3用戶需求

2.1.4系統業務流程圖

2.1.5系統設計思想

2.1.6系統設計分析

2.1.7系統功能分析

2.2新系統邏輯方案

2.2.1數據流圖(簡稱為DFD)

2.2.2數據字典

2.2.3新系統邏輯模型的提出

2.2.4系統邊界

第三章 系統設計

3.1學生成績查詢系統功能需求簡介
3.2功能需求描述
3.3系統目標要求

3.4系統平台選擇
3.5資料庫設計
3.5.1資料庫需求分析

3.5.2資料庫概念結構設計
3.5.3、邏輯結構設計(E-R圖向關系模型的轉換)

第四章 系統實施

4.1各子系統模塊程序設計舉例
4.2 軟體測試的目的和原則
4.3 子系統測試
4.4 軟體運行與轉換

第五章 結 論
致 謝
參考文獻

第一章 引 言
1.1 項目開發背景
幾年前,各個學校的學生成績管理基本上都是靠手工進行,隨著各個學校的規模增大,有關學生成績管理工作所涉及的數據量越來越大,有的學校不得不靠增加人力、物力來進行學生成績管理。但手工管理具有效率底、 。。。。。。。所以我想借本次畢業設計之際,開發一個不僅適用本校各系而且適用於其它各校的通用高校學生成績管理系統。

我選擇母校來設計這個系統主要有兩個原因:

一是:。。。。。。。報。

1.2 項目開發的目標
建立學生成績管理系統,採用計算機對學生成績進行管理,進一步提高辦學效益和現代化水平。幫助廣大教師提高工作效率,實現學生成績信息管理工作流程的系統化、規范化和自動化

1.3 項目提出的意義

現在我國的大中專院校的學生成績管理水平普遍不高,有的還停留在紙介質基礎上,這種管理手段已不能適應時代的發展,因為它浪費了了許多的人力和物力。在當今信息時代這種傳統的管理方法必然被計算機為基礎的信息管理系統所代替。如果本系統能被學校所採用,將會改變以前靠手工管理學生成績的狀況,可以樹立良好的辦學形象,提高工作效率。

1.4 系統開發所用的技術准備
1.4. 1資料庫技術的現狀與發展

資料庫是60年代末出現的一門計算機軟體技術,到現在雖然只有三十多年的歷史,但在理論和時間。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2、信息查詢流圖

使用人員

成績數據表

班級數據表

課程數據表

學生數據表

查詢條件

查詢結果

學生信息錄入

成績信息錄入

班級信息錄入

課程信息錄入

圖2-4 學生信息查詢流圖

3.1學生成績查詢系統功能需求簡介
學生成績查詢系統對學校加強學生成績管理有著極其重要的作用。由於各個大學都在持續擴招,學生的數量日益龐大,傳統的手工成績管理不僅工作量大,而且容易出現問題。
3.2功能需求描述
1、用戶管理功能

用戶分為管理員、教師用戶、學生用戶三類。不論是管理員或教師用戶,還是學生用戶都需要通過用戶名和口令進行登錄。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

按學生角度管理教師可以看到學生信息和成績信息。學生信息包括學號、姓名、班級、生日、性別、地址、電話和簡歷。當教師用滑鼠雙擊某一學生信息時,可以自動顯示出該課程的這個學生所有課程的學習成績,並同時自動計算出這個學生的總分和平均分。在成績信息中,教師可以對學習成績進行增加、修改和刪除。並能夠列印報表。

3、學生對成績的查看功能

學生用戶登錄後,學生可以看到自己的學生信息和成績信息。學生信息包括學號、姓名、班級、生日、性別、地址、電話和簡歷。成績信息包括這個學生的所有課程的成績信息。。。。。。。。。。。。。。。。。。。。。。。。。。

Private Sub CmdOk_Click()
Dim Conn As New ADODB.Connection
Dim mlink As String
mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;"
Conn.Open mlink
『當用戶名密碼為空時給出提示
If Text1.Text = "" Then
MsgBox "請。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
在frmlogin窗體中如果用戶登錄成功,將會出現如圖4-3所示的MDI主窗體。

4-3系統主窗體

若是學生用戶,則有些菜單項不可用,只能運行本系統的部分功能(即重新登錄和信息查詢功能可用)。如圖4-4

Option Explicit

『『『當改變記錄集時,需要刷新整個網格控制項

Sub RefreshGrid()

grdScan.DataMember = ""

grdScan.Refresh

If DataEnv.rssqlStudent.State <> adStateClosed Then DataEnv.rssqlStudent.Close

DataEnv.rssqlStudent.Open

grdScan.DataMember = "sqlStudent"

grdScan.Ref...

本論文敘述了我校學成績管理的現狀以及Visual basic6.0語言的概況。重點介紹了學生成績管理系統的實現過程:包括系統分析、 系統調查、 數據流程分析、功能設計、 資料庫設計、 系統物理配置方案、 系統實現、 系統測試和調試。本系統主要功能有用戶管理、學生注冊、班級信息錄入、學生信息錄入、班級課程錄入、學校專業信息錄入、課程信息錄入、學生成績錄入、教師信息錄入、數據。。。。。。。。。。。包括功能需求描述、資料庫設計等內容。第四章介紹了本系統的具體實現。第五章關於本系統開發過程中的結論及體會。

學生成績管理系統,功能,特點,論文內容。

This thesis describes my school the present condition of the score management and the general situation of the Visual basic6.0 languages .The point introced the student the result management system carries out the process 。。。。。。。。。 such as function request description and the database design...etc. .A concrete realization that introced this system .Chapter 5 concerning conclusion within this system development process and realize.

the Student result management system, function, characteristics, thesis contents

目 錄

摘要
.前言
第一章 引言

1.1 開發背景

1.2開發目標

1.3 項目提出的意義

1. 4 系統開發所用的技術准備
第二章 系統分析

2.1系統需求分析

2.1.1系統調查

2.1.2組織機構設置

2.1.3用戶需求

2.1.4系統業務流程圖

2.1.5系統設計思想

2.1.6系統設計分析

2.1.7系統功能分析

2.2新系統邏輯方案

2.2.1數據流圖(簡稱為DFD)

2.2.2數據字典

2.2.3新系統邏輯模型的提出

2.2.4系統邊界

第三章 系統設計

3.1學生成績查詢系統功能需求簡介
3.2功能需求描述
3.3系統目標要求

3.4系統平台選擇
3.5資料庫設計
3.5.1資料庫需求分析

3.5.2資料庫概念結構設計
3.5.3、邏輯結構設計(E-R圖向關系模型的轉換)

第四章 系統實施

4.1各子系統模塊程序設計舉例
4.2 軟體測試的目的和原則
4.3 子系統測試
4.4 軟體運行與轉換

第五章 結 論
致 謝
參考文獻

第一章 引 言
1.1 項目開發背景
幾年前,各個學校的學生成績管理基本上都是靠手工進行,隨著各個學校的規模增大,有關學生成績管理工作所涉及的數據量越來越大,有的學校不得不靠增加人力、物力來進行學生成績管理。但手工管理具有效率底、 。。。。。。。所以我想借本次畢業設計之際,開發一個不僅適用本校各系而且適用於其它各校的通用高校學生成績管理系統。

我選擇母校來設計這個系統主要有兩個原因:

一是:。。。。。。。報。

1.2 項目開發的目標
建立學生成績管理系統,採用計算機對學生成績進行管理,進一步提高辦學效益和現代化水平。幫助廣大教師提高工作效率,實現學生成績信息管理工作流程的系統化、規范化和自動化。

1.3 項目提出的意義

現在我國的大中專院校的學生成績管理水平普遍不高,有的還停留在紙介質基礎上,這種管理手段已不能適應時代的發展,因為它浪費了了許多的人力和物力。在當今信息時代這種傳統的管理方法必然被計算機為基礎的信息管理系統所代替。如果本系統能被學校所採用,將會改變以前靠手工管理學生成績的狀況,可以樹立良好的辦學形象,提高工作效率。

1.4 系統開發所用的技術准備
1.4. 1資料庫技術的現狀與發展

資料庫是60年代末出現的一門計算機軟體技術,到現在雖然只有三十多年的歷史,但在理論和時間。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2、信息查詢流圖

使用人員

成績數據表

班級數據表

課程數據表

學生數據表

查詢條件

查詢結果

學生信息錄入

成績信息錄入

班級信息錄入

課程信息錄入

圖2-4 學生信息查詢流圖

3.1學生成績查詢系統功能需求簡介
學生成績查詢系統對學校加強學生成績管理有著極其重要的作用。由於各個大學都在持續擴招,學生的數量日益龐大,傳統的手工成績管理不僅工作量大,而且容易出現問題。
3.2功能需求描述
1、用戶管理功能

用戶分為管理員、教師用戶、學生用戶三類。不論是管理員或教師用戶,還是學生用戶都需要通過用戶名和口令進行登錄。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

按學生角度管理教師可以看到學生信息和成績信息。學生信息包括學號、姓名、班級、生日、性別、地址、電話和簡歷。當教師用滑鼠雙擊某一學生信息時,可以自動顯示出該課程的這個學生所有課程的學習成績,並同時自動計算出這個學生的總分和平均分。在成績信息中,教師可以對學習成績進行增加、修改和刪除。並能夠列印報表。

3、學生對成績的查看功能

學生用戶登錄後,學生可以看到自己的學生信息和成績信息。學生信息包括學號、姓名、班級、生日、性別、地址、電話和簡歷。成績信息包括這個學生的所有課程的成績信息。。。。。。。。。。。。。。。。。。。。。。。。。。

Private Sub CmdOk_Click()
Dim Conn As New ADODB.Connection
Dim mlink As String
mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;"
Conn.Open mlink
『當用戶名密碼為空時給出提示
If Text1.Text = "" Then
MsgBox "請。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
在frmlogin窗體中如果用戶登錄成功,將會出現如圖4-3所示的MDI主窗體。

4-3系統主窗體

若是學生用戶,則有些菜單項不可用,只能運行本系統的部分功能(即重新登錄和信息查詢功能可用)。如圖4-4

Option Explicit

『『『當改變記錄集時,需要刷新整個網格控制項

Sub RefreshGrid()

grdScan.DataMember = ""

grdScan.Refresh

If DataEnv.rssqlStudent.State <> adStateClosed Then DataEnv.rssqlStudent.Close

DataEnv.rssqlStudent.Open

grdScan.DataMember = "sqlStudent"

grdScan.Ref...

熱點內容
武漢大學學生會輔導員寄語 發布: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