学生信息管理系统C程序

学生信息管理系统C程序
学生信息管理系统C程序

#include

#include

#include

#include//getch();kibhit()的头文件struct student

{

int id;

char name[20];

char password[11];

char classs[6];

struct like

{

float physics;//物理

float biology;//生物

float chemistry;//化学

}grade;

int age;

int ranking;

};

typedef struct student ST;//为已有的数据类型命名struct administrator

{

char name[20];

char password[11];

}ad={"lichao","12343456"};

void Chushihua();//系统初始化函数

void Stucpw(int i);//学生改密函数

void Ssave(ST stu[30],int r);//系统保存函数

void Stuadd();//添加学生函数

int Save_enquiry();//修改确定询问函数

void Studelete();//删除学生函数

void Stualter();//修改学生函数

void Sturefer();//学生查询函数

void Sturank(ST stu0[30],int i);//终极排名函数void Stuclassesrank();//学生班级挑选函数

void Stuallout();//少女通灵之术

char* Passwordinputhide();

int main()

{

int flag0=0;//选择登陆方式的标志

int flag1;//密码错误次数标志

int flag3;//选择操作方式的标志

char ad_name[20];//输入的管理员名字

char ad_password[11];//输入的管理员密码

char stu_name[20];//输入的学生名字

char stu_password[11];//输入的学生密码

Chushihua();//判断系统是否需要初始化

FILE *fp1,*fp2;

ST stu[30];

int i;//for控制变量

int j;//临时控制变量

int r;//学生人数

/*printf("学生人数为%d。\n",r);

printf("学号:%d\n姓名:%s\n密码:%s\n班级:%s\n年龄:%d\n排名:%d\n",stu[2].id,stu[2].name,stu[2].password,stu[2].classs,stu[2].age,stu[2].ranking);*/ while(flag0!=3)

{

//读取本地信息

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(i=0;i

{

fread(&stu[i],sizeof(ST),1,fp1);

}

fclose(fp1);

//系统开始

system("cls");

printf("/* *******************学生信息管理系统****************** */\n");

printf("欢迎登陆学生管理系统!");

printf("请选择管理员登陆/学生登陆/退出系统(1/2/3):");

scanf("%d",&flag0);

flag1=3;//定义密码出错上限

switch(flag0)

{

case 1:

while(flag1>0)

{

fflush(stdin);

printf("请输入管理员账户名:");

gets(ad_name);

printf("请输入管理员密码:");

strcpy(ad_password,Passwordinputhide());

if((!strcmp(ad_name,https://www.360docs.net/doc/3f14444095.html,))&&(!(strcmp(ad_password,ad.password))))

{

printf("登陆成功!亲爱的管理员李超,欢迎回来!\n");

system("cls");

break;

}

else

{

flag1--;

printf("管理员账户名或密码错误!您还有%d次机会",flag1);

}

}

if(flag1==0)

{

flag0=3;//让出现三次密码错误的家伙退出

}

else

{

flag3=1;

while(flag3)

{

system("cls");//清屏函数

printf("请输入您想进行的操作:\n1,添加新学生信息;\n2,删除学生信息;\n3,修改学生信息;\n4,查询学生信息;\n5,为学生排序;\n6,退出登陆;\n7,少女召集之术。\n");

fflush(stdin);

scanf("%d",&i);

switch(i)

{

case 1:

Stuadd();

system("pause");//系统暂停函数

break;

case 2:

Studelete();

system("pause");//系统暂停函数

break;

case 3:

Stualter();

system("pause");//系统暂停函数

break;

case 4:

Sturefer();

system("pause");//系统暂停函数

break;

case 5:

Stuclassesrank();

system("pause");//系统暂停函数

break;

case 6:

flag3=0;

system("pause");//系统暂停函数

break;

case 7:

system("cls");

printf("忍法,多重少女通灵之术!");

Stuallout();

system("pause");//系统暂停函数

break;

default:

printf("输入有误!");

system("pause");//系统暂停函数

}

}

}

break;

case 2:

while(flag1>0)

{

fflush(stdin);

printf("请输入学生姓名:");

gets(stu_name);

for(i=0;i

{

if(!strcmp(stu[i].name,stu_name))

{

printf("你好,%s同学!请输入密码:",stu[i].name);

break;

}

}

/*fflush(stdin);

gets(stu_password);*/

strcpy(stu_password,Passwordinputhide());

if(!strcmp(stu[i].password,stu_password))

{

printf("滴……滴……学生卡,登陆成功!");

system("cls");

break;

}

else

{

flag1--;

printf("学生姓名或学生密码有误!你还有%d次机会\n",flag1);

}

}

if(flag1==0)

{

flag0=3;//让出现三次密码错误的家伙退出

}

else

{

system("cls");//清屏函数

printf("亲爱的%s!大人\n",stu[i].name);

printf("学生信息\nID:%d\n姓名:%s\n班级:%s\n年龄:%d\n学生成绩:\n物理:%.1f分\n生物:%.1f分\n化学:%.1f\n排名:%d\n",stu[i].id,stu[i].name,stu[i].classs,stu[i].age,stu[i].grade.physics,stu[i].grade.biology,stu [i].grade.chemistry,stu[i].ranking);

while(1)

{

printf("请选择你想进行的操作:\n1,修改登陆密码;\n2,给管理员留言;\n3,退出登陆\n");

scanf("%d",&j);

switch(j)

{

case 1:

Stucpw(i);

system("pause");//系统暂停函数

break;

case 2:

printf("该功能已经被管理员禁用!\n");

system("pause");//系统暂停函数

break;

case 3:

flag0=3;

system("pause");//系统暂停函数

break;

default:

printf("输入有误!请重现选择!\n");

system("pause");//系统暂停函数

}

if(flag0=3)

{

system("pause");//系统暂停函数

break;

}

}

}

break;

case 3:

printf("成功退出!");

break;

default:

printf("输入有误!");

system("pause");//系统暂停函数

}

}

printf("感谢您的使用!老司机再见!\n");

system("pause");

return 0;

}

void Chushihua()

{

FILE *fp1,*fp2;

int i;

ST

stu[5]={{1,"Yaya","1234","16-01",{70,70,70},24,5},{2,"Nico","1234","16-01",{75,75,75},24,4},{3," Miku","1234","16-01",{80,80,80},24,3},{4,"Kurumi","1234","16-01",{85,85,85},24,2},{5,"Ayame"," 1234","16-01",{100,100,100},24,1}};

fp1=fopen("D:\\学生信息.txt","r");

fp2=fopen("D:\\学生数目.txt","r");

if((fp1==NULL)||(fp2==NULL))

{

printf("本地没有记录,系统开始初始化……");

fp1=fopen("D:\\学生信息.txt","w+");

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

{

fwrite(&stu[i],sizeof(ST),1,fp1);

}

fclose(fp1);

fp2=fopen("D:\\学生数目.txt","w+");

fprintf(fp2,"%d",5);

fclose(fp2);

}

}

void Stucpw(int i)

{

char str[11],str1[11],str2[11];

//从文件读取数据

int r;//人数

int m;//控制变量

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//开始修改密码

printf("请输入旧密码:");

fflush(stdin);

gets(str);

if(!strcmp(stu[i].password,str))

{

printf("请输入新密码:");

fflush(stdin);

gets(str1);

printf("请再次输入新密码:");

fflush(stdin);

gets(str2);

if(!strcmp(str1,str2))

{

strcpy(stu[i].password,str1);

printf("新密码为%s!",stu[i].password);

Ssave(stu,r);

printf("密码修改成功!请重新登录~");

}

else

{

printf("新密码两次输入不一致,修改失败!\n");

}

}

else

{

printf("旧密码不正确!");

}

}

void Ssave(ST stu[30],int r)

{

int i;

FILE *fp1,*fp2;

printf("正在将修改写入文件……");

fp1=fopen("D:\\学生信息.txt","w+");

for(i=0;i

{

fwrite(&stu[i],sizeof(ST),1,fp1);

}

fclose(fp1);

fp2=fopen("D:\\学生数目.txt","w+");

fprintf(fp2,"%d",r);

fclose(fp2);

}

void Stuadd()

{

//从文件读取数据

int r;//人数

int m;//控制变量

printf("正在调用学生信息添加功能……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//开始添加新学生信息

printf("准备完毕,let's go!\n");

printf("新学生的id自动生成为%d\n",r);

stu[r].id=r;

printf("请输入新学生的姓名;");

fflush(stdin);

gets(stu[r].name);

printf("新学生的密码自动初始化为1234!\n");

strcpy(stu[r].password,"1234");

printf("请输入新学生的班级(xx-xx):");

fflush(stdin);

gets(stu[r].classs);

printf("请输入新学生的成绩:(物理/生物/化学)\n");

scanf("%f/%f/%f",&stu[r].grade.physics,&stu[r].grade.biology,&stu[r].grade.chemistry);

printf("请输入学生的年龄:");

scanf("%d",&stu[r].age);

stu[r].ranking=0;

printf("新学生信息\nID:%d\n姓名:%s\n班级:%s\n年龄:%d\n学生成绩:\n物理:%.1f 分\n生物:%.1f分\n化学:%.1f\n排名:%d\n",stu[r].id,stu[r].name,stu[r].classs,stu[r].age,stu[r].grade.physics,stu[r].grade.biology,st u[r].grade.chemistry,stu[r].ranking);

if(Save_enquiry())

{

r++;

Ssave(stu,r);

printf("新学生添加完毕!");

}

else

{

printf("新学生添加失败!");

}

}

int Save_enquiry()

{

char c1,c2;

printf("您即将对系统信息进行修改,是否继续?(y/n)");

fflush(stdin);

c1=getchar();

printf("您即将对系统信息进行修改,请再次确定是否继续?(y/n)");

fflush(stdin);

c2=getchar();

if((c1=='y')&&(c2=='y'))

{

printf("系统开始修改,请稍候片刻……");

return 1;

}

else

{

printf("信息修改取消……");

return 0;

}

}

void Studelete()

{

int flag=0;//是否找到目标标志

char str[20];

int i;

//从文件读取数据

int r;//人数

int m;//控制变量

printf("正在调用学生信息删除功能……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//删除程序

printf("请输入你想删除的学生姓名:");

fflush(stdin);

gets(str);

for(i=0;i

{

if(!strcmp(stu[i].name,str))

{

flag=1;

break;

}

}

if(flag)

{

for(m=i;m

{

stu[m].id=m;

strcpy(stu[m].name,stu[m+1].name);

strcpy(stu[m].password,stu[m+1].password);

strcpy(stu[m].classs,stu[m+1].classs);

stu[m].grade.physics=stu[m+1].grade.physics;

stu[m].grade.biology=stu[m+1].grade.biology;

stu[m].grade.chemistry=stu[m].grade.chemistry;

stu[m].age=stu[m].age=stu[m+1].age;

}

if(Save_enquiry())

{

r--;

Ssave(stu,r);

printf("学生%s信息删除完毕!",str);

}

{

printf("删除失败!");

}

}

else

{

printf("未找到该学生信息!");

}

}

void Stualter()

{

int n;//选择标志

int flag=0;//是否找到目标标志

int flag1=0;//是否输入错误标志

char str[20];//被修改学生的姓名

char str1[20];//新姓名

char str2[11];//新密码

char str3[6];//新班级

//从文件读取数据

int r;//人数

int m;//控制变量

printf("正在调用学生信息删除功能……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//修改程序

printf("请输入你想修改的学生姓名:");

fflush(stdin);

gets(str);

for(m=0;m

{

if(!strcmp(stu[m].name,str))

{

flag=1;

break;

}

if(flag)

{

printf("请输入你想修改哪种信息:\n1,姓名\n2,密码\n3,班级\n4,年龄\n学生成绩:\n5,物理\n6,生物\n7,化学");

scanf("%d",&n);

switch(n)

{

case 1:

printf("请输入新的姓名:");

fflush(stdin);

gets(str1);

strcpy(stu[m].name,str1);

flag1++;

break;

case 2:

printf("请输入新的密码:");

fflush(stdin);

gets(str2);

strcpy(stu[m].password,str2);

flag1++;

break;

case 3:

printf("请输入新的班级(xx-xx):");

fflush(stdin);

gets(str3);

strcpy(stu[m].classs,str3);

flag1++;

break;

case 4:

printf("请输入新的年龄:");

scanf("%d",&stu[m].age);

flag1++;

break;

case 5:

printf("请输入新的物理成绩:");

scanf("%f",&stu[m].grade.physics);

flag1++;

break;

case 6:

printf("请输入新的生物成绩:");

scanf("%f",&stu[m].grade.biology);

flag1++;

break;

case 7:

printf("请输入新的化学成绩:");

scanf("%f",&stu[m].grade.chemistry);

flag1++;

break;

default:

printf("输入有误!默认您放弃此次更改……");

}

if(flag1)

{

if(Save_enquiry())

{

Ssave(stu,r);

}

}

}

else

{

printf("未找到该学生信息!");

}

}

void Sturefer()

{

char str[20];

int flag=0;

//从文件读取数据

int r;//人数

int m;//控制变量

printf("正在调用学生信息查询功能……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//查询程序

printf("请输入你想修改的学生姓名:");

fflush(stdin);

gets(str);

for(m=0;m

{

if(!strcmp(stu[m].name,str))

{

flag=1;

break;

}

}

if(flag)

{

printf("学生信息\nID:%d\n姓名:%s\n班级:%s\n年龄:%d\n学生成绩:\n物理:%.1f分\n生物:%.1f分\n化学:%.1f\n排名:%d\n",stu[m].id,stu[m].name,stu[m].classs,stu[m].age,stu[m].grade.physics,stu[m].grade.bi ology,stu[m].grade.chemistry,stu[m].ranking);

}

else

{

printf("未找到该学生信息!");

}

}

void Sturank(ST stu0[30],int i)

{

printf("\n开始排名……");

float temp;//中间变量

int m;

int p,q;//冒泡控制变量

float gradesum[30];

for(m=0;m

{

/*printf("%.1f",stu0[m].grade.physics);*/

gradesum[m]=stu0[m].grade.physics+stu0[m].grade.biology+stu0[m].grade.chemistry;

/*printf("%.1f",gradesum[m]);*/

}

//冒泡排序

for(p=0;p

{

for(q=0;q

{

if(gradesum[q]

{

temp=gradesum[q+1];

gradesum[q+1]=gradesum[q];

gradesum[q]=temp;

}

}

}

for(m=0;m

{

printf("%.1f\t",gradesum[m]);

}

//根据数组顺序修改排名值

printf("\n少女们开始报数!");

for(m=0;m

{

q=gradesum[m];

printf("%.1f\t",q);

for(p=0;p

{

temp=stu0[p].grade.physics+stu0[p].grade.biology+stu0[p].grade.chemistry;

printf("%.1f\t",temp);

if(temp==q)//挑出数组与结构体对应的值

{

stu0[p].ranking=m+1;//得出排名

printf("%s\t",stu0[p].name);

}

}

}

printf("\n成功ranking……");

//从文件读取数据

int r;//人数

printf("正在调用学生信息查询功能……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//部分结构体与总结构体进行比较

for(p=0;p

{

for(q=0;q

{

if(!strcmp(stu0[p].name,stu[q].name))//找出同名人

{

stu[q].ranking=stu0[p].ranking;//修改成正确的排名

}

}

}

system("cls");

printf("新的排名为:\n");

for(m=0;m

{

printf("ID:%d\t姓名:%s\t理综分数:%.1f\t排名:%d\n",stu0[m].id,stu0[m].name,(stu0[m].grade.physics+stu0[m].grade.biology+stu0[m].grad e.chemistry),stu0[m].ranking);

}

Ssave(stu,r);//保存数据

printf("排名完成!\n");

}

void Stuclassesrank()

{

//从文件读取信息

int m;

int r;//人数

printf("正在准备……");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

//开始分班

ST stu1[30];//16-01班

ST stu2[30];//16-02班

ST stu3[30];//16-03班

ST stu4[30];//16-04班

int p,q=0;

for(p=0;p

{

if(!strcmp(stu[p].classs,"16-01"))

{

stu1[q].id=q+1;

strcpy(stu1[q].name,stu[p].name);

strcpy(stu1[q].password,stu[p].password);

strcpy(stu1[q].classs,stu[p].classs);

stu1[q].grade.physics=stu[p].grade.physics;

stu1[q].grade.biology=stu[p].grade.biology;

stu1[q].grade.chemistry=stu[p].grade.chemistry;

stu1[q].age=stu[m].age=stu[p].age;

printf("%.1f\t",stu1[q].grade.physics);

++q;

}

}

Sturank(stu1,q);

}

void Stuallout()

{

int i;

//从文件读取数据

int r;//人数

int m;//控制变量

printf("正在积攒查克拉……\n");

ST stu[30];

FILE *fp1,*fp2;

fp2=fopen("D:\\学生数目.txt","r");

fscanf(fp2,"%d",&r);

fclose(fp2);

fp1=fopen("D:\\学生信息.txt","r");

for(m=0;m

{

fread(&stu[m],sizeof(ST),1,fp1);

}

fclose(fp1);

printf("咻咻咻……\n");

for(i=0;i

{

printf("ID:%d\t姓名:%s\t班级:%s\t年龄:%d\n学生成绩:物理:%.1f分\t生物:%.1f分\t化学:%.1f\t排名:%d\n",stu[i].id,stu[i].name,stu[i].classs,stu[i].age,stu[i].grade.physics,stu[i].grade.biology,stu [i].grade.chemistry,stu[i].ranking);

}

}

char* Passwordinputhide()

{

char str[11];

int i;

char ch;

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

{

fflush(stdin);

ch=getch();

if(ch==13)//输入是回车符时就结束

{

break;

}

else if(ch==8)

{

printf("\b \b");

i-=2;

}

else

{

putchar('*');

str[i]=ch;

}

}

str[i]='\0';

return str;

}

学生信息管理系统详细设计说明书

学生信息管理系统详细设计 1引言 1.1编写目的 为了彻底解决了长期困扰教学信息化工作当中安全性、可靠性的问题;为了使管理人员可以随时看到更新的数据,极大地提高信息传递的速度;为了管理者再也不必为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,设计了学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单,省时又省心。 1.2系统模块的实现 在系统中包括以下功能:系统管理、学籍信息管理、课程信息管 理、成绩信息管理、帮助。分为以下几个模块 主窗体 1.3登录模块 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(CommandButton)用来确定或者取消登录。 设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。 1.4系统管理模块 1.4.1添加用户窗体的创建 进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。 1.4.2修改密码窗体的创建 在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。 在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。 1.5学籍管理模块 1.5.1添加学籍信息功能 选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。 在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。 1.5.2修改学籍信息功能 点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个

学生信息管理系统软件工程

河南工程学院计算机学院课程设计报告书学生信息管理系统 学生学号: 学生姓名: 学院: 专业班级:软件工程1241 专业课程:软件工程 指导教师: 2015年1 月9日

本组成员 题目 考核项目考核内容得分平时考核 (10分)出勤情况、态度、效率、协作精神;知识掌 握情况、知识应用能力、获取知识能力。 选题背景、目的意义和国内外研究现状(10分)选题背景、目的意义和国内外研究现状内容全面,体现学生查阅资料充分。 系统可行性研究 (10分)对所选课题从技术上、操作上和经济上等方 面进行分析可行性。 系统需求分析 (30分)确定系统功能需求、性能需求、出错处理需 求等;分析系统的数据要求,画出实体-联系图等。 系统设计 (15分)确定软件结构,设计软件结构图和数据库设 计;主要模块的过程设计等。 课程设计体会、格式排版 (20分)课程设计体会深刻,报告书写干净、规范, 内容完整,语句通顺,图表正确等。 奖励分(5分)提前完成的加分。 总评成绩 指导教师评语: 年月日

目录 1 绪论 (1) 选题背景和意义 (1) 国内外研究现状 (1) 国内研究现状 (1) 国外研究现状 (2) 存在的主要问题和拟解决方法 (2) 论文研究的主要内容 (2) 2 系统可行性分析 (3) 技术可行性 (3) 经济可行性 (3) 操作可行性 (3) 3 系统需求分析 (4) 功能需求 (4) 性能需求 (5) 数据流程图 (5) 数据字典 (9) 学生信息管理 (9) 成绩管理模块 (9) 课程信息管理模块 (10) 查询模块 (10) 4 系统设计 (11) 系统框架 (11) 系统流程分析 (11) 系统模块分析 (12) 数据库设计 (20) 5 课程设计体会 (22) 参考文献 (23)

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

学生信息管理系统

全国学前教育管理信息系统 培训上机指南 一、网址、用户名及密码 1、专题网址:https://www.360docs.net/doc/3f14444095.html,/,系统由专题右上方《管理系统入口》进入。 2、用户名(另发)。 3、测试系统初始密码统一为xueqian@2014(仅在培训时为此密码),请勿在培训时修改此密码。在使用正式系统时请修改密码。 二、系统登录注意事项 1、建议电脑为XP系统的情况下使用火狐或谷歌浏览器登录系统。 2、登录系统前,须进行浏览器设置,设置方法如下:“工具”→“Internet选项”→“隐私”→“高级”→勾选“替代自动cookie处理”和“总是允许会话cookie”。 3、不要使用同一浏览器登录多个用户。 4、在输入用户名和密码时注意键盘大小写的切换。 5、登录系统时,如密码连续五次输入错误,系统会自动锁定该账号,锁定时间为15分钟,15分钟以后才能再登录系统,建议骨干学校和市州在登录时如输错4次密码时不要再进行第5次密码的输入,可用同级或上级的系统管理员账号(A开头的账号)重置密码,再进行系统登录。

三、需完成任务 各学校使用学校级系统,市州使用县、市级系统,骨干学校与市州配合完成各项流程(机构管理、幼儿管理、业务管理、一期数据管理、机构在园幼儿情况、系统管理),具体操作步骤如下(以县级学校为例): (一)机构管理 1、使用机构级账号(普通用户)登录系统,进入“机构管理”->“基本信息管理”,进行学校扩展信息的填写(基本信息由系统自动导入),此处应注意“提交”与“保存”两个按钮的区别。 2、使用区县级账号(审核用户)登录系统,进入“业务管理”->“机构数据管理” ->“基本信息审核”,审核学校提交的基本信息。 3、使用机构级账号(普通用户)登录系统,进入“机构管理”->“办学条件信息管理”,根据提示编辑办学条件基本信息与办学条件建筑信息(该页面有两个选项卡),并提交审核。 4、使用区县级账号(审核用户)登录系统,进入“业务管理”->“机构数据管理” ->“办学条件信息审核”,审核学校提交的基本信息。 5、使用机构级账号(普通用户)登录系统,进入“机构管理”->“班级信息管理”,至少创建5个以上的班级(最好有连续的年级)。

学生管理信息系统功能结构图

学生管理信息系统功能 结构图 标准化管理部编码-[99968T-6889628-J68568-1689N]

郑州华信学院 学生信息管理系统 课程名称:信息系统分析与设计 项目名称:学生信息管理系统 报告名称:功能结构图 指导老师:王国君老师 专业班级:08计算机科学与技术 小组编号:第6组 系统功能结构 1.结构设计 根据对系统进行的需求分析,本系统将分为4个模块: 1>学生管理 管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 2>课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。 3>成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 4>信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息成绩信息。

2.功能结构图 2.1系统功能结构如图所示: 2.2功能流程及工作流描述 1>增加学生信息 系统操作人员打开学生信息增加界面,输入相关信息(姓名、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。 2>修改学生信息 根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。 3>删除学生信息 根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。 4>学生选课 根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。 5>增加课程信息 系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。 6>修改课程信息

根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。 7>删除课程信息 根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。 8>登记成绩 根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记 9>修改成绩 对已登记的成绩进行修改。 10>学生查询 可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合条件的学生信息都将会被显示出来。 11>课程查询 可以按照课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。 12>成绩查询 根据学生的学号来查询该学生所有选课的成绩。

学生信息管理系统程序

. C语言上机实践报告 专业:冶金工程 班级:冶金1102 姓名: 学号: 任课教师:丽华 时间:2012年8月

一、题目 学生信息管理系统设计 ●学生信息包括:学号,姓名,年龄,性别,出生年月,地址,,E-mail等。 ●试设计一学生信息管理系统,使之能提供以下功能: a)系统以菜单方式工作 b)学生信息录入功能(学生信息用文件保存)---输入 c)学生信息浏览功能---输出 d)查询、排序功能---算法 (1) 按学号查询 (2) 按姓名查询 e)学生信息的删除与修改(可选项) 一、系统功能模块结构图

二、数据结构设计及用法说明#include"stdio.h" #include"stdlib.h" #include"string.h" /*定义结构体用作创建链表*/ typedef struct z1 { char no[11]; //学生学号 char name[15]; //学生姓名 int age; //学生年龄 char sex; //学生性别 char birthday[8]; //学生出生年月char address[20]; //学生住址 char tel[12]; //学生联系 char e_mail[20]; //学生e-mail struct z1 *next; //指向下一链表}STUDENT; /*声明用户自定义函数*/ STUDENT *init();

STUDENT *create(); STUDENT *del(STUDENT *h); STUDENT *insert(STUDENT *h); STUDENT *revise(STUDENT *h); void print(STUDENT *h); void search1(STUDENT *h); void search2(STUDENT *h); void save(STUDENT *h); int menu_select(); void inputs(char *prompt,char *s,int count); /*主函数,用于选择功能*/ void main() { STUDENT *head; head=init(); //初始化链表表头 for(;;) { switch(menu_select()) { case 0:head=init();break; //初始化 case 1:head=create();break; //创建列表

简单学生信息管理系统设计

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组容。 2.设计实现一个简单的信息管理系统。 实验容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有、学号、math、os、java用来存放 对应的成绩,在构造方法中进行、学号、课程成绩的赋值。 Override有Object继承来的tostring方法已便友好格式显 示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 (判断是否相等使用string类的equalsIgnoreCase方 法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的容,注意要考虑以前未保存容的情况, 可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找 3 按查找 4 按学号删除 5 保存 6 读入7 退出 请输入数字(1-7): 程序代码

学生信息管理系统(完整)

学生信息管理系统(总体设计) 1、管理系统功能模块设计 本系统需要完成的功能主要有: (1)、输入学生基本信息、所在班级、所学课程和成绩等。 (2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。(3)、学生信息的修改。 (4)、班级信息的输入,包括输入班级设置、年级信息等。 (5)、班级信息的查询。 (6)、班级信息的修改。 (7)、班级课程信息的输入。 (8)、班级课程信息的修改。 (9)、学生课程添加和修改。 (10)、学生成绩信息的输入。 (11)、学生成绩信息的修改。 (12)、学生成绩信息的查询。 (13)、学生成绩信息的统计。 2、功能模块设计:

3、数据库设计:

学生信息管理系统(需求分析)

1.系统开发背景分析 系统的功能取决开用户的需求。随着科技进步和信息时代的到来,教育的普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,已经成为一个学校的管理者必须面对的问题。编写本报告的目的就是用最少的代价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全和快捷。 在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间, 班级编号,家庭地址) b)课程(课程编号,课程名称,课程类别,学分,学时) c)班级(系,班级号,指导老师) 2.系统分析 1.抽象出当前系统的逻辑模型 画出反映当前系统工作的数据流程图。数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。 2.系统功能分析 系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:查询、修改、增加、删除。 3.系统目标设计 根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询. 4.开发设计思想 尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。强调多部门合作,学生工作设计面广泛,应该考虑各部门各

学生信息管理系统

学生信息管理系统

学生信息管理系统项目设计报告 学生信息管理系统(Student Information Management S ystem),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便 于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了 很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便 于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以 通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有 助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用。因此,开发这样一套管理软件成为很有必要的事情。 一、需求分析 该学生信息管理系统主要功能:学生通过输入学号和密码进入该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。 随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高, 特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及 商业信息管理等方面的应用,日益受到人们的关注。

学生信息管理系统程序设计

学生信息管理系统 程序设计

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先能够对学生基本信息进行录入和存取,其次能够浏览学生的相关信息,然后能够删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。

(4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (7)退出系统,结束任务。 4、软件功能的验收标准

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: 姓名: 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用 来存放对应的成绩,在构造方法中进行姓名、学号、课 程成绩的赋值。Override有Object继承来的tostring方法 已便友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方 法,在main中写一段测试代码,运行以保证目前所做工 作的正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制 到新数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误 信息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的 情况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如 下: 1显示所有学生信息 2按学号查找 3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7):

C简单学生成绩管理系统

C++学生成绩管理系统 要求用C++语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。 学生成绩管理系统分析: 学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。 学生成绩管理系统结构:

各个子函数功能及其流程: 1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数 2.Student();构造函数,用于初始化学生类中的各个变量并记录 3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容 4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩

5.Find();函数:用于查找学生各项信息。 6.modify();函数:用于修改学生各项信息。 7.delete();函数:用于删除学生信息。

8.sort();函数:对学生各项信息进行排序操作。 8.save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文件将其中 的学生信息显示出来

9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码: 此函数源代码在VisualC++6.0环境下编译通过。具体如下: #include"iostream.h" #include"conio.h" #include"iomanip.h" #include"stdio.h" #include"string.h" #include"stdlib.h" #include"fstream.h" class student //定义学生类 { private://定义学生类的私有成员 char name[20]; //名字 char sex[5]; //性别 int number; //学号 int score[3]; //分数 int total; //总分 int average; //平均分 public: //公有成员 student(); //学生构造函数,用于学生数据的初始化及保存学生数据 void add(); //添加学生信息函数 void output(); //输出学生信息函数 void find(); //查找学生数据函数 void modify(); //修改学生信息函数 void deleted(); //删除学生信息函数 void sort(); //排序函数 void save(); //保存学生信息并写入文件函数 void load (); //打开写有学生信息的文件的函数

学生信息管理系统C程序

#include #include #include #include//getch();kibhit()的头文件struct student { int id; char name[20]; char password[11]; char classs[6]; struct like { float physics;//物理 float biology;//生物 float chemistry;//化学 }grade; int age; int ranking; }; typedef struct student ST;//为已有的数据类型命名struct administrator { char name[20]; char password[11]; }ad={"lichao","12343456"}; void Chushihua();//系统初始化函数 void Stucpw(int i);//学生改密函数 void Ssave(ST stu[30],int r);//系统保存函数 void Stuadd();//添加学生函数 int Save_enquiry();//修改确定询问函数 void Studelete();//删除学生函数 void Stualter();//修改学生函数 void Sturefer();//学生查询函数 void Sturank(ST stu0[30],int i);//终极排名函数void Stuclassesrank();//学生班级挑选函数 void Stuallout();//少女通灵之术 char* Passwordinputhide(); int main() { int flag0=0;//选择登陆方式的标志 int flag1;//密码错误次数标志 int flag3;//选择操作方式的标志 char ad_name[20];//输入的管理员名字 char ad_password[11];//输入的管理员密码

简单学生信息管理系统

. ——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用来 存放对应的成绩,在构造方法中进行姓名、学号、课程成 绩的赋值。Override有Object继承来的tostring方法已便 友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误信 息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的情 况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7): 程序代码

学生信息管理信息系统

管理信息系统 课程设计报告 专业:电子商务 学号: 姓名: 2011年12 月 29 日

实验内容和评分项目

学生信息管理信息系统的分析与设计 一. 总体规划: 1.系统开发的背景 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。 作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。 2.系统功能需求 学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管 理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管理系统的应用是进一步推进学生管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。 学生信息的内容包括: 1. 能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。 2. 能够将指定的信息从文件中删除。 3. 能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。 4. 可以统计全部学生的总成绩,及其在班上的排名。 5. 能够统计各科的平均成绩及及格率。 6. 要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。 7. 如果检索不到相应的信息应提示用户。

c学生信息管理系统

洛阳理工学院 课程设计报告课程名称高级语言C#课程设计 设计题目学生信息管理系统 专业计算机科学与技术 班级 B130506 学号 姓名张葵 完成日期 课程设计任务书 设计题目:学生信息管理系统 教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。一个教师可以教授多个班的多门课程。 教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。 课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。 系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

指导教师:张文学 2015 年 12 月 27 日 课程设计评语成绩: 指导教师:_______________ 2015 年 12 月 31 日

目录

第 1 章需求和可行性分析 需求分析 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。学校的管理人员可以通过电脑对学生信息进行有效的管理,避免了以往人工管理的复杂和耗时费力的劳动,也大大的能够减少管理人员的工作量,可以有效的节约学校的开支。

功能需求 作为一个学生的信息管理系统,必须要有管理人员能够进行对学生的信息进 行有效的管理,因此,系统必须预留一个管理员的登录窗口和登录之后所能进行的操作,在学生信息管理系统中,管理员具有最高的权限,可以对学生、老师、班级、专业等等进行添加、删除、修改个查询。除了拥有管理员之外,还应该拥有教务处对学生进行管理,例如:对学生课程,成绩等等具有一定的权限。此外,还应该有老师的一个权限,老师在带完一门课之后可以对学生进行一个成绩录入和平时布置作业的功能。最后是学生自己拥有的功能,学生在考试结束后可以利用系统登录自己的账户对成绩进行查询。 在学生信息管理系统中,要明确各类用户所能拥有的最高权限,如果一旦权限的问题搞错以后,整个系统就会变得没有价值。例如:学生只有对成绩的查询功能,而不能对成绩拥有修改和删除以及插入的功能。老师只能够对学生进行成绩的录入和平时布置作业,而不能删除学生的个人信息等权限。 要设立不同的异常机制,这样不会因为用户的错误的操作而使得系统瞬时奔溃。我们要在代码中设置不同的异常抛出机制,这样就可以使得用户在进行了错误的或者违反规则的操作之后,系统不会出现突然的停止运转。 可行性分析 随着计算机语言和数据服务的不断发展,使得许多的现实问题都可以利用计算机来帮助人类实现轻巧,方便的管理。在教育上,学生是一个庞大的群体,因此技术人员早早就开始想办法解决这个问题,因此,目前对于学生信息的管理各种语言都能够编写出一套完整的、可用的学生信息管理系统。 技术可行性 在这套系统的开发中,采用的是开发语言是C#,软件是Visio Studio2010,C#是微软对问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft?平台的应用程序,Microsoft .NET提供

学生管理信息系统功能结构图

华信学院学生信息管理系统 课程名称:信息系统分析与设计项目名称:学生信息管理系统 报告名称:功能结构图 指导老师:王国君老师 专业班级: 08计算机科学与技术小组编号:第6组

系统功能结构 1.结构设计 根据对系统进行的需求分析,本系统将分为4个模块: 1>学生管理 管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 2>课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。3>成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 4>信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息成绩信息。 2.功能结构图 2.1系统功能结构如图所示:

2.2功能流程及工作流描述 1>增加学生信息 系统操作人员打开学生信息增加界面,输入相关信息(、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。

2>修改学生信息 根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。 3>删除学生信息 根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。 4>学生选课 根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。 5>增加课程信息 系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。 6>修改课程信息 根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。 7>删除课程信息 根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。 8>登记成绩 根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记

学生信息管理系统程序设计

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。 (4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (7)退出系统,结束任务。 4、软件功能的验收标准 1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。 2.有严密正确的数据验证功能和数据处理功能,能够查询、插入、修改和删除学生信息。

学生信息管理系统详细设计

学生信息管理系统 详细设计 课程名称:软件工程 指导老师:冯年荣 组员:岳一沿、朱隆君、张敏 张雨、邵天宇、万文彬 2015/5/1

1、详细设计概述 详细设计也叫做程序设计,它不同于编码或编制程序。在详细设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。编程设计所开发项目的具体要求和对每个模块规定的功能,以及算法的设计和评价。详细设计需要给出适当的算法描述,为此应提供详细设计的表达工具。 在理想情况下,算法过程描述应采用自然描述语言来表达,使不熟悉软件的人理解这些规格说明比较容易,无需重新学习。但是,自然语言在语法上和语义上往往具有多义性,常常要依赖上下文才能把问题交代清楚。因此,必须使用约束性更强的方式来表达细节。 2、详细设计的基本内容 详细设计过程中需要完成的工作主要是确定软件各个组成部分内的算法以及各个部分的内部数据结构,确定各个组成部分的逻辑过程。另外还有以下工作。 2.1 处理方式的设计 (1)数据结构设计:对于需求分析、总体设计确定的概念性的数据类型进行确切的定义。 (2)算法设计:用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来,并为实现软件系统的功能需求确定所必需的算法,评估算法的性能。(3)性能设计:为满足软件系统的性能需求确定所必需的算法和模块间的控制方式。(4)确定外部信号的接受发送形式。 2.2 物理设计

对数据库进行物理设计,确定数据库的物理结构。 2.3 可靠性设计 2.4 其他设计 (1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。 (2)输入输出格式设计:针对各个功能,根据界面设计风格,设计各类界面的样式。 (3)人机对话设计:对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。 3、结构程序设计 3.1 五种基本控制结构构造程序。 (1)顺序型:几个连续的加工步骤依次排列构成。此处不是重点,只举例其中几个流程图。 (2)选择型:由某个逻辑判断式的取值决定选择其中的一个。

相关文档
最新文档