基于JAVA的学生成绩管理系统源代码.docx
《基于JAVA的学生成绩管理系统源代码.docx》由会员分享,可在线阅读,更多相关《基于JAVA的学生成绩管理系统源代码.docx(51页珍藏版)》请在冰豆网上搜索。
基于JAVA的学生成绩管理系统源代码
Java程序设计
系
电气信息系
专业
软件
班级
1342
学号
131842352
姓名
朱家军
题目
学生成绩管理系统
任课教师
一:
要求
1、用到书上(课本或实验册)上的至少三个实例
2、用到至少两种布局和至少四种组件
3、用到对话框
4、用到对数据库的查询、删除、添加和修改
5、最好用到输入输出流
6、具有一定的实际意义
二:
内容
本系统用access作为数据库,用到了书上的布局实例和数据库连接实例
功能:
1、输入十个同学的学号,姓名,出生日期,二科成绩(学,大学英语)。
2、输入学号查询学生信息。
3、删除记录
4、查询记录
5、添加记录
6、修改记录
1.简单的方式(java)
importjava.awt.Button;
importjava.awt.Color;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.Frame;
importjava.awt.Label;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JOptionPane;
publicclass查询成绩登陆系统extendsFrame{
privateLabellab_stuNum,lab_stuPassword;
privateTextFieldtf_stuNum,tf_stuPassword;
privateButtonbt_login,bt_reset;
publicLabelgetLab_stuNum(){
if(this.lab_stuNum==null){
this.lab_stuNum=newLabel("学号");
}
returnlab_stuNum;
}
publicLabelgetLab_stuPassword(){
if(this.lab_stuPassword==null){
this.lab_stuPassword=newLabel("密码");
}
returnlab_stuPassword;
}
publicTextFieldgetTf_stuNum(){
if(this.tf_stuNum==null){
this.tf_stuNum=newTextField(15);
}
returntf_stuNum;
}
publicTextFieldgetTf_stuPassword(){
if(this.tf_stuPassword==null){
this.tf_stuPassword=newTextField(15);
this.tf_stuPassword.setEchoChar('●');
}
returntf_stuPassword;
}
publicButtongetBt_login(){
if(this.bt_login==null){
this.bt_login=newButton("登陆");
this.bt_login.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
Stringaccount=tf_stuNum.getText();
if(account==null||"".equals(account)){
JOptionPane.showMessageDialog(查询成绩登陆系统.this,"请输入学号");
tf_stuNum.requestFocus();
}
Stringpw=tf_stuPassword.getText();
if(pw==null||"".equals(pw)){
JOptionPane.showMessageDialog(查询成绩登陆系统.this,"请输入密码");
tf_stuPassword.requestFocus();
}
Stringdb_account="admin";
Stringdb_password="000000";
if(account.equals(db_account)&&pw.equals(db_password)){
JOptionPane.showMessageDialog(查询成绩登陆系统.this,"登陆成功");
查询成绩登陆系统.this.dispose();
}else{
JOptionPane.showMessageDialog(查询成绩登陆系统.this,"账号密码不对");
tf_stuNum.setText("");
tf_stuPassword.setText("");
tf_stuNum.requestFocus();
}
}
2.C语言
#include
#include
#include
#include
structstudent//结构体定义
{
intnum;
charname[10];
charbirthday[10];
intCyuyan;
intshujujiegou;
structstudent*next;
};
structstudent*creat_by_input();
structstudent*get_last_student(structstudent*head);
structstudent*Print_menu_main()//主菜单
{
printf("*********************************************************************\n");
printf("|1.........输入学生信息|\n");
printf("|2.........输出学生信息|\n");
printf("|3.........查找学生信息|\n");
printf("|4.........修改学生信息|\n");
printf("|5.........插入学生信息|\n");
printf("|6.........删除学生信息|\n");
printf("|7.........排序学生信息|\n");
printf("|0.........退出系统|\n");
printf("|_____________|\n");
}
structstudent*print_table_head()
{
printf("+----------+----------+----------+----------+-------------+\n");
printf("|学号|姓名|出生日期|c成绩|数据结构成绩|\n");
printf("+----------+----------+----------+----------+-------------+\n");
}
structstudent*print_table_row(structstudent*p)
{
printf("|%10d|%10s|%10s|%10d|%10d|\n",p->num,p->name,p->birthday,p->Cyuyan,p->shujujiegou);
}
voidprint_table_bottom()
{
printf("+----------+----------+----------+----------+-------------+\n");
}
structstudent*Creat_stu_record()//建立链表
{
structstudent*plaststu=NULL,*pnewstu;
charcontinue_input='N';
structstudent*head=NULL;
while
(1)
{
if(head==NULL)
{
head=creat_by_input();
print_table_head();
print_table_row(head);
print_table_bottom();
}
else
{
pnewstu=creat_by_input();
print_table_head();
print_table_row(pnewstu);
print_table_bottom();
plaststu=get_last_student(head);
plaststu->next=pnewstu;}
printf("是否继续输入学生信息?
(Y继续,N返回菜单)\n");
getchar();
continue_input=getchar();
if(continue_input=='n'||continue_input=='N')
{
system("cls");
Print_menu_main();
break;
}
}
returnhead;
}
structstudent*creat_by_input()
{
structstudent*pnewstu=(structstudent*)malloc(sizeof(structstudent));
printf("请输入学生信息\n");
printf("学号:
");scanf("%d",&pnewstu->num);
printf("姓名:
");scanf("%s",pnewstu->name);
printf("出生年月:
");scanf("%s",pnewstu->birthday);
printf("请输入学生成绩\n");
printf("C语言:
");scanf("%d",&(pnewstu->Cyuyan));
printf("数据结构:
");scanf("%d",&(pnewstu->shujujiegou));
pnewstu->next=NULL;
returnpnewstu;
}
structstudent*get_last_student(structstudent*p)
{
if(p->next==NULL)
returnp;
else
returnget_last_student(p->next);
}
voidPrint_Stu_Doc(structstudent*head)
{
structstudent*p;
charr;
print_table_head();
if(head==NULL)
{
printf("\nNoRecords\n");
}
for(p=head;p;p=p->next)
{
printf("|%10d|%10s|%10s|%10d|%10d|\n",p->num,p->name,p->birthday,p->Cyuyan,p->shujujiegou);
printf("+----------+----------+----------+----------+-------------+\n");}
printf("(按Enter键返回主菜单)\n");
getchar();
r=getchar();
if(r!
='1')
{
system("cls");
Print_menu_main();
}
else
{
system("cls");
Print_menu_main();
}
}
structstudent*search_by_name(structstudent*head)//按姓名查找
{
charname[10];
structstudent*p=head;
charcontinue_input;
/*intisfound=0;*/
printf("请输入要查找的姓名:
");
scanf("%s",name);
printf("查找%s\n",name);
print_table_head();
while(p!
=NULL)
{
if(strcmp(p->name,name)==0)
{
print_table_row(p);
p=p->next;
/*isfound=1;*/
break;
}
p=p->next;
}
print_table_bottom();
printf("是否继续查找?
(Y继续;N返回主菜单)\n");
getchar();
continue_input=getchar();
if(continue_input=='n'||continue_input=='N')
{
system("cls");
Print_menu_main();
}
else
search_by_name(head);
}
structstudent*search_by_id(structstudent*head)//按学号查找
{
intid;
structstudent*p=head;
charcontinue_input;
/*intisfound=0;*/
printf("请输入要查找的学号:
");
scanf("%d",&id);
printf("查找%d\n",id);
print_table_head();
while(p!
=NULL)
{
if(p->num==id)
{
print_table_row(p);
p=p->next;
/*isfound=1;*/
break;
}
p=p->next;
}
print_table_bottom();
printf("是否继续查找?
(Y继续;N返回主菜单)\n");
getchar();
continue_input=getchar();
if(continue_input=='n'||continue_input=='N')
{
system("cls");
Print_menu_main();
}
else
search_by_id(head);
returnhead;
}
structstudent*modify_record_by_id(structstudent*head)//按学号修改
{
structstudent*p=head;
intid;
charcontinue_input;
printf("请输入要修改的学生的学号:
\n");
scanf("%d",&id);
while(p!
=NULL)
{
if(p->num==id)
break;
p=p->next;
}
if(p==NULL)
printf("抱歉,没有学号为%d的学生\n",id);
else
{
printf("请输入学生信息:
\n");
printf("学号:
");scanf("%d",&(p->num));
printf("姓名:
");scanf("%s",&(p->name));
printf("出生年月:
");scanf("%s",&(p->birthday));
printf("请输入学生成绩:
\n");
printf("C语言:
");scanf("%d",&(p->Cyuyan));
printf("数据结构:
");scanf("%d",&(p->shujujiegou));
print_table_head();print_table_row(p);print_table_bottom();}
printf("继续修改学生信息吗?
Y继续;N返回主菜单\n");
getchar();
continue_input=getchar();
if(continue_input=='y'||continue_input=='Y')
creat_by_input();
else
{
system("cls");
Print_menu_main();
}
returnhead;
}
structstudent*modify_record_by_name(structstudent*head)//按姓名修改
{
structstudent*p=head;
charname[10];
charcontinue_input;
printf("请输入要修改的学生的姓名:
\n");
scanf("%s",name);
while(p!
=NULL)
{
if(strcmp(p->name,name)==0)
break;
p=p->next;
}
if(p==NULL)
printf("抱歉,没有姓名为%s的学生\n",name);
else
{
printf("请输入学生信息:
\n");
printf("学号:
");scanf("%d",&(p->num));
printf("姓名:
");scanf("%s",&(p->name));
printf("出生年月:
");scanf("%s",&(p->birthday));
printf("请输入学生成绩:
\n");
printf("C语言:
");scanf("%d",&(p->Cyuyan));
printf("数据结构:
");scanf("%d",&(p->shujujiegou));
print_table_head();print_table_row(p);print_table_bottom();}
printf("继续修改学生信息吗?
Y继续;N返回主菜单\n");
getchar();
continue_input=getchar();
if(continue_input=='y'||continue_input=='Y')
creat_by_input();
else
{
system("cls");
Print_menu_main();
}
returnhead;
}
structstudent*insert_record(structstudent*head)//插入
{
structstudent*ptr1;
structstudent*ptr,*stud;
structstudent*ptr2=head;
charcontinue_input='N';
intid;
printf("请输入一个学号,在此之前插入学生信息:
");
scanf("%d",&id);
stud=creat_by_input();
ptr=stud;
if(head==NULL)
{
head=ptr;head->next=NULL;
}
elseif(head->num==id)
{
ptr->next=head;
head=ptr;
}
else
{
while(ptr2!
=NULL)
{
ptr1=ptr2;
ptr2=ptr1->next;
if(ptr2->num==id)
{
ptr1->next=ptr;
ptr->next=ptr2;
break;
}
}
}
print_table_head();
print_table_row(ptr);
print_table_bottom();
printf("是否继续插入学生信息?
(Y继续N返回主菜单)\n");
getchar();
continue_input=getchar();
if(continue_input=='y'||continue_input=='Y')
returninsert_record(head);
else
{
system("cls");
Print_menu_main();
returnhead;
}
}
structstudent*Delete_record_by_id(structstudent*head)//按学号删除
{
structstudent*p=head,*ppre=NULL;
intid;
charcontinue_input;
printf("请输入要删除的学号:
");
scanf("%d",&id);
while(p!
=NULL)
{
if(p->num==id)
break;
p=p->next;
}
if(p==NULL)
printf("抱歉,没有该学号的学生信息!
\n");
else
{
printf("确定要删除学号为%d的学生的信息吗?
(Y确定;N返回主菜单)\n",p->num);
getchar();
continue_input=getchar();
if(continue_input=='y'||c