当前位置:首页 » 服务存储 » 使用动态数组进行学生信息存储
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

使用动态数组进行学生信息存储

发布时间: 2022-09-11 20:29:29

㈠ java如何创建二维数组进行学生姓名,学号,成绩三个信息的存储,使用for循环语句进行二维数组的遍

1、分析题目,需要存储姓名学号成绩,因此,二维数组需要定义成字符串类型

姓名学号成绩
012
0[][][]
1[][][]
2[][][]

数组的每列存储内容是固定的,一行代表一个学生,遍历过程嵌套for循环就可以遍历全部学生,

intn=input;
Stringstu[][]=newString[n][2];//学生个数不定
for(inti=0;i<n;i++){
//i是行,一行就是一个“学生”,如i=0,是第一个学生
for(intj=0;j<3,j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
System.out.print(stu[i][j]);
}
System.out.println("");//输完一个学生,换行
}

2、源代码如下

publicstaticvoidmain(Stringargs[])
{
System.out.println("请输入学生个数");
Scannerinput=newScanner(System.in);
intn=input.nextInt();
Stringstu[][]=newString[n][3];//学生个数不定
//输入信息
for(inti=0;i<n;i++){
//i是行,一行就是一个“学生”,如i=0,是第一个学生
System.out.println("请输入第"+(i+1)+"个学生的信息:");
for(intj=0;j<3;j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
switch(j){
case0:
System.out.print("姓名:");
stu[i][j]=input.next();
break;
case1:
System.out.print("学号:");
stu[i][j]=input.next();
break;
case2:
System.out.print("成绩:");
stu[i][j]=input.next();
break;
default:
break;
}

}
}

//输出信息
for(inti=0;i<n;i++){//循环同理
for(intj=0;j<3;j++)
{//j,是列,是每个学生的信息,0是姓名,1是学号,2是成绩
//循环过程是i=0是,遍历[0][0],[0][1],[0][2],也就依次是姓名学号成绩
switch(j){
case0:
System.out.print("姓名:");
System.out.print(stu[i][j]);
break;
case1:
System.out.print("学号:");
System.out.print(stu[i][j]);
break;
case2:
System.out.print("成绩:");
System.out.print(stu[i][j]);
break;
default:
break;
}

}
System.out.println("");//输完一个学生,换行
}
}

3、运行效果如图

㈡ 要求用数组存储学生信息,

这类软件多如牛毛,属于数据库中的小儿科。
你如想用专门程序来解决这问题,随便看一本数据库方面的专业书,就有现成的答案了。
而你可能需要做的,无非是把软件的思路,转化成为软件语言。

㈢ JAVA中将控制台动态输入的一组学生数据存储到数组student中怎么实现

public class Student {
public int id;
public String name;
public String gender;
public int age;
public String classteam;
public Student(int id,String name,String gender,int age,String classteam){

this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.classteam = classteam;
}

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String isGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassteam() {
return classteam;
}
public void setClassteam(String classteam) {
this.classteam = classteam;
}

public String toString()
{
return "id="+id+",name="+name+",sex="+gender+",age="+age+",class="+classteam;
}
}
*************************************
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class StudentManager {

private final static int MAX_SIZE = 10;
private int length;

public StudentManager(){
length = 0;
}

public void display() throws IOException{
/**
* 采用控制台动态输入数据
*/
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\学生情况.txt"));
Student[] stu=new Student[10];
String s1,s2,s3,s4,s5;
while(length < MAX_SIZE)
{
System.out.println("学生学号:");
s1=br.readLine();
if(s1.length()==0)
break;
System.out.println("学生姓名:");
s2=br.readLine();
if(s2.length()==0)
break;
System.out.println("学生性别:");
s3=br.readLine();
if(s3.length()==0)
break;
System.out.println("学生年龄:");
s4=br.readLine();
if(s4.length()==0)
break;
System.out.println("学生所在班级:");
s5=br.readLine();
if(s5.length()==0)
break;

bw.write(s1);
bw.write(" ");
bw.write(s2);
bw.write(" ");
bw.write(s3);
bw.write(" ");
bw.write(s4);
bw.write(" ");
bw.write(s5);
int mid=Integer.parseInt(s1);
int mage=Integer.parseInt(s4);
stu[length]=new Student(mid,s2,s3,mage,s5);

bw.newLine();//产生新行
length++;
}
bw.close();
for(int i=0;i<10;i++)
System.out.println(stu[i]);
}

}
**********************************
class test
{
public static void main(String [] args) throws Exception
{
StudentManager SM=new StudentManager();
SM.display();

}
}

㈣ 求大神赐教!!C++学生社团管理程序,重金酬谢!要求如下

重金酬谢!啥意思啊

㈤ 存放学生信息的表格使用什么类型的数组比较好

