当前位置:文档之家› 学生成绩管理系统源代码

学生成绩管理系统源代码

学生成绩管理系统源代码
学生成绩管理系统源代码

#include

#include

#include

#include

#include

#include

#include

#include

#define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单\n\r");textcolor(10); getch();clrscr(); break;

int shoudsave=0;

struct student /* 学生信息结构体定义*/

{

char num[10],name[20],cla[4];

int score1,score2,score3,total,ave;

};

typedef struct node

{

struct student data;

struct node *next;

}Node,*L;

void print1()

{

cprintf("\r======================================================================= =========");

}

void print2()

{

cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n");

cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n");

cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n");

cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩.");

cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n");

cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存中.\n"); cprintf("\n\r 9.帮助学生成绩信息在这里你可以获得帮助信息.\n");

cprintf("\n\r 0.退出系统在这里选择是否保存后,你可以安全的退出本系统.\n\n\r ");

}

void menu()

{

cprintf("\n\r\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcb\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");

cprintf("\r\xba 学生信息导入\xba 学生信息处理\xba");

cprintf("\r\xba____________________________________\xba___________________________ _______________\xba");

cprintf("\r\xba 1-->输入学生成绩信息\xba 6-->学生成绩信息统计\xba");

cprintf("\r\xba 2-->注销学生成绩信息\xba 7-->显示学生成绩信息\xba");

cprintf("\r\xba 3-->查询学生成绩信息\xba 8-->保存学生成绩信息\xba");

cprintf("\r\xba 4-->修改学生成绩信息\xba 9-->帮助学生成绩信息\xba");

cprintf("\r\xba 5-->学生成绩信息排序\xba 0-->退出系统\xba");

cprintf("\r\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xca\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");

}

void wrong()

{

cprintf("\n\r输入错误!请验证后重新输入.\n");

}

void notfind()

{

cprintf("\n\r该学生信息不存在!请验证后重新输入.\n");

}

void printc() /* 此函数用于输出中文格式*/

{

cprintf("\r学号姓名班级英语数学C语言总分平均分\n ");

}

void printe(Node *p) /* 此函数用于输出英文格式*/

