用java做一个学生成绩管理系统 需要哪些技术
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java做一个学生成绩管理系统 需要哪些技术相关的知识,希望对你有一定的参考价值。
学校有数据库课程设计,现在就想提前学习一下相关技术,但不知道要哪些技术,下面是我预测的,不知道对不对?
1.网页本:html jsp servlet + 数据库
2.本地版:javase GUI + 数据库
还有一个就是:上课教了数据库的课程,是否不需要专门学习java的数据库技术了?
用java做一个学生成绩管理系统,可以用到如下技术:
后台:SSH框架,不用框架的话,单纯地用JSP + Servlet也可以。
前台:html + css + js + jquery
数据库:掌握SQL语言的编写,数据库的连接。复杂的项目还需要用到存储过程。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高
效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话
和互联网,同时拥有全球最大的开发者专业社群。
Java由四方面组成:
1、Java编程语言,即语法。
2、Java文件格式,即各种文件夹、文件的后缀。
3、Java虚拟机(JVM),即处理*.class文件的解释器。
4、Java应用程序接口(Java API)。
参考技术A 用java做一个学生成绩管理系统,可以用到如下技术:后台:SSH框架,不用框架的话,单纯地用JSP + Servlet也可以。
前台:html + css + js + jquery
数据库:掌握SQL语言的编写,数据库的连接。复杂的项目还需要用到存储过程。 参考技术B 你说的基本上正确,
要做这样的项目,如果是web版本,从前台到后台主要涉及下面技术:
前台:jsp+js
中间层:java语言,并通过java的驱动和接口来调用数据库,进行增删改查。
后台:数据库知识及sql写法
了解以上就差不多了。追问
需要servlet吗?我只知道jsp是服务器编程的,但servlet干什么不知道。
追答需要的,servlet是接受jsp的请求,然后进行后天处理(查询数据库等等),然后进行跳转。
参考技术C 当然,你学会一个就好了,但是数据库本来就是要和程序结合起来使用的,如果你学过一个学其他也是很荣容易的 参考技术D 我才做了一个学生成绩管理系统的.全套代码+文档+rose图.前台用的struts2
后台用的struts2+hibernate..
留下email,给分就发.
世上所有美好的感情加在一起,也抵不上一桩高尚的行动。
学生成绩管理系统
解析:
最近帮朋友做的一个相当于课程设计的学生成绩管理系统,她们要求是用c语言写,对于一个用惯c++的孩子来说真是感觉写起来的各种限制真心感觉到无语,不说了直接上代码
#include "student.h" void main() { char ch='0'; int index=0; char id[ID_SIZE]; student students; student phead; FILE *output=fopen("output.txt","w+"); FILE *input=fopen("input.txt","r"); if(input==NULL) { printf("打开失败input\n"); exit(1); } if(input==NULL) { printf("打开失败output\n"); exit(1); } phead.next=NULL; InitStudent(&students); while(1) { ShowList(); printf("请选择:"); ch=getchar(); switch(ch) { case '1': Student_Insert(&students); break; case '2': Student_Display(&students); break; case '3': { printf("请输入需要查找多少个学生:"); scanf("%d",&index); Student_DisplaySingle(&students,index); } break; case '4': { printf("请输入需要删除的学号:"); scanf("%s",id); Student_Delete(&students,id); } break; case '5': Student_Modify(&students); break; case '6': { printf("请输入需要查找学生姓名:"); scanf("%s",id); Student_Select(&students,id); } break; case '7': Student_SortByAverage(&students,&phead); break; case '8': { IO_ReadInfo(&students,output); fclose(output); } break; case '9': { IO_WriteInfo(&students,output); fclose(output); } break; case '0': { printf("欢迎使用学生管理成绩系统\n"); exit(1); } default: break; } getchar(); } }
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <assert.h> #include <string.h> #define ID_SIZE 128 #define NAME_SIZE 128 #define SIZE 125 struct student { char Id[ID_SIZE]; //学生学号 char Name[NAME_SIZE]; //学生姓名 float Math; //数学 float English; //英语 float Chinese; //语文 float TotalScore; //总分 float AverageScore; //平均分 int PassStudent; //及格人数 struct student *next; }; typedef struct student student; static float PassRate=0.0; //及格率 //初始化学生信息 void InitStudent(student *head) { strcpy(head->Id,""); strcpy(head->Name,""); head->Chinese=0.0; head->English=0.0; head->Math=0.0; head->PassStudent=0; head->TotalScore=0; head->next=NULL; } //插入学生成绩 void Student_Insert(student *head) { int flag=0; student *cur=head; student *tmp=(student *)malloc(sizeof(student)); tmp->next=NULL; assert(tmp !=NULL); printf("***开始录入学生信息***\n"); printf("请输入学号:"); scanf("%s",tmp->Id); printf("请输入姓名:"); scanf("%s",tmp->Name); printf("请输入数学成绩:"); scanf("%f",&tmp->Math); printf("请输入英语成绩:"); scanf("%f",&tmp->English); printf("请输入语文成绩:"); scanf("%f",&tmp->Chinese); tmp->TotalScore=tmp->Chinese+tmp->English+tmp->Math; tmp->AverageScore=tmp->TotalScore/3; tmp->PassStudent=0; if(tmp->Chinese >=60) tmp->PassStudent++; if(tmp->English >=60) tmp->PassStudent++; if(tmp->Math >=60) tmp->PassStudent++; if(tmp->PassStudent==3) flag++; tmp->AverageScore=tmp->TotalScore/3; printf("学生及格人数:%d\n",flag); while(cur->next !=NULL) cur=cur->next; cur->next=tmp; } /*删除学生信息*/ void Student_Delete(student *head,char *id) { student *del=NULL; student *cur=head; while(cur->next !=NULL) { if(strcmp(cur->next->Id,id)==0) { del=cur->next; cur->next=del->next; free(del); printf("删除成功\n"); return; } cur=cur->next; } printf("删除失败\n"); } /*修改学生信息*/ void Student_Modify(student *head) { char number[ID_SIZE]; int flag=0; student *cur=head->next; assert(cur !=NULL); printf("请输入学生学号:"); scanf("%s",number); printf("开始查找\n"); while(cur !=NULL) { if(strcmp(cur->Id,number)==0) { printf("请输入准备修改的语文成绩:"); scanf("%f",&cur->Chinese); printf("请输入准备修改的数学成绩:"); scanf("%f",&cur->Math); printf("请输入准备修改的英语成绩:"); scanf("%f",&cur->English); flag=1; break; } cur->next; } if(flag) printf("修改成功\n"); else printf("修改失败\n"); } /*按姓名查询*/ void Student_Select(student *head,char *name) { student *cur=head->next; while(cur!=NULL) { if(strcmp(cur->Name,name)==0) { printf("存在这个学生\n"); return; } cur=cur->next; } printf("按姓名查找失败\n"); } /*显示单条学生记录*/ void Student_DisplaySingle(student *head,int index) { int count=1; student *cur=head->next; while(count <index && cur !=NULL) { cur=cur->next; count++; } if(count >index) printf("没有这个学生\n"); else { printf("%s\t%s\t%.3f\t%.3f\t%.3f\t",cur->Id,cur->Name,cur->Chinese,cur->Math,cur->English); printf("%.3f\t%.3f\n",cur->AverageScore,cur->TotalScore); } } //显示所有学生成绩 void Student_Display(student *head) { int count=0; int number=0; student *cur=head->next; printf("学号\t姓名\t语文\t数学\t英语\t平均分\t总分\n"); while(cur !=NULL) { printf("%s\t%s\t%.3f\t%.3f\t%.3f\t",cur->Id,cur->Name,cur->Chinese,cur->Math,cur->English); printf("%.3f\t%.3f\n",cur->AverageScore,cur->TotalScore); if(cur->Chinese >=60 && cur->English>=60 && cur->Math>=60) count++; cur=cur->next; number++; } PassRate=(float)count/number*100; printf("及格率:%.1f%%\n",PassRate); } /*按平均值排序*/ void Student_SortByAverage(student *head,student *phead) { student *pcur=NULL; student *tmp=NULL; student *ptmp=NULL; student *cur=head->next; while(cur !=NULL) { pcur=cur; while(pcur !=NULL && pcur->AverageScore ==INT_MAX) pcur=pcur->next; if(pcur==NULL) break; tmp=pcur; while(pcur !=NULL) { if(pcur->AverageScore > tmp->AverageScore && pcur->AverageScore !=INT_MAX) { tmp=pcur; } pcur=pcur->next; } if(tmp->AverageScore !=INT_MAX) { ptmp=(student *)malloc(sizeof(student)); assert(ptmp !=NULL); strcpy(ptmp->Id,tmp->Id); strcpy(ptmp->Name,tmp->Name); ptmp->Chinese=tmp->Chinese; ptmp->English=tmp->English; ptmp->Math=tmp->Math; ptmp->AverageScore=tmp->AverageScore; ptmp->PassStudent=tmp->PassStudent; ptmp->TotalScore=tmp->TotalScore; ptmp->next=phead->next; phead->next=ptmp; tmp->AverageScore=INT_MAX; } } Student_Display(phead); } /*将学生信息从文件读出*/ void IO_ReadInfo(student *head,FILE *path) { student *cur=head->next; while(cur !=NULL) { if(fread(cur,sizeof(student),1,path) < 0) { printf("fread failed\n"); break; } cur=cur->next; } printf("读入成功\n"); } /*将学生信息写入文件*/ void IO_WriteInfo(student *head,FILE *path) { student *cur=head->next; while(cur !=NULL) { fprintf(path,"%s %s %f %f %f %f %f %d %s", cur->Id,cur->Name,cur->Math,cur->English,cur->Chinese, cur->TotalScore,cur->AverageScore,cur->PassStudent,"\n"); cur=cur->next; } printf("写入数据成功\n"); } //显示列表 void ShowList() { printf("**********************************************\n"); printf("**【1】插入学生成绩 【2】显示全部学生信息 **\n"); printf("**【3】显示单个学生 【4】删除学生信息 **\n"); printf("**【5】修改学生信息 【6】按姓名查询 **\n"); printf("**【7】按平均值排序 【8】从文件读出学生信息 **\n"); printf("**【9】写入文件 【0】退出学生管理系统 **\n"); printf("**********************************************\n"); }
以上是关于用java做一个学生成绩管理系统 需要哪些技术的主要内容,如果未能解决你的问题,请参考以下文章
用java编写一个学生成绩管理系统. //1.学生类 学号 姓名 年龄 语数外三科成绩(三科成绩)?