你的问题用数据库很好解决,这几个问题根本算不上问题,文件存储都省了,通过sql语句就可完成了。如果要求不能用数据库,下面给你个思路。
1、在定义结构体的时候可以预留几个用于存放追加信息的变量或指针
2、采用可变数组,用CArray类很方便,具体用法也很简单,可参考msdn
3、结构体都设置成自己的类型,输出时再用CString转换。
最后,如果不用数据库要保存的话,doc/view结构的可以在文档类中用ar对象实现存储与读取,比较简单,非doc/view结构的就比较麻烦了。

㈥ 求用c++写一个统计学生成绩的程序,要求用动态存储分配思想完成数组的定义。

#include<iostream>
#include<string>
usingstd::cin;
usingstd::cout;
usingstd::endl;
usingstd::string;

classperformance
{
private:
intnumsubject;//numberofyoursubjects
intnumstudent;//numberofstudent
float**p;
string*student;
string*subject;
protected:
intStudentPos(conststring&str);
intSubjectPos(conststring&str);
public:
performance();
floatAverageStudent(conststring&nameOFstudent);
floatAverageSubject(conststring&nameOFsubject);
voidMaxScore(conststring&nameOFsubject);
~performance();
};

intperformance::StudentPos(conststring&str)
{
for(inti=0;i<numstudent;i++)
{
if(!str.compare(student[i]))
{
returni+1;
}
}
returnINT_MAX;
}

intperformance::SubjectPos(conststring&str)
{
for(inti=0;i<numsubject;i++)
{
if(!str.compare(subject[i]))
{
returni+1;
}
}
returnINT_MAX;
}

performance::performance()
{
cout<<"pleaseinputnumberofstudent: ";
cin>>numstudent;
cout<<": ";
cin>>numsubject;
if(numstudent&&numsubject)
{
p=newfloat*[numstudent];
student=newstring[numstudent];
subject=newstring[numsubject];
for(inti=0;i<numstudent;i++)
{
p[i]=newfloat[numsubject];
}
cout<<"input"<<numstudent<<"nameofstudent: ";
for(inti=0;i<numstudent;i++)
{
cin>>student[i];
}
cout<<"input"<<numsubject<<"nameofsubject: ";
for(inti=0;i<numsubject;i++)
{
cin>>subject[i];
}
for(inti=0;i<numstudent;i++)
{
cout<<"输入"<<student[i]<<"的分数: ";
for(intj=0;j<numsubject;j++)
{
cout<<"输入"<<subject[j]<<"的分数:";
cin>>p[i][j];
}
}
}
}

floatperformance::AverageStudent(conststring&str)
{
intn=StudentPos(str);
floatsum=0;
if(numstudent&&numsubject&&n<INT_MAX)
{
for(inti=0;i<numsubject;i++)
{
sum+=p[n-1][i];
}
returnsum/numsubject;
}
returnsum;
}


floatperformance::AverageSubject(conststring&str)
{
intn=SubjectPos(str);
floatsum=0;
if(numsubject&&numstudent&&n<INT_MAX)
{
for(inti=0;i<numstudent;i++)
{
sum+=p[i][n-1];
}
returnsum/numstudent;
}
returnsum;
}

voidperformance::MaxScore(conststring&str)
{
intn=SubjectPos(str);
if(numstudent&&n<numsubject&&n<INT_MAX)
{
intindex=0;
for(inti=1;i<numstudent;i++)
{
if(p[index][n-1]<p[i][n-1])
{
index=i;
}
}
cout<<subject[index]<<"的最高分为"<<p[index][n-1]<<": ";
for(inti=0;i<numstudent;i++)
{
if(p[i][n-1]==p[index][n-1])
{
cout<<student[i]<<"";
}
}
cout<<" ";
}
}

performance::~performance()
{
for(inti=0;i<numstudent;i++)
{
delete[]p[i];
}
if(p)
{
delete[]p;
}
if(student)
{
delete[]student;
}
if(subject)
{
delete[]subject;
}
}

voidmain()
{
performanceperform;
cout<<"张的平均分:"<<perform.AverageStudent("张")<<" ";
cout<<"物理的平均分:"<<perform.AverageSubject("物理")<<" ";
perform.MaxScore("数学");
}

测试数据:

张 王 李 赵

数学 语文 英语 物理 化学 生物

120 111 121 80 78 90

131 144 117 79 88 91

134 109 134 67 79 88

134 109 134 67 79 88

㈦ 学生管理系统源代码 动态构造一个数组,存放学生信息

不断增加存放学生信息,这个数组肯定要是可变数组,但这个信息肯定不止一个信息,比如身高,成绩,年龄,这么多信息,单独用数组是没法搞得,搞个学生模型最好