搜档网
当前位置:搜档网 › 学生信息系统C代码

学生信息系统C代码

学生信息系统C代码
学生信息系统C代码

#include "stdio.h" /*标准输入输出函数库*/

#include "stdlib.h" /*标准函数库*/

#include "string.h" /*字符串函数库*/

#include "conio.h" /*屏幕操作函数库*/

#define HEADER1 " ----------------------------STUDENT---------------------------------- \n"

#define HEADER2 " | number | name |Comp|Math|Eng | sum | ave |mici | \n"

#define HEADER3 " |---------------|---------------|----|----|----|--------|-------|-----| "

#define FORMAT " | %-10s |%-15s|%4d|%4d|%4d| %4d | %.2f |%4d |\n"

#define DATA p->data.num,p->https://www.sodocs.net/doc/932382958.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.ave,p->data.mingci

#define END " --------------------------------------------------------------------- \n"

int saveflag=0。 /*是否需要存盘的标志变量*/

/*定义与学生有关的数据结构*/

typedef struct student /*标记为student*/

{

char num[10]。 /*学号*/

char name[15]。 /*姓名*/

int cgrade。 /*C语言成绩*/

int mgrade。 /*数学成绩*/

int egrade。 /*英语成绩*/

int total。 /*总分*/

float ave。 /*平均分*/

int mingci。 /*名次*/

}。

/*定义每条记录或结点的数据结构,标记为:node*/

typedef struct node

{

struct student data。 /*数据域*/

struct node *next。 /*指针域*/

}Node,*Link。 /*Node为node类型的结构变量,*Link为node类型的指针变量*/