{

cprintf("\r%-4s%-4s%4s%5d%5d%8d%5d%7d\n\r",p->data.num,p->https://www.doczj.com/doc/427461466.html,,p->data.cla,p->dat a.score3,p->data.score2,p->data.score1,p->data.total,p->data.ave);

}

Node* Locate(L l,char findinfo[],char nameornum[]) /* 该函数用于定位连表中符合要求的接点,并返回该指针*/

{

Node *r;

if(strcmp(nameornum,"num")==0)

/* 按学号查询*/

{

r=l->next;

while(r!=NULL)

{

if(strcmp(r->data.num,findinfo)==0)

return r;

r=r->next;

}

}

else if(strcmp(nameornum,"name")==0) /* 按姓名查询*/

{

r=l->next;

while(r!=NULL)

{

if(strcmp(r->https://www.doczj.com/doc/427461466.html,,findinfo)==0)

return r;

r=r->next;

}

}

return 0;

}

void input(L l) /* 增加学生*/

{

Node *p,*r,*s;

char num[10];

r=l;

s=l->next;

while(r->next!=NULL)

r=r->next;

/* 将指针置于最末尾*/

while(1)

{ cprintf("\r如果输入完毕,请按任意键返回主菜单\n");

cprintf("\r如果你还想输入,请按y(yes)继续\n\r");

scanf("%s",num);

if(strcmp(num,"y")==0)

{ cprintf("请你输入学号:");

scanf("%s",num); } else break;

while(s)

{

if(strcmp(s->data.num,num)==0)

{

printf("\t学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);

print1();

printc();

printe(s);

print1();

printf("\n");

getch();

return;

}

s=s->next;

}

p=(Node *)malloc(sizeof(Node));

strcpy(p->data.num,num);

cprintf("\r请你输入姓名:");

scanf("%s",p->https://www.doczj.com/doc/427461466.html,);

getchar();

cprintf("\r请你输入班级:");

scanf("%s",p->data.cla);

getchar();

cprintf("\r请你输入c语言成绩(0-100):");

scanf("%d",&p->data.score1);

getchar();

cprintf("\r请你输入数学成绩(0-100):");

scanf("%d",&p->data.score2);

getchar();

cprintf("\r请你输入英语成绩(0-100):");

scanf("%d",&p->data.score3);

getchar();

p->data.total=p->data.score3+p->data.score1+p->data.score2;

p->data.ave=p->data.total / 3; /* 信息输入已经完成*/

p->next=NULL;

r=p;shoudsave=1;

}

}

void query(L l) /* 查询学生信息*/

{

int select;

char findinfo[20];

Node *p;

if(!l->next)

{

cprintf("\n 没有信息可以查询!\n");

return;

}

cprintf("\n1==>按学号查找\n\r2==>按姓名查找\n\r");

scanf("%d",&select);

if(select==1) /* 学号*/

{

cprintf("\r请你输入要查找的学号:");

scanf("%s",findinfo);

p=Locate(l,findinfo,"num");

if(p)

{

cprintf(" 查找结果\n\r");

print1();

printc();

printe(p);

print1();

}

else

notfind();

}

else if(select==2) /* 姓名*/

{

cprintf("\r请你输入要查找的姓名:");

scanf("%s",findinfo);

p=Locate(l,findinfo,"name");

if(p)

{

cprintf(" 查找结果\n\r");

print1();

printc();

print1();

}

else

notfind();

}

else

wrong();

}

void Delete(L l) /* 删除学生信息*/

{

int select;

Node *p,*r;

char findinfo[20];

if(!l->next)

{

cprintf("\n 没有信息可以删除!\n");

return;

}

cprintf("\n1==>按学号删除\n\r2==>按姓名删除\n\r");

scanf("%d",&select);

if(select==1)

{

cprintf("\r请你输入要删除的学号:");

scanf("%s",findinfo);

p=Locate(l,findinfo,"num");

if(p)

{

r=l;

while(r->next!=p)

r=r->next;

r->next=p->next;

free(p);

cprintf("\n\r该学生已经成功删除!\n");

shoudsave=1;

}

else

notfind();

}

else if(select==2)

{

cprintf("\r请你输入要删除的姓名:");

scanf("%s",findinfo);

p=Locate(l,findinfo,"name");

if(p)

{

r=l;

while(r->next!=p)

r=r->next;

r->next=p->next;

free(p);

cprintf("\n\r该学生已经成功删除!\n");

shoudsave=1;

}

else

notfind();

}

else wrong();

}

void modify(L l) /*修改学生信息*/

{

Node *p;

char findinfo[20];

if(!l->next)

{

cprintf("\n\r没有信息可以修改!\n");

return;

}

cprintf("\r请你输入要修改的学生学号:");

scanf("%s",findinfo);

p=Locate(l,findinfo,"num");

if(p)

{

cprintf("\r请你输入新学号(原来是%s):",p->data.num);

scanf("%s",p->data.num);

cprintf("\r请你输入新姓名(原来是%s):",p->https://www.doczj.com/doc/427461466.html,);

scanf("%s",p->https://www.doczj.com/doc/427461466.html,);

getchar();

cprintf("\r请你输入新班级(原来是%s):",p->data.cla);

scanf("%s",p->data.cla);

cprintf("\r请你输入新的c语言成绩(原来是%d分):",p->data.score1);

scanf("%d",&p->data.score1);

getchar();

cprintf("\r请你输入新的数学成绩(原来是%d分):",p->data.score2);

scanf("%d",&p->data.score2);

getchar();

cprintf("\r请你输入新的英语成绩(原来是%d分):",p->data.score3);

scanf("%d",&p->data.score3);

p->data.total=p->data.score3+p->data.score1+p->data.score2;

p->data.ave=p->data.total/3;

cprintf("\n\r信息修改成功!\n");

shoudsave=1;

}

else

notfind();

}

void display(L l)

{

/*显示全部学生信息*/

int count=0;

Node *p;

p=l->next;

if(!p)

{

cprintf("\n\r 没有信息可以显示!\n");

return;

}

cprintf(" 显示结果");

print1();

printc();

while(p)

{ if(count%5==0) getch();

printe(p);

p=p->next;

count++;

}

print1();

cprintf("\n");

}

void Statistic(L l) /*统计学生信息*/

{

Node *pm_max,*pe_max,*pc_max,*pt_max,*pa_max; /* 用于指向分数最高的接点*/ Node *pm_min,*pe_min,*pc_min,*pt_min,*pa_min;

Node *r=l->next;

if(!r)

{

cprintf("\n\r 没有信息可以统计!\n");

return ;

}

pm_max=pe_max=pc_max=pt_max=pa_max=pm_min=pe_min=pc_min=pt_min=pa_min=r; while(r!=NULL)

{

if(r->data.score1>=pc_max->data.score1)

pc_max=r;

if(r->data.score1<=pc_min->data.score1)

pc_min=r;

if(r->data.score2>=pm_max->data.score2)

pm_max=r;

if(r->data.score2<=pm_min->data.score2)

pm_min=r;

if(r->data.score3>=pe_max->data.score3)

pe_max=r;

if(r->data.score3<=pe_min->data.score3)

pe_min=r;

if(r->data.total>=pt_max->data.total)

pt_max=r;

if(r->data.total<=pt_min->data.total)

pt_min=r;

if(r->data.ave>=pa_max->data.ave)

pa_max=r;

if(r->data.ave<=pa_min->data.ave)

pa_min=r;

r=r->next;

}

cprintf("====================================统计结果====================================\n");

cprintf("\r总分最高者: %-16s %d分\n",pt_max->https://www.doczj.com/doc/427461466.html,,pt_max->data.total); cprintf("\r平均分最高者: %-16s %d分\n",pa_max->https://www.doczj.com/doc/427461466.html,,pa_max->data.ave); cprintf("\r英语最高者: %-16s %d分\n",pe_max->https://www.doczj.com/doc/427461466.html,,pe_max->data.score3); cprintf("\r数学最高者: %-16s %d分\n",pm_max->https://www.doczj.com/doc/427461466.html,,pm_max->data.score2); cprintf("\rc语言最高者: %-16s %d分\n\r",pc_max->https://www.doczj.com/doc/427461466.html,,pc_max->data.score1); cprintf("\r总分最低者: %-16s %d分\n",pt_min->https://www.doczj.com/doc/427461466.html,,pt_min->data.total); cprintf("\r平均分最低者: %-16s %d分\n",pa_min->https://www.doczj.com/doc/427461466.html,,pa_min->data.ave); cprintf("\r英语最低者: %-16s %d分\n",pe_min->https://www.doczj.com/doc/427461466.html,,pe_min->data.score3); cprintf("\r数学最低者: %-16s %d分\n",pm_min->https://www.doczj.com/doc/427461466.html,,pm_min->data.score2); cprintf("\rc语言最低者: %-16s %d分\n\r",pc_min->https://www.doczj.com/doc/427461466.html,,pc_min->data.score1); print1();

}

void Sort(L l)

L ll;

Node *p,*rr,*s;

ll=(L)malloc(sizeof(Node)); /* 用于做新的连表*/

ll->next=NULL;

if(l->next==NULL)

{

cprintf("\n\r 没有信息可以排序!\n");

return ;

}

p=l->next;

while(p)

{

s=(Node*)malloc(sizeof(Node)); /* 新建接点用于保存信息*/

s->data=p->data;

s->next=NULL;

rr=ll;

while(rr->next!=NULL && rr->next->data.total>=p->data.total)

rr=rr->next;

if(rr->next==NULL)

rr->next=s;

else

{

s->next=rr->next;

rr->next=s;

}

p=p->next;

}

free(l);

l->next=ll->next;

cprintf("\n\r 排序已经完成!\n");

}

void Save(L l) /* */

{

FILE* fp;

Node *p;

int flag=1,count=0;

fp=fopen("c:\\student","wb");

if(fp==NULL)

{

cprintf("\n\r 重新打开文件时发生错误!\n");

exit(1);

p=l->next;

while(p)

{

if(fwrite(p,sizeof(Node),1,fp)==1)

{

p=p->next;

count++;

}

else

{

flag=0;

break;

}

}

if(flag)

{

cprintf("\n\r 文件保存成功.(有%d条信息已经保存.)\n\r",count);

shoudsave=0;

}

fclose(fp);

}

void main() /* */

{

L l; /* 链表*/

FILE *fp; /* 文件指针*/

int count=0 ,i,menu_select; /*菜单选择*/

char ch ,creat;

Node *p,*r;

time_t it;

clrscr();

textmode(C80);

window(1,1,80,25);

textbackground(1); clrscr();

textcolor(10);

printf("\r 学生成绩管理系统");

printf("\r -------扬州大学信息工程学院软件0902班") ;

printf("\r 设计人员:李天鹏");

l=(Node*)malloc(sizeof(Node));

l->next=NULL;r=l;

fp=fopen("c:\\student","rb");

if(fp==NULL)

{

cprintf("\n\r 该文件还未存在,是否需要创建?(y/n,Y/N)\n\r");

scanf("%c",&creat);

if(creat=='y'||creat=='Y')

{

fp=fopen("c:\\student","wb");

}

else

exit(0);

}

gotoxy(9,11); textcolor(12);

cprintf("\n\r 文件已经打开,系统正在导入信息");

for(i=0;i<6;i++)

{ cprintf(".");

sleep(1);

}textcolor(10);

gotoxy(9,11); cprintf("\n ");

while(!feof(fp))

{

p=(Node*)malloc(sizeof(Node));

if(fread(p,sizeof(Node),1,fp)) /* 将文件的内容放入接点中*/

{

p->next=NULL;

r->next=p;

r=p; /* 将该接点挂入连中*/

count++;

}

}

fclose(fp);

/* 关闭文件*/

gotoxy(1,3);

cprintf("\n\r信息导入完毕,系统共导入%d条信息",count);

sleep(1);

while(1)

{ menu();

textcolor(12);

cprintf("\r现在时间: "); it=time(NULL);cprintf(ctime(&it));

cprintf("\r左边数字对应功能选择,请按0--9选择操作:\n\r");

textcolor(10) ;

scanf("%d",&menu_select);

if(menu_select==0)

{

if(shoudsave==1)

{ getchar(); textcolor(128+12);

cprintf("\n\r 信息已经改动,是否将改动保存到文件中(y/n Y/N)?\n\r"); scanf("%c",&ch);

if(ch=='y'||ch=='Y')

Save(l);

}

cprintf("\n\r 你已经成功退出学生成绩信息系统,欢迎下次继续使用!\n"); break;

}

switch(menu_select)

{case 1: clrscr(); input(l); clrscr(); break; /* 输入学生*/

case 2: clrscr(); Delete(l); PRINT1 /* 删除学生*/

case 3: clrscr(); query(l); PRINT1 /* 查询学生*/

case 4: clrscr(); modify(l); PRINT1 /* 修改学生*/

case 5: clrscr(); Sort(l); PRINT1

case 6: clrscr(); Statistic(l); PRINT1

case 7: clrscr(); display(l); PRINT1

case 8: clrscr(); Save(l); PRINT1 /* 保存学生*/

case 9: clrscr(); cprintf(" ==========帮助信息==========\n");

print2(); PRINT1 ;

default: wrong(); getchar(); break;}

}

}

学生成绩管理系统测试用例

大连东软信息学院项目文档 学生成绩管理系统测试用例 测试用例 教师服务子系统测试用例测试负责人:王哲一级模块模块名称教师服务系统 二级模块模块名称插入成绩 用例描述用例起始于教师要插入学生成绩 测试序号C1 测试过程及数据用例编号 U1 登录教师管理系统,选择1插入成绩,回车;输入成 绩100,输入-1,回车结束输入; 用例编号 U2 登录教师管理系统,选择1插入成绩,回车;输入成 绩65,87,90,73,60,输入-1,回车结束输入; 预期结果U1 系统提示插入成绩失败,成绩必须为[0,100]之间的数 字 U2 系统提示插入学生成绩成功 测试结果通过 二级模块模块名称查询成绩 用例描述用例起始于教师要查询学生成绩 测试序号C2 测试过程及数据用例编号 U3 登录教师管理系统,选择2查询成绩,回车;输入未 插入的成绩100,回车; 用例编号 U4 登录教师管理系统,选择2查询成绩,回车;输入已 插入的成绩90,回车; 预期结果U3 系统提示要查询的成绩不存在 U4 系统显示成绩为90的学生的相关信息 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于教师要对学生成绩进行排序 测试序号C3 测试过程及数据用例编号 U5 在未插入任何成绩的情况下,直接选择3成绩排序, 回车; 用例编号 U6 登录教师管理系统(系统中已插入成绩65,87, 90,73,60),选择3成绩排序,回车; 预期结果U5 系统提示对不起,尚无数据 U6 系统将学生成绩按90,87,73,65,60降序排序 测试结果通过

学生服务子系统测试用例测试负责人:顾赛一级模块模块名称学生服务 二级模块模块名称成绩查询 用例描述用例起始于一名学生想查看自己的成绩 测试序号C5 测试过程及数据用例编号 U7 选择功能2,回车,输入正确课程名称:软件工程用例编号 U8 选择功能2,回车,输入错误课程名称:地理 用例编号 U9 选择功能2,回车,输入正确课程编号:03 用例编号 U10 选择功能2,回车,输入错误课程编号:009 预期结果U7 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U8 提示你输入的课程名称存在,请重新输入 U9 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U10 提示你输入的课程编号不存在,请重新输入 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于一名学生想对成绩进行排序 测试序号C6 测试过程及数据用例编号 U11 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩升序 用例编号 U12 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:数子 用例编号 U13 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩降序 用例编号 U14 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,不输入,回车。 预期结果U11 按成绩升序排列。 U12 提示你输入的提示不正确。U13 按成绩降序排列。 U14 显示你输入的提示不正确。 1

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

UML-课程设计-学生成绩管理系统-精

UML-课程设计-学生成绩管理系统-精

————————————————————————————————作者:————————————————————————————————日期:

学生成绩管理系统UML建模 姓名: 学号: 班级: 指导教师:

一.设计目的 UML统一建模课程是一门面向对象开发方法的设计语言。UML统一建模课程设计实验课,着重加强面向对象建模技术。使用UML统一建模语言,用需求模型简化业务领域;用分析模型验证用例的正确性,一致性,完备性,可行性;用设计模型标识解决方案。通过模型实现了从业务领域到软件领域的映射。通过建模,使问题可视化,形式化。通过以序列的建模和迭代活动,对于提高学生综合素质十分必要。 UML统一建模课程是本科类计算机专业的一门骨干课程,技术复杂,应用范围广。本课程设计实验主要内容:构建系统的分析模型、设计模型。主要目标如下: 1. 掌握面向对象的分析技术、设计技术; 2. 构建“学生成绩管理系统”的需求分析模型和设计模型; 二.设计内容 1.可行性分析 随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社 会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学籍管理系统……其中学生成绩管理是任何院校都不可缺少的部分,它的内容对于学校的决策者和教学管理者来说都至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护代来了极大的不便。所以学生学籍管理信息系统的开发和应用是必要的,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校学籍管理的效率。 系统的可行性分析 (1)系统实施运行的可行性: 各教师,学生都已熟练掌握计算机的基本实用方法和操作技能,对新系统的开发,表现出极大的热情。提出了很多好的建议和要求。 (2)技术可行性: 校园网已正常运行;开发人员已熟练掌握开发工具。技术上实现系统是可行的。 (3)经济可行性: 校园内部局域网络已经建成;硬件投入不需要很大。 2.需求分析 2.1系统需求分析

学生成绩管理系统详细操作过程

学生成绩管理系统 我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。 我创建的基于单文档的应用程序,过程不介绍,大家都会。下面的是我系统菜单: 思路: 刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。 “学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。 整体设计: 因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下: 【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码: #include 【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //使“退出系统”和其他3个权限菜单都不可用,即都是灰色的 GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); } 【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”

最新学生成绩管理系统测试计划(1)

《学生成绩管理系统测试计划》 一.引言 1编写目的 为了保证学生成绩管理各项功能可靠实现,特编写此测试计划,对所有功能模块及总系统进行测试。 此测试计划供程序员在程序高度阶段参考,在系统测试阶段提供测试依据。本测试计划主要用于发现系统开发过程中出现的各种不妥之处,发现软件中的错误。 2背景 1)待开发系统软件名称:学生成绩管理系统; 2)本项目的任务提出者是学校信息管理系统的各位老师,由本小组负责开发,用于江西农业大学广大师生成绩查询及管理; 3)开发背景:本系统属于江西农业大学大学网络管理系统的学生成绩管理模块,实现的是网络管理系统中关于学生成绩管理的子功能,通过此软件,提高用软件工程分析问题、解决问题的能力,同时增强对数据库和VC#的使用能力。 3定义 成绩管理:所谓成绩管理,是指以学校中的学生为对象,根据学生的成绩来做记录,将学生的成绩进行有关操作和分配。并对学生的成绩进行总和与管理。 4参考资料 [1] 张海藩,《软件工程导论》,清华大学出版社,2008 [2] 陆丽娜,《软件工程》,经济科学出版社,2008 [3] 萨师煊,《数据库系统概论》,高等教育出版社,2006 [4]薛华成,《管理信息系统》,清华大学出版社,2007 二. 计划 1软件说明

2 测试内容 2.1 登录模块 2.3学生成绩查询模块

2.4管理学生成绩信息模块 2.5 分析统计信息管理模块

三.测试设计 1用户登录(01) 本测试考虑到:未注册用户名的处理,用户名与密码不匹配处理 1.1控制 利用白盒测试和黑盒测试相结合的方式。 2学生成绩管理模块(02 ) 本测试考虑到:输入信息格式的合法性,学生编号是否注册。 2.1控制 利用白盒测试和黑盒测试相结合的方式。(成绩默认为整数)

学生成绩管理系统数据流图.doc

.3.3.1 创建实体关系图 (1)在需求收集的过程中,要求客户列出应用软件或业务过程涉及到的"事物",将其演化成数据对象; (2)一次考虑一个对象,分析员和客户定义这个对象和其他对象之间是否存在连接; (3)如果存在连接,应创建一个或多个关系; (4)对每一个关系,确定其关联类型; (5)重复步骤(2)到步骤(4),直到定义了所有关系。 (6)定义每个实体的属性; (7)形式化并复审实体关系图; (8)重复步骤(1)到(7),直到数据建模完成。 举例分析: * 实体:学生、课程、成绩。 * 实体属性定义: 学生:学号、姓名、性别、出生日期、入学年月 课程:课程编号、课程名称、课程学分、课程描述 成绩:学号、课程编号、分数、考核日期 * 实体关系图: 首先分析"学生成绩管理系统"的用户要求,找出该系统应该包括的实体。显然,学生、课程和成绩都是系统的实体,并且可以初步定义它们的属性(见上)。教务人员虽然是系统的用户,但其信息与系统处理无关,因此不用作为实体。那么,学生的选课信息是否需要成为实体呢?由于成绩信息包含了选课信息,因此选课信息不用单独记录。最终,确定系统的实体是学生、课程和成绩。 接着,我们分析这些实体之间的关联关系。从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。根据上述分析,我们得到如图所示的实体关系图。 3.3.3.2 创建数据流模型 通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。顶层(也称第0层)DFD用于表示系统的开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的"原子加工";中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。 (1)第0层DFD将整个系统表示成一个加工; (2)确定并标记主要的输入和输出; (3)分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工; (4)标记所有加工和箭头; (5)重复步骤(3)和(4),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。举例分析: * 第0层DFD图

uml学生成绩管理系统

《面向对象分析与设计(UML)》课程设计报告 设计题目:学生成绩管理系统 院系:计算机科学与工程学院 专业:软件工程 班级: 学号: 姓名: 指导教师: 设计地点: 开课时间: 2012 至 2013 学年第 1 学期 常熟理工学院计算机科学与工程学院制

学生姓名成绩 评语: 指导教师(签名) 年月日

目录 1. 设计目的和任务.................................................................. .. (1) 2. 开发环境.................................................................. .............................. (2) 硬件环境.................................................................. ....................... (2) 软件环境.................................................................. (2) 3.设计题目.................................................................. (3) 题目名称.................................................................. ...................... . (3) 题目详细描述.................................................................. ........... .. (3) 功能要求.................................................................. (3) 4. 相关技术及知识点.................................................................. .. (4) UML的建模语言................................................................... . (4) RUP软件开发过程................................................................... ....... .. (4)

学生成绩管理系统

学生成绩管理系统 姓名:查亚军同组者:郭达洋黄彬侯元军 一、设计开发背景 在本学期所开课程中我们初步接触并学习了《数据库原理及应用》(SQL server 2000)这一课程,基于此课程的基本原理语言,从培养学习与实践的综合角度出发,我们设计了一个简单而完善的在实际的学校教务处管理方面具有一定使用价值的“学生成绩管理系统”。虽然只一个简单的“系统模型”,但我们的目的是学会并掌握最基本的操作处理,例如:结合Visual Basic实现用户登录、用户添加、用户删除、以及浏览管理其他相关信息等等。 基于这样的目的和想法,从实际运用的角度出发,我们完成了这个“学生成绩管理”的系统。伴随着经济的日益全球化,人才强国,科教兴国越来越受到广泛关注,对教育的投资力度越来越大。目前全国已基本消除青少年文盲,大学生也越来越多,制作这个系统时,我们从学校的需求以及所存在的困扰出发,并且结合时代的发展与变化,带着有所帮助的期望完成的。它的价值主要体现在两个方面: (1)更方便的大批录入并管理学生的成绩,程序通过VB编程实现学生成绩录入、管理、统计、评定、导出的作用。程序主要针对大学生成绩管理,可以自由设定学分比例。 (2)有利于学生查询自己的综合成绩,了解在学生中得情况之后,能明确自己的目标,并为之奋斗! 在题材选定之后,我们就选择利用什么开发环境,为了让数据库的前台实现与后台管理能够达到完美组合和实现,经过商讨,我们选择Visual Basic6.0作为我们的开发环境,这主要有一下两点原因: 在能够作为管理数据库的软件中,我们只学习了Visual Basic6.0,而且相对来说,我们对Visual Basic比较熟悉,也能够熟练的进行运用。

软件测试《学生成绩管理系统》测试报告

软 件 测 试 实 训 报 告 班级:软件测试1406班姓名:贺勇游 学号:2014180182

目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概述 (2) 二.项目背景 (2) 三.系统详细需求 (5) 第二部分学生成绩管理系统测试计划 (8) 一.概述 (9) 二.测试摘要 (9) 三.测试风险 (10) 四.缺陷等级分类和优先级描述 (10) 五.测试策略 (12) 六.暂停标准和再启动标准 (13) 七.测试任务和进度 (14) 八.测试提交物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计 (16) 2.1 系统登录功能模块用例设计 (16) 2.2 “系统功能模块用例设计 (17) 2.3 档案管理功能模块用例设计 (17) 2.4 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24)

学生成绩管理系统需求分析

一.项目概述 软件项目名称:《生成绩管理系统》 软件版本:6.62 开发团队:阿林软件设计室 项目特点:《学生成绩管理系统》单机/网络版(V6.52)操作简单,功能齐全,适合于各中、小学校及教育局。该系统主要有以下几方面的特点: ●即可单机使用,又可在局域网下多用户共享使用。 ●所有数据即可从Excel表中导入,也可导出到Excel表,方便 地与Excel交换。支持读卡机。 ●可多台电脑同时输入成绩,输入时有语音提示,突破输入瓶 颈。 成绩排名详尽,成绩分析到位。 二.项目背景 学生成绩管理是所有院校学生管理事务中的一项重要工作,几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生学籍工作管理所涉及的数据量越来越大,有的学校不得不增加人力丶物力来进行学生成绩管理。但手工管理具有效率低丶出错率高的缺点。为了解决学生成绩管理问题,学生成绩管理系统应运而生。高等院校成绩管理涉及学生成绩的录入、查询、操作。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进行进一步

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单 \n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r============================================================= ==================="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信 息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存 中.\n");

学生成绩管理系统需求文档

学生成绩管理系统需求文档 一、项目概述 1.开发背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机 应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理 方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件 和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和 维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求, 严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加, 有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生 信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。 正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用 户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学 生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学 生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由 此看来开发这样一套管理软件是很有必要的。学生信息管理系统是典型的信息管理 系统(MIS),其开发功能主要包括对学生各种信息的建立、管理、查询等功能。 2.项目描述 该学生管理系统应用于高校学生信息管理,主要有3个主要功能模块组成,分别是:学生信息管理系统模块,学生成绩管理模块和系统管理模块。学生信 息管理模块包括对学生的学籍等基本信息的查看和维护管理;学生成绩管理模块主 要包括对学生成绩的录入和查询;系统管理主要包括对系统数据字典以及管理员的 维护模块。除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能 模块,例如,学科管理、班主任管理等。本系统设计的学生信息管理系统很好的解 决了学生信息管理方面的困难,提高了学生信息管理效率、减轻了教务员的工作负 担,节省了大量的人力、物力资源,给高校学生信息管理带来了很大的方便 3.系统目标 该系统要实现的功能有: ●学生信息管理:包括添加学生信息,修改学生信息 ●学生成绩管理:包括添加学生成绩、修改学生成绩、删除学生成绩 ●系统管理:维护系统数据字典、添加管理员、删除管理员、修改管理员信息 除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块,例 如,学科管理、班主任管理等。

学生信息管理系统面向对象分析设计

1 绪论 1.1系统简介 学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。 1.2设计目的 学生信息管理系统是高校管理信息系统的重要组成部分,开发或及时升级学生信息管理系统,是提高管理水平和工作效率的必然要求。本设计是对该学生信息管理系统的一个总体的把握,以便在后续的进一步开发过程中更好的控制总体进度,系统主要面向的对象是在校的学生。 1.3设计内容 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统。本设计主要解决与学生信息管理相关的问题,设计一个功能齐全的学生管理信息系统,实现学生档案信息的增删查改以及学生选课及课程的增删查改、学生成绩的录入和对学生成绩的分析等主要功能。 2 需求分析 2.1. 系统目标 2.1.1 信息系统目标 分析设计并开发实现完善的学生信息管理系统,实现学生信息管理的系统化、规范化和自动化,提高管理水平和工作效率。 2.1.2 目标说明 完成系统目标,功能上尽量完善,性能上要求能够完全适应日常运营管理需求。

2.2 系统结构 2.2.1 信息系统需求结构 系统需求包括功能需求、性能需求、可靠性要求、安全与保密要求等。 经过综合分析,确定该系统包括以下功能: (1)学生基础信息管理 学生基础信息管理包括对学生的姓名、性别、学号、登录名称和登录密码等基本信息的查看和修改,以及学生院系、班级、学期等信息的查询。 (2)教师基本信息管理 教师基本信息管理是对教师的登录名称、登录密码,教职工号等的维护。 (3)课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实现以下功能:添加、修改、删除和显示课程代码、课程名称、学分和院系名称。添加、删除和提交班级所选课程。 (4)成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能:录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (5)其它相关信息展示 除了以上的信息需要管理维护,可能还有些相关信息需要查询维护等,如通知公告等。 2.2.2 需求结构的说明 以上主要从功能需求进行分析说明,另外还有性能需求和可靠性需求等,将在下面进行进一步分析。 2.3.系统功能需求 2.3.1 功能用例模型 根据系统功能需求,系统的用例图如下。 (1)系统整体用例图

学生成绩管理系统的设计与实现

课程设计 学生成绩管理系统的设计与实现 专业: 班级: 学号: 姓名:

学生成绩管理系统的设计与实现1.引言 1.1背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。 管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情, 学生成绩管理系统提供了强大的学生成绩管理管理功能,方便管理员对学生成绩等信息的添加.修改.删除.查询.汇总.统计等操作。更适合大型数据库的管理。 1.2目标 1.管理员能够方便的对信息进行添加.修改.删除.查询.汇总.统计等操作。 2.可以将数据库发布到网上,进行资源共享。 3.学生可以在自己的权限内对信息进行访问,即使查询相关信息。 2.需求分析 2.1系统需求 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用

软件测试学生成绩管理系统测试报告完整版

软件测试学生成绩管理 系统测试报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软 件 测 试 实 训 报 告 班级:软件测试1406班 姓名:贺勇游 目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概 述································ (2) 二.项目背 景································ (2)

三.系统详细需 求································ (5) 第二部分学生成绩管理系统测试计划 (8) 一.概 述 (9) 二.测试摘 要 (9) 三.测试风 险 (10) 四.缺陷等级分类和优先级描 述 (10) 五.测试策 略 (12) 六.暂停标准和再启动标 准 (13) 七.测试任务和进 度 (14) 八.测试提交 物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计····································

系统登录功能模块用例设计 (16) “系统功能模块用例设计 (17) 档案管理功能模块用例设计 (17) 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24) 学

学生成绩管理系统数据流图

学生成绩管理系统数据流图-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

.3.3.1 创建实体关系图 (1)在需求收集的过程中,要求客户列出应用软件或业务过程涉及到的"事物",将其演化成数据对象; (2)一次考虑一个对象,分析员和客户定义这个对象和其他对象之间是否存在连接; (3)如果存在连接,应创建一个或多个关系; (4)对每一个关系,确定其关联类型; (5)重复步骤(2)到步骤(4),直到定义了所有关系。 (6)定义每个实体的属性; (7)形式化并复审实体关系图; (8)重复步骤(1)到(7),直到数据建模完成。 举例分析: * 实体:学生、课程、成绩。 * 实体属性定义: 学生:学号、姓名、性别、出生日期、入学年月 课程:课程编号、课程名称、课程学分、课程描述 成绩:学号、课程编号、分数、考核日期 * 实体关系图: 首先分析"学生成绩管理系统"的用户要求,找出该系统应该包括的实体。显然,学生、课程和成绩都是系统的实体,并且可以初步定义它们的属性(见上)。教务人员虽然是系统的用户,但其信息与系统处理无关,因此不用作为实体。那么,学生的选课信息是否需要成为实体呢?由于成绩信息包含了选课信息,因此选课信息不用单独记录。最终,确定系统的实体是学生、课程和成绩。

接着,我们分析这些实体之间的关联关系。从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。根据上述分析,我们得到如图所示的实体关系图。 3.3.3.2 创建数据流模型 通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。顶层(也称第0层)DFD用于表示系统的开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的"原子加工";中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。 (1)第0层DFD将整个系统表示成一个加工; (2)确定并标记主要的输入和输出; (3)分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工; (4)标记所有加工和箭头; (5)重复步骤(3)和(4),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。 举例分析: * 第0层DFD图 教务人员维护学生信息和课程信息,并登录学生的选课成绩; 学生查询自己的成绩单。 * 第1层DFD图 对第0层DFD图中的一个加工"学生成绩管理"进行展开。

用java编写的学生成绩管理系统代码

; public class Student { private String id; private String name; private int math; private int english; private int java; private int computer; public String getId() { return id; } public void setId(String id) { = id; } public String getName() { return name; } public void setName(String name) {

= name; } public int getMath() { return math; } public void setMath(int math) { = math; } public int getEnglish() { return english; } public void setEnglish(int english) { = english; } public int getJava() { return java; } public void setJava(int java)

{ = java; } public int getComputer() { return computer; } public void setComputer(int computer) { = computer; } public static void main(String[] args) throws Exception { String id; String cid; String name; int math; int english; int java; int computer; String DBDriver = ""; String conStr = "jdbc:odbc:student"; Connection con = null; Statement stmt = null; ResultSet rs = null;

学生成绩管理系统 总体设计

总体设计 编写目的: 根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。 总体设计: 1.该系统可以按功能进行模块划分,其模块图如下: 系统模块图 其中: 录入学生信息模块完成信息的输入功能,输入信息包括学号,姓名,3门课成绩。 显示学生成绩模块显示学号,姓名,3门课成绩。 查询学生成绩信息模块完成学生成绩的查询。 修改学生成绩信息模块完成学生成绩的修改功能。 删除学生成绩模块完成对学生成绩的删除。 增加学生成绩模块完成对学生成绩增加功能。 按学生平均成绩降序排名完成对学生名次的排列功能。 计算所有学生的总成绩模块完成对学生的总成绩的计算。 按某学科成绩降序排列完成单科成绩的排名。 使用密码登陆模块完成系统的登陆。 修改密码模块完成对密码的修改功能。 2.数据结构 本系统中主要的数据结构就是学生成绩的信息,包含学号、姓名、C语言成绩,JAVA成绩,VB成绩等,在处理过程中各项可以作为一个学生的不同属性来进行处理

3.程序流程 系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择关闭系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:

详细设计 编写目的: 根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。 详细设计: 对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 一、密码登陆模块 For(死循环) { 输入密码 If(密码输入正确)进入登陆界面; If(输入sg)转入修改密码界面 使用break语句跳出循环 } 二、密码修改模块 输入原始密码 If(输入错误)重新输入 If(输入正确)提示输入新密码 第一次输入新密码 第二次输入新密码 IF(两次输入密码一致)修改密码成功 三、信息输入模块 定义flag为1 While(flag) { 输入信息 IF(继续输入),继续循环 IF(输入结束),置flag为0;跳出循环; } 跳转到主选菜单; 四、显示信息模块 For(遍历所存结构体) { 输出结构体多包括的信息} 清屏; 跳转到主选菜单; 五、查询信息模块 输入要查的学号; For(遍历所存结构体) { If(学号为要查询的学号)输出学生信息; } If(遍历结束没有找到)输出错误提示信息;

学生成绩管理系统(数据结构C语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

相关主题
文本预览
相关文档 最新文档