
#include<string.h>
using
namespace
std
struct
student
{
char
name[50]
int
score
}
void
teacherC(student
*stu)//老师录入成绩
{
int
i,n
cin>>n
cout<<"请依次输入学生的姓名和成绩\n"
for(i=0i<ni++)
{
cin>>stu[i].name>>stu[i].score
}
stu[i].score=-1
}
void
show(student
*stu)
{
int
i=0
for(i<100i++)
{
if(stu[i].score==-1)
break
cout<<stu[i].name<<"
"<<stu[i].score<<endl
}
}
int
search(student
*stu,char
*name)
{
int
i=0,k=-1
for(i<100i++)
{
if(stu[i].score==-1)
break
if(strcmp(stu[i].name,name)==0)
{
k=i
break
}
}
return
k
}
void
edit(student
*stu)
{
int
i=0,j=0
char
name[30],an
while(1)
{
cout<<"请输入需要修改的学生名字\n"
cin>>name
i=search(stu,name)
if(i>=0)
{
cout<<"该学生的信息为:\n"
cout<<stu[i].name<<"
"<<stu[i].score<<endl
cout<<"确定要修改该学生的信息是的输入Y不是输入N:\n"
cin>>an
if(an=='Y'||an=='y')
{
cout<<"请输入修改后的姓名成绩:\n"
cin>>stu[i].name>>stu[i].score
cout<<"修改成功\n"
}
cout<<"继续修改请输入1退出输入0:\n"
cin>>j
if(j==0)
break
}
else
cout<<"没有该学生的信息\n"
}
}
void
dele(student
*stu)
{
int
i=0,j=0
char
name[30],an
while(1)
{
cout<<"请输入需要删除的学生名字\n"
cin>>name
i=search(stu,name)
if(i>0)
{
cout<<"该学生的信息为:\n"
cout<<stu[i].name<<"
"<<stu[i].score<<endl
cout<<"确定要删除该学生的信息是的输入Y不是输入N:\n"
cin>>an
if(an=='Y'||an=='y')
{
*stu[i].name=0
cout<<"删除成功\n"
}
cout<<"继续删除请输入1退出输入0:\n"
cin>>j
if(j==0)
break
}
else
cout<<"没有该学生的信息\n"
}
}
int
main()
{
int
i,n
char
name[30]
student
stu[100]//学生总数上限为100个
while(1)
{
cout<<"请做出以下的选择:"<<endl
cout<<"输入
0
退出系统\n"
cout<<"输入
1
教书录入成绩\n"
cout<<"输入
2
学生查询成绩\n"
cout<<"输入
3
修改学生成绩\n"
cout<<"输入
4
删除学生成绩\n"
cin>>i
switch(i)
{
case
1:
teacherC(stu)break
case
2:
cout<<"请输入查询的姓名\n"
cin>>namen=search(stu,name)cout<<"该学生成绩是:"<<stu[n].score<<endlbreak
case
3:
edit(stu)break
case
4:
dele(stu)break
default:if(i!=0)cout<<"请输入有效数字\n"
}
if(i==0)
break
}
return
0
}
这里有一个类实现学生学号,数学,语文,英语成绩录入
并且计算平均成绩,按照平均成绩高低输出信息
你可以改改!
//实现简单的学生信息输入输出和初步的成绩排序
public
class
student
{
private
int
id
//学号
private
int
mathscore
//数学成绩
private
int
chinscore
//语文成绩
private
int
forescore
//外语成绩
public
student()
{
id
=
0
mathscore
=
0
chinscore
=
0
forescore
=
0
}
public
student(int
newid,
int
newmathscore,
int
newchinsvore,
int
newforescore)
{
id
=
newid
mathscore
=
newmathscore
chinscore
=
newchinsvore
forescore
=
newforescore
}
public
double
getaveragescore()
{
//求平均成绩
double
averagescore
=
((double)
mathscore
+
chinscore
+
forescore)
/
3
return
averagescore
}
public
void
output(student
student)
{
//输出对象的内容
system.out.println("
"
+
student.id
+
"
"
+
student.mathscore
+
"
"
+
student.chinscore
+
"
"
+
student.forescore
+
"
"
+
student.getaveragescore())
}
public
int
max(student
a[],
int
n)
{
//student类对象数组的前n项中的成绩最大值的索引
int
position
=
0
for
(int
i
=
1
i
<
n
i++)
{
if
(a[i].getaveragescore()
>
a[position].getaveragescore())
{
//比较平均成绩
position
=
i
}
}
return
position
}
public
void
selectsort(student
a[])
{
//student类对象数组的选择排序
for
(int
n
=
a.length
n
>
1
n--)
{
int
i
=
max(a,
n)
student
temp
=
a[i]
a[i]
=
a[n
-
1]
a[n
-
1]
=
temp
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)