void menu(> /*主菜单*/

{

system("cls">。 /*调用DOS命令,清屏.与clrscr(>功能相同*/

textcolor(10>。 /*在文本模式中选择新的字符颜色*/

gotoxy(10,5>。 /*在文本窗口中设置光标*/

cprintf(" The Students' Grade Management System \n">。

gotoxy(10,8>。

cprintf(" *************************Menu********************************\n">。gotoxy(10,9>。

cprintf(" * 1 input record 2 delete record *\n">。

gotoxy(10,10>。

cprintf(" * 3 search record 4 modify record *\n">。

gotoxy(10,11>。

cprintf(" * 5 insert record 6 count record *\n">。

gotoxy(10,12>。

cprintf(" * 7 sort reord 8 save record *\n">。

gotoxy(10,13>。

cprintf(" * 9 display record 0 quit system *\n">。

gotoxy(10,14>。

cprintf(" *************************************************************\n">。

/*cprintf(>送格式化输出至文本窗口屏幕中*/

}

void printheader(> /*格式化输出表头*/

{

printf(HEADER1>。

printf(HEADER2>。

printf(HEADER3>。

}

void printdata(Node *pp> /*格式化输出表中数据*/

{

Node* p。

p=pp。

printf(FORMA T,DATA>。

}

void Wrong(> /*输出按键错误信息*/

{

printf("\n\n\n\n\n***********Error:input has wrong! press any key to continue**********\n">。

getchar(>。

}

void Nofind(> /*输出未查找此学生的信息*/

{

printf("\n=====>Not find this student!\n">。

}

void Disp(Link l> /*显示单链表l中存储的学生记录,内容为student结构中定义的内容*/ {

Node *p。

p=l->next。 /*l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息*/

if(!p> /*p==NULL,NUll在stdlib中定义为0*/

{

printf("\n=====>Not student record!\n">。

getchar(>。

return。

}

printf("\n\n">。

printheader(>。 /*输出表格头部*/

while(p> /*逐条输出链表中存储的学生信息*/

{

printdata(p>。

p=p->next。 /*移动直下一个结点*/

printf(HEADER3>。

}

getchar(>。

}

/*************************************************************

作用:用于定位链表中符合要求的节点,并返回指向该节点的指针

参数:findmess[]保存要查找的具体内容。 nameornum[]保存按什么查找。

在单链表l中查找。

**************************************************************/ Node* Locate(Link l,char findmess[],char nameornum[]>

{

Node *r。

if(strcmp(nameornum,"num">==0> /*按学号查询*/

{

r=l->next。

while(r>

{

if(strcmp(r->data.num,findmess>==0> /*若找到findmess值的学号*/

return r。

r=r->next。

}

}

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

{

r=l->next。

while(r>

{

if(strcmp(r->https://www.sodocs.net/doc/932382958.html,,findmess>==0> /*若找到findmess值的学生姓名*/ return r。

r=r->next。

}

}

return 0。 /*若未找到,返回一个空指针*/

}

/*输入字符串,并进行长度验证(长度*/

void stringinput(char *t,int lens,char *notice>

{

char n[255]。

do{

printf(notice>。 /*显示提示信息*/

scanf("%s",n>。 /*输入字符串*/

if(strlen(n>>lens>printf("\n exceed the required length! \n">。/*进行长度校验,超过lens 值重新输入*/

}while(strlen(n>>lens>。

strcpy(t,n>。 /*将输入的字符串拷贝到字符串t中*/

}

/*输入分数,0<=分数<=100>*/

int numberinput(char *notice>

{

int t=0。

do{

printf(notice>。 /*显示提示信息*/

scanf("%d",&t>。 /*输入分数*/

if(t>100 || t<0> printf("\n score must in [0,100]! \n">。 /*进行分数校验*/

}while(t>100 || t<0>。

return t。

}

/*增加学生记录*/

void Add(Link l>

{

Node *p,*r,*s。 /*实现添加操作的临时的结构体指针变量*/

char ch,flag=0,num[10]。

r=l。

s=l->next。

system("cls">。

Disp(l>。 /*先打印出已有的学生信息*/

while(r->next!=NULL>

r=r->next。 /*将指针移至于链表最末尾,准备添加记录*/

while(1> /*一次可输入多条记录,直至输入学号为0的记录结点添加操作*/

{

while(1> /*输入学号,保证该学号没有被使用,若输入学号为0,则退出添加记录操作*/ {

stringinput(num,10,"input number(press '0'return menu>:">。 /*格式化输入学号并检验*/

flag=0。

if(strcmp(num,"0">==0> /*输入为0,则退出添加操作,返回主界面*/

{return。}

s=l->next。

while(s> /*查询该学号是否已经存在,若存在则要求重新输入一个未被占用的学号*/

{

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

{

flag=1。

break。

}

s=s->next。

}

if(flag==1> /*提示用户是否重新输入*/

{ getchar(>。

printf("=====>The number %s is not existing,try again?(y/n>:",num>。

scanf("%c",&ch>。

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

continue。

else

return。

}

else

{break。}

}

p=(Node *>malloc(sizeof(Node>>。 /*申请内存空间*/

if(!p>

{

printf("\n allocate memory failure ">。 /*如没有申请到,打印提示信息*/

return 。 /*返回主界面*/

}

strcpy(p->data.num,num>。 /*将字符串num拷贝到p->data.num中*/

stringinput(p->https://www.sodocs.net/doc/932382958.html,,15,"Name:">。

p->data.cgrade=numberinput("C language Score[0-100]:">。 /*输入并检验分数,分数必须在0-100之间*/

p->data.mgrade=numberinput("Math Score[0-100]:">。 /*输入并检验分数,分数必须在0-100之间*/

p->data.egrade=numberinput("English Score[0-100]:">。 /*输入并检验分数,分数必须在0-100之间*/

p->data.total=p->data.egrade+p->data.cgrade+p->data.mgrade。 /*计算总分*/

p->data.ave=(float>(p->data.total/3>。 /*计算平均分*/

p->data.mingci=0。

p->next=NULL。 /*表明这是链表的尾部结点*/

r->next=p。 /*将新建的结点加入链表尾部中*/

r=p。

saveflag=1。

}

return 。

}

void Qur(Link l> /*按学号或姓名,查询学生记录*/

{

int select。 /*1:按学号查,2:按姓名查,其他:返回主界面<菜单)*/

char searchinput[20]。 /*保存用户输入的查询内容*/

Node *p。

if(!l->next> /*若链表为空*/

{

system("cls">。

printf("\n=====>No student record!\n">。

getchar(>。

return。

}

system("cls">。

printf("\n =====>1 Search by number =====>2 Search by name\n">。

printf(" please choice[1,2]:">。

scanf("%d",&select>。

if(select==1> /*按学号查询*/

{

stringinput(searchinput,10,"input the existing student number:">。

p=Locate(l,searchinput,"num">。/*在l中查找学号为searchinput值的节点,并返回节点的指针*/

if(p> /*若p!=NULL*/

{

printheader(>。

printdata(p>。

printf(END>。

printf("press any key to return">。

getchar(>。

}

else

Nofind(>。

getchar(>。

}

else if(select==2> /*按姓名查询*/

{

stringinput(searchinput,15,"input the existing student name:">。

p=Locate(l,searchinput,"name">。

if(p>

{

printheader(>。

printdata(p>。

printf(END>。

printf("press any key to return">。

getchar(>。

}

else

Nofind(>。

getchar(>。

}

else

Wrong(>。

getchar(>。

}

/*删除学生记录:先找到保存该学生记录的节点,然后删除该节点*/ void Del(Link l>

{

int sel。

Node *p,*r。

char findmess[20]。

if(!l->next>

{ system("cls">。

printf("\n=====>No student record!\n">。

getchar(>。

return。

}

system("cls">。

Disp(l>。

printf("\n =====>1 Delete by number =====>2 Delete by name\n">。printf(" please choice[1,2]:">。

scanf("%d",&sel>。

if(sel==1>

{

stringinput(findmess,10,"input the existing student number:">。

p=Locate(l,findmess,"num">。

if(p> /*p!=NULL*/

{

r=l。

while(r->next!=p>

r=r->next。

r->next=p->next。/*将p所指节点从链表中去除*/

free(p>。 /*释放内存空间*/

printf("\n=====>delete success!\n">。

getchar(>。

saveflag=1。

}

else

Nofind(>。

getchar(>。

}

else if(sel==2> /*先按姓名查询到该记录所在的节点*/

{

stringinput(findmess,15,"input the existing student name">。

p=Locate(l,findmess,"name">。

if(p>

{

r=l。

while(r->next!=p>

r=r->next。

r->next=p->next。

free(p>。

printf("\n=====>delete success!\n">。

getchar(>。

saveflag=1。

}

else

Nofind(>。

getchar(>。

}

else

Wrong(>。

getchar(>。

}

/*修改学生记录。先按输入的学号查询到该记录,然后提示用户修改学号之外的值,学号不能修改*/

void Modify(Link l>

{

Node *p。

char findmess[20]。

if(!l->next>

{ system("cls">。

printf("\n=====>No student record!\n">。

getchar(>。

return。

}

system("cls">。

printf("modify student recorder">。

Disp(l>。

stringinput(findmess,10,"input the existing student number:">。 /*输入并检验该学号*/

p=Locate(l,findmess,"num">。 /*查询到该节点*/

if(p> /*若p!=NULL,表明已经找到该节点*/

{

printf("Number:%s,\n",p->data.num>。

printf("Name:%s,",p->https://www.sodocs.net/doc/932382958.html,>。

stringinput(p->https://www.sodocs.net/doc/932382958.html,,15,"input new name:">。

printf("C language score:%d,",p->data.cgrade>。

p->data.cgrade=numberinput("C language Score[0-100]:">。

printf("Math score:%d,",p->data.mgrade>。

p->data.mgrade=numberinput("Math Score[0-100]:">。

printf("English score:%d,",p->data.egrade>。

p->data.egrade=numberinput("English Score[0-100]:">。

p->data.total=p->data.egrade+p->data.cgrade+p->data.mgrade。

p->data.ave=(float>(p->data.total/3>。

p->data.mingci=0。

printf("\n=====>modify success!\n">。

Disp(l>。

saveflag=1。

}

else

Nofind(>。

getchar(>。

}

/*插入记录:按学号查询到要插入的节点的位置,然后在该学号之后插入一个新节点。*/ void Insert(Link l>

{

Link p,v,newinfo。 /*p指向插入位置,newinfo指新插入记录*/

char ch,num[10],s[10]。 /*s[]保存插入点位置之前的学号,num[]保存输入的新记录的学号*/ int flag=0。

v=l->next。

system("cls">。

Disp(l>。

while(1>

{ stringinput(s,10,"please input insert location after the Number:">。

flag=0。v=l->next。

while(v> /*查询该学号是否存在,flag=1表示该学号存在*/

{

if(strcmp(v->data.num,s>==0> {flag=1。break。}

v=v->next。

}

if(flag==1>

break。 /*若学号存在,则进行插入之前的新记录的输入操作*/

else

{ getchar(>。

printf("\n=====>The number %s is not existing,try again?(y/n>:",s>。

scanf("%c",&ch>。

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

{continue。}

else

{return。}

}

}

/*以下新记录的输入操作与Add(>相同*/

stringinput(num,10,"input new student Number:">。

v=l->next。

while(v>

{

if(strcmp(v->data.num,num>==0>

{

printf("=====>Sorry,the new number:'%s' is existing !\n",num>。

printheader(>。

printdata(v>。

printf("\n">。

getchar(>。

return。

}

v=v->next。

}

newinfo=(Node *>malloc(sizeof(Node>>。

if(!newinfo>

{

printf("\n allocate memory failure ">。 /*如没有申请到,打印提示信息*/

return 。 /*返回主界面*/

}

strcpy(newinfo->data.num,num>。

stringinput(newinfo->https://www.sodocs.net/doc/932382958.html,,15,"Name:">。

newinfo->data.cgrade=numberinput("C language Score[0-100]:">。

newinfo->data.mgrade=numberinput("Math Score[0-100]:">。

newinfo->data.egrade=numberinput("English Score[0-100]:">。

newinfo->data.total=newinfo->data.egrade+newinfo->data.cgrade+newinfo->data.mgrade。 newinfo->data.ave=(float>(newinfo->data.total/3>。

newinfo->data.mingci=0。

newinfo->next=NULL。

saveflag=1。 /*在main(>有对该全局变量的判断,若为1,则进行存盘操作*/

/*将指针赋值给p,因为l中的头节点的下一个节点才实际保存着学生的记录*/

p=l->next。

while(1>

{

if(strcmp(p->data.num,s>==0> /*在链表中插入一个节点*/

{

newinfo->next=p->next。

p->next=newinfo。

break。

}

p=p->next。

}

Disp(l>。

printf("\n\n">。

getchar(>。

}

/*统计该班的总分第一名和单科第一,和各科不及格人数*/

void Tongji(Link l>

{

Node *pm,*pe,*pc,*pt。 /*用于指向分数最高的节点*/

Node *r=l->next。

int countc=0,countm=0,counte=0。 /*保存三门成绩中不及格的人数*/

if(!r>

{ system("cls">。

printf("\n=====>Not student record!\n">。

getchar(>。

return 。

}

system("cls">。

Disp(l>。

pm=pe=pc=pt=r。

while(r>

{

if(r->data.cgrade<60> countc++。

if(r->data.mgrade<60> countm++。

if(r->data.egrade<60> counte++。

if(r->data.cgrade>=pc->data.cgrade> pc=r。

if(r->data.mgrade>=pm->data.mgrade> pm=r。

if(r->data.egrade>=pe->data.egrade> pe=r。

if(r->data.total>=pt->data.total> pt=r。

r=r->next。

}

printf("\n------------------------------the TongJi result--------------------------------\n">。

printf("C Language<60:%d (ren>\n",countc>。

printf("Math <60:%d (ren>\n",countm>。

printf("English <60:%d (ren>\n",counte>。

printf("-------------------------------------------------------------------------------\n">。

printf("The highest student by total scroe name:%s totoal score:%d\n",pt->https://www.sodocs.net/doc/932382958.html,,pt->data.total>。

printf("The highest student by English score name:%s totoal score:%d\n",pe->https://www.sodocs.net/doc/932382958.html,,pe->data.egrade>。

printf("The highest student by Math score name:%s totoal score:%d\n",pm->https://www.sodocs.net/doc/932382958.html,,pm->data.mgrade>。

printf("The highest student by C score name:%s totoal score:%d\n",pc->https://www.sodocs.net/doc/932382958.html,,pc->data.cgrade>。

printf("\n\npress any key to return">。

getchar(>。

}

/*利用插入排序法实现单链表的按总分字段的降序排序,从高到低*/

void Sort(Link l>

{

Link ll。

Node *p,*rr,*s。

int i=0。

if(l->next==NULL>

{ system("cls">。

printf("\n=====>Not student record!\n">。

getchar(>。

return 。

}

ll=(Node*>malloc(sizeof(Node>>。 /*用于创建新的节点*/

if(!ll>

{

printf("\n allocate memory failure ">。 /*如没有申请到,打印提示信息*/

return 。 /*返回主界面*/

}

ll->next=NULL。

system("cls">。

Disp(l>。 /*显示排序前的所有学生记录*/

p=l->next。

while(p> /*p!=NULL*/

{

s=(Node*>malloc(sizeof(Node>>。 /*新建节点用于保存从原链表中取出的节点信息*/

if(!s> /*s==NULL*/

{

printf("\n allocate memory failure ">。 /*如没有申请到,打印提示信息*/

return 。 /*返回主界面*/

}

s->data=p->data。 /*填数据域*/

s->next=NULL。 /*指针域为空*/

rr=ll。

/*rr链表于存储插入单个节点后保持排序的链表,ll是这个链表的头指针,每次从头开始查找插入位置*/

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

{rr=rr->next。} /*指针移至总分比p所指的节点的总分小的节点位置*/

if(rr->next==NULL>/*若新链表ll中的所有节点的总分值都比p->data.total大时,就将p所指节点加入链表尾部*/

rr->next=s。

else /*否则将该节点插入至第一个总分字段比它小的节点的前面*/

{

s->next=rr->next。

rr->next=s。

}

p=p->next。 /*原链表中的指针下移一个节点*/

}

l->next=ll->next。 /*ll中存储是的已排序的链表的头指针*/

p=l->next。 /*已排好序的头指针赋给p,准备填写名次*/

while(p!=NULL> /*当p不为空时,进行下列操作*/

{

i++。 /*结点序号*/

p->data.mingci=i。 /*将名次赋值*/

p=p->next。 /*指针后移*/

}

Disp(l>。

saveflag=1。

printf("\n =====>sort complete!\n">。

}

/*数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘*/

void Save(Link l>

{

FILE* fp。

Node *p。

int count=0。

fp=fopen("c:\\student","wb">。/*以只写方式打开二进制文件*/

if(fp==NULL> /*打开文件失败*/

{

printf("\n=====>open file error!\n">。

getchar(>。

return 。

}

p=l->next。

while(p>

{

if(fwrite(p,sizeof(Node>,1,fp>==1>/*每次写一条记录或一个节点信息至文件*/

{

p=p->next。

count++。

}

else

{

break。

}

}

if(count>0>

{

getchar(>。

printf("\n\n\n\n\n=====>save file complete,total saved's record number is:%d\n",count>。

getchar(>。

saveflag=0。

}

else

{system("cls">。

printf("the current link is empty,no student record is saved!\n">。

getchar(>。

}

fclose(fp>。 /*关闭此文件*/

}

void main(>

{

Link l。 /*定义链表*/

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

int select。 /*保存选择结果变量*/

char ch。 /*保存(y,Y,n,N>*/

int count=0。 /*保存文件中的记录条数<或结点个数)*/

Node *p,*r。 /*定义记录指针变量*/

l=(Node*>malloc(sizeof(Node>>。

if(!l>

{

printf("\n allocate memory failure ">。 /*如没有申请到,打印提示信息*/

return 。 /*返回主界面*/

}

l->next=NULL。

r=l。

fp=fopen("C:\\student","ab+">。/*以追加方式打开一个二进制文件,可读可写,若此文件不存在,会创建此文件*/

if(fp==NULL>

{

printf("\n=====>can not open file!\n">。

exit(0>。

}

while(!feof(fp>>

{

p=(Node*>malloc(sizeof(Node>>。

if(!p>

{

printf(" memory malloc failure!\n">。 /*没有申请成功*/

exit(0>。 /*退出*/

}

if(fread(p,sizeof(Node>,1,fp>==1> /*一次从文件中读取一条学生成绩记录*/

{

p->next=NULL。

r->next=p。

r=p。 /*r指针向后移一个位置*/

count++。

}

}

fclose(fp>。 /*关闭文件*/

printf("\n=====>open file sucess,the total records number is : %d.\n",count>。menu(>。

while(1>

{

system("cls">。

menu(>。

p=r。

printf("\n Please Enter your choice(0~9>:">。 /*显示提示信息*/

scanf("%d",&select>。

if(select==0>

{

if(saveflag==1> /*若对链表的数据有修改且未进行存盘操作,则此标志为1*/ { getchar(>。

printf("\n=====>Whether save the modified record to file?(y/n>:">。

scanf("%c",&ch>。

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

Save(l>。

}

printf("=====>thank you for useness!">。

getchar(>。

break。

}

switch(select>

{

case 1:Add(l>。break。 /*增加学生记录*/

case 2:Del(l>。break。 /*删除学生记录*/

case 3:Qur(l>。break。 /*查询学生记录*/

case 4:Modify(l>。break。 /*修改学生记录*/

case 5:Insert(l>。break。 /*插入学生记录*/

case 6:Tongji(l>。break。 /*统计学生记录*/

case 7:Sort(l>。break。 /*排序学生记录*/

case 8:Save(l>。break。 /*保存学生记录*/

case 9:system("cls">。Disp(l>。break。 /*显示学生记录*/

default: Wrong(>。getchar(>。break。 /*按键有误,必须为数值0-9*/

}

}

}

管理信息系统课程设计程序代码附录

附录C Program程序代码 using System; using System.Collections.Generic; using System.Windows.Forms; using xyq20091204; using System.Data.SqlClient; static class Program { ///

///应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new用户登录()); if (SQL_Class.LoginState == 1) data.data.ConnStr = "Data Source=CAE47;Initial Catalog=xyq20091204;Integrated Security=True"; Application.Run(new供应商管理信息系统()); } }

附录D Property_Class代码 using System; using System.Collections.Generic; using System.Text; using https://www.sodocs.net/doc/932382958.html,ponentModel; namespace xyq20091204 { class Property_Class { private string Id; private string Manager; private string Tel; private string Email; private string Addr; [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示供应商编号")] public string供应商编号 { get { return Id; } set { Id = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示负责人")] public string负责人 { get { return Manager; } set { Manager = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示联系电话")] public string联系电话 { get { return Tel; } set { Tel = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示电子邮箱")] public string电子邮箱 { get { return Email; } set { Email = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示通讯地址")] public string通讯地址 { get { return Addr; } set { Addr = value; } } } }

学生管理系统源代码

#include #include #include #include #define INIT_SIZE 10 #define INCRE_SIZE 10 #define SUBJECT_NUM 3 #define LEN 3 void show_Start(); void show_Table(); void addRecord(); void Info_delete(); void deleteRecord(); void delete_Num(int); void delete_Name(char tarName[]); void Info_modify(); void modifyRecord(); void modify_Num(int); void modify_Name(char[]); void Info_query(); void queryRecord(); void query_Num(int); void query_Name(char[]); void display(); void quit(); void menu_CMD(); char *subject[SUBJECT_NUM] = struct STUDENT

{ int num; char name[20]; char sex; float score[SUBJECT_NUM]; }; //struct STUDENT stu[LEN + 1]; //STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); int static stuNum = 0; // STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);; int main() { //record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); //STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); /* record[1].num = 1001; strcpy(record[1].name,"Jason"); record[1].sex = 'M'; record[1].score[0] = 85.0; record[1].score[1] = 90.0; record[1].score[2] = 95.0; record[2].num = 1002; strcpy(record[2].name,"Jerry"); record[2].sex = 'M'; record[2].score[0] = 85.0; record[2].score[1] = 90.0; record[2].score[2] = 95.0; record[3].num = 1003; strcpy(record[3].name,"Jessie");

学生信息管理系统

全国学前教育管理信息系统 培训上机指南 一、网址、用户名及密码 1、专题网址:https://www.sodocs.net/doc/932382958.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个以上的班级(最好有连续的年级)。

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

简单学生管理信息系统源代码

package xsgl; import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; import java.util.Vector; import javax.swing.table.*; import java.awt.event.*; publicclass Xsglxt extends JFrame implements ActionListener//继承JFrame并实现接口ActionListener { JPanel mb1,mb2; JLabel bq1; JTextField wbk1; JButton an1,an2,an3,an4; JTable bg1; //定义表格对象 JScrollPane gd1; Xsxx xsxx2; //定义Xsxx类的一个对象xsxx2 publicstaticvoid main(String[] args) { Xsglxtxs=new Xsglxt(); } public Xsglxt() //XSGLXT构造方法,用于对象初始化。 { mb1=new JPanel(); bq1=new JLabel("请输入姓名"); wbk1=new JTextField(10); an1=new JButton("查询"); an1.addActionListener(this); //对按钮1添加监听 an1.setActionCommand("chaxun"); //设置按钮1的监听信息 mb1.add(bq1); mb1.add(wbk1); mb1.add(an1); mb2=new JPanel(); an2=new JButton("添加"); an2.addActionListener(this); an2.setActionCommand("tianjia"); an3=new JButton("修改"); an3.addActionListener(this); an3.setActionCommand("xiugai"); an4=new JButton("删除"); an4.addActionListener(this); an4.setActionCommand("shanchu"); mb2.add(an2); mb2.add(an3); mb2.add(an4); xsxx2=new Xsxx(); bg1=new JTable(xsxx2); gd1=new JScrollPane(bg1);

C++学生管理系统课程设计 源代码

//===================================================================== ============================================ //student.h 定义了抽象类Person,派生了student(及为信息类)、定义了节点类Node、定义了链表类List //===================================================================== ============================================ #ifndef STUDATA_H #define STUDATA_H #include //================================================================ int GetID(); class List; //------------------------------------- class Person{ //抽象类 protected: int ID; //学号 char Name[15]; //姓名 public: virtual bool operator<(Person&)=0; //<运算符重载 virtual bool operator>=(Person&)=0; //>=运算符重载 }; //--------------------------------------------------------------------------------------- class Student:public Person{ //学生类 int Score[4]; //成绩 void SwapData(Student*); //交换数据 public: Student(int =0,char* =NULL,int* =NULL); //构造函数 bool operator<(Person&); //<运算符重载 bool operator>=(Person&); //>=运算符重载 friend ofstream&operator<<(ofstream&,Student*); //<<运算符重载输出到文件 friend ifstream&operator>>(ifstream&,Student*); //>>运算符重载从文件输入 friend ostream_withassign& operator<<(ostream_withassign&,Student*); //<<运算符重载输出到显示器 friend istream_withassign& operator>>(istream_withassign&,Student*); //>>运算符重载从键盘输入 friend class List; }; //---------------------------------------------------------------------------------------------------------------- class Node{ //结点类 Student *Stup; //指向学生对象指针 Node *Prev,*Next; //指向前后结点指针 public: Node(); //构造函数 Node(Student*); //构造函数

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

学生信息管理系统(总体设计) 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.开发设计思想 尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用资源,提高系统开发的水平和应用效果的目的。系统应该符合学校学生信息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、实用、安全等要求。强调多部门合作,学生工作设计面广泛,应该考虑各部门各

学生管理信息系统

学生管理信息系统.NET (https://www.sodocs.net/doc/932382958.html,)开发文档 开发团队名称:星尘工作室( Star Studio) 团队成员:查进旻微电子与固体电子学院2000级 林伟通信工程学院2000级 唐苏计算机科学与技术学院99级 刘冠良光电子信息学院2001级

一、软件开发背景: 学生信息管理作为学校管理的一个重要方面,其可变因素多,管理方面繁琐复杂,时间跨度大,再加上其固有的基数大,因而形成了巨大的数据量。以前的人工管理方式以人为方式处理这样大量的数据,不可避免地增加了管理的工作量及复杂程度,使学生处、教务处及各系学生科有关管理人员工作繁复、负担重、压力大。并且人为方式固有的不严密性常常带来各种工作中的疏漏,使得复杂度更甚,常常让工作人员感到头疼。为了解决这种状况,以计算机实现管理的科学化、严谨化,我们的技术人员此前也做过不少有益的尝试,但由于缺乏各方面的技术支持及相应条件再加上软件分析的不全面和选用开发平台的不够科学,使得仅有一些小的模块可用性较高,而一直未能建立起完整的管理模块。 当前人工管理工作中存在的问题: 目前,学校的学生管理机构仍然以人工管理方式为主,这种人工系统在管理工作中存在很大的弊病。 其一、学生信息量大,管理人员的工作量大,负担重,压力大;且工作繁复,复杂程度高,使管理人员颇感头疼; 其二、人工处理方式由于其固有的不严密性,造成数据处理中的错、漏现象不可避免,数据缺乏正确性,而且增大了工作难度; 其三、由于信息处理量大,信息流动不畅通,反馈时间延长,缺乏时效性; 其四、数据备份、传输、报表、统计等相关工作量大,费时,繁琐,容易出错; 此外,作为学校的管理职能部门的学生处,与各系、所的管理部门之间的信息交流很不规范和统一,工作效率很低。 根据现实情况,要彻底改变原来的不利局面,以适应现代化管理发展,最佳的改进途径是建立一个完善的计算机管理信息系统,用计算机实现对数据的搜集、加工、存储等精确处理,并且充分发挥网络的优势,加快信息流动,及时反馈,全面提高工作效率。一个基于网络的综合的学生管理信息系统的建立势在必行。学生管理信息系统.NET(https://www.sodocs.net/doc/932382958.html,)基于微软.NET技术构架,充分利用网络方便迅捷的优势,采用WEB Service,XML等等新技术,使高效、快速的学生信息管理成为可能。 二、https://www.sodocs.net/doc/932382958.html,系统平台及特性: 服务器操作系统:Microsoft Windows 2000 Advanced Server (.NET Framework Installed) 注:在Mircosoft https://www.sodocs.net/doc/932382958.html, Server 正式版发行之后将会采用 Microsoft https://www.sodocs.net/doc/932382958.html, Server,以得到对.NET环境最大的支持。 服务器数据库:Microsoft SQL Server 2000 Enterprise Edition 1、Microsoft Windows 2000 Advanced Server系统特性: Microsoft Windows 2000 Advanced Server 是 Windows NT Server,Enterprise Edition 的下一版本。它是适用于电子商务和业务线应用程序的操作系统。 在Windows Advanced Server中利用最新的8路SMP服务器按比例扩大,获取更高处

职工信息管理系统java源代码

package exercise; import .*; class staffInfo 入职工信息★★★┃"); "┃★★★ 2.预览职工信息 ★★★┃"); "┃★★★ 3.查找职工信息 ★★★┃"); "┃★★★ 4.删除职工信息 ★★★┃"); "┃★★★ 5.读取已存数据★★★┃"); "┃★★★ 6.安全退出系统 ★★★┃"); "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"); " 请输入您需要的功能代号(1--6):"); choice=()); switch(choice){ case 1:creat(staffOne);break; case 2:output(staffOne);break; case 3:search(staffOne);break; case 4:delete(staffOne);break; case 5:read(staffOne);break; case 6:save(staffOne);break; } } while(choice!=0); } void creat(staffInfo staffOne[]) throws IOException { final BufferedReader buf=new BufferedReader(new InputStreamReader); "请输入职工信息(以0结束)\n"); "姓名:"); staffOne[i].name=(); "0")!=0) um=(); "性别:"); staffOne[i].sex=(); "年龄:"); staffOne[i].age=(); "学历:"); staffOne[i].record=(); "职位:"); staffOne[i].position=(); "工资:"); staffOne[i].wanges=(); "电话:");

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(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");

学生信息管理信息系统

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

实验内容和评分项目

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

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

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

实验目的: 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): 程序代码

(完整版)JAVA学生管理系统源代码

JA V A学生管理系统源代码 一、程序 import java.util.*; public class Test {//主程序 public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("------请定义学生的人数:------"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){ System.out.println("-----请选择你要执行的功能-----"); System.out.println("10:添加一个学生"); System.out.println("11:查找一个学生"); System.out.println("12:根据学生编号更新学生基本信息"); System.out.println("13:根据学生编号删除学生"); System.out.println("14:根据编号输入学生各门成绩"); System.out.println("15:根据某门成绩进行排序"); System.out.println("16:根据总分进行排序"); System.out.println("99:退出系统"); String number = in.next(); if(number.equals("10")){ System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next(); System.out.println("请输入学生的年龄:"); int age = in.nextInt(); adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){ System.out.println("执行查找学生基本信息的操作"); System.out.println("请输入学生的编号进行查找:"); int num = in.nextInt(); adminStu.find(num,stuArr);//查找学生 }else if(number.equals("12")){ System.out.println("执行更新学员的基本信息操作"); System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next();

管理信息系统代码

代码 欢迎界面:字幅的滚动示(if https://www.sodocs.net/doc/932382958.html,bel1.left+https://www.sodocs.net/doc/932382958.html,bel1.width<0 https://www.sodocs.net/doc/932382958.html,bel1.left=thisform.width else https://www.sodocs.net/doc/932382958.html,bel1.left=https://www.sodocs.net/doc/932382958.html,bel1.left-10 endif) 图片的插入(通过属性) 快速进入(thisform.refresh do form 2) 系统权限认证界面:用户名,密码(if thisform.text1.value="123" if thisform.text2.value="456" do form 3 thisform.release endif else messagebox("输入错误") endif) 系统界面:向各子界面链接(do form chexing车型) 子界面:通过生成器链接数据库里的表 上一页(if not bof() skip-1 thisform.refresh else messagebox("到头了,按下一页回") endif) 下一页(if not eof() skip thisform.refresh else messagebox("没了,按上一页回") endif) 添加(append blank go bottom thisform.refresh) public i i=5 if i=2 thisform.image1.visible=.t.

thisform.image2.visible=.f. i=i-1 else if i=1 thisform.image1.visible=.f. thisform.image2.visible=.t. i=i-1 else i=2 endif endif LPARAMETERS cVerb图片

学生学籍管理系统(含java源代码)

学生学籍管理详细设计 学号:____________ 姓名:____________ 班级:____________ 一、设计题目: 学生学籍管理 二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。 三:设计要求: 进行简单的学生信息管理。 四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体 (5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理 五:具体设计 (1)程序结构的说明: A.入口程序:; B.登陆界面程序:; C.主窗体程序:; D.添加信息窗口程序:; E.修改信息窗口程序:;

F.查询信息窗口程序:; G.删除信息窗口程序:; H.程序数据连接:; (2)程序代码及分析说明 A.程序源代码(已提交) 是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。 是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi 表中。 是修改信息界面。输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。 是删除信息界面。输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。 是查询信息界面。输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。 H:源代码 ; import .*; etScreenSize(); Dimension frameSize=(); if> { =; } if> { =; } ( (true); } public static void main(String[] args) { try{ ()); } catch(Exception e) { (); } new student(); } }

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

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

简单学生管理信息系统源代码

package xsgl; import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; import java.util.Vector; import javax.swing.table.* import java.awt.event.*; public class Xsglxt 接口 ActionListener extends JFrame implements { ActionListener // 继承 JFrame 并实现 JPanel mb1, mb2; JLabel bq1 ; JTextField wbk1; JButton an1, an2, an3 , an4; JTable bg1 ; JScrollPane Xsxx xsxx2 ; // 定义表格对象 化。 gd1; // 定义 Xsxx 类的一个对象 xsxx2 public static { Xsglxt xs= } public Xsglxt() void main(String[] args) new Xsglxt(); //XSGLXT 构造方法,用于对象初始 mb1=new JPanel(); bq1 =new JLabel( " 请输入姓名 " ); wbk1 =new JTextField(10); an1 =new JButton( "查询"); an1 .addActionListener( this ); an1 .setActionCommand( "chaxun" mb1.add( bq1); mb1.add( wbk1 ); ); mb1.add( // 对按钮 1添加监听 // 设置按钮 1的监听信息 an1); mb2=new JPanel(); an2 =new JButton( "添加"); an2 .addActionListener( this ); an2 .setActionCommand( "tianjia" an3 =new JButton( "修改"); an3 .addActionListener( this ); an3 .setActionCommand( "xiugai" an4 =new JButton( "删除"); an4 .addActionListener( this ); an4 .setActionCommand( "shanchu" ); ); ); mb2.add( an2); mb2.add( an3); mb2.add( an4); xsxx2 =new Xsxx(); bg1 =new JTable( xsxx2 );

相关主题