主题:求救!!!
wjcds07
[专家分:0] 发布于 2008-12-02 23:46:00
数据结构——学生数据结构成绩管理系统
基本要求:1)学生信息及成绩的录入
要求包括的学生信息有:学号,姓名,性别,出生日期,民族 及数据结构成绩(具体内容可自行假设,至少录入10名以上学生).
所录入的学生按学号散列存储(散列函数为 学号%5 取整,如 1002%5 =2),采用拉链法解决冲突.
(2)学生成绩的查询
要求根据提供的学号完成学生成绩的查询(必须采用散列查找).
(3)学生成绩的分段统计和排序输出
统计出各分数段学生人数(60分以下,60~70,71~80,...)
采用堆排序,将学生成绩从高到低排序输出.
注:基本功能最好以菜单形式提供,可反复使用各项功能
希望有人请教一下!!![em32]
回复列表 (共1个回复)
沙发
jiangjieqim [专家分:0] 发布于 2009-01-21 14:12:00
//泥潭里的金鱼
//QQ:826070468
#include <iostream>
#include <string.h>
using namespace std;
/*
数据结构——学生数据结构成绩管理系统
基本要求:1)学生信息及成绩的录入
要求包括的学生信息有:学号,姓名,性别,出生日期,民族 及数据结构成绩(具体内容可自行假设,至少录入10名以上学生).
所录入的学生按学号散列存储(散列函数为 学号%5 取整,如 1002%5 =2),采用拉链法解决冲突.
(2)学生成绩的查询
要求根据提供的学号完成学生成绩的查询(必须采用散列查找).
(3)学生成绩的分段统计和排序输出
统计出各分数段学生人数(60分以下,60~70,71~80,...)
采用堆排序,将学生成绩从高到低排序输出.
注:基本功能最好以菜单形式提供,可反复使用各项功能
希望有人请教一下
*/
class student
{
public:
int student_Num;//学号
string name; //姓名
string sex; //性别
int bornData; //出生日期
string nation; //民族
int Data_achievement; //数据结构成绩
};
int swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b = temp;
return 0;
}
void fun()
{
int p;
cin >>p;
if (p==1)
{
cout <<"成绩为65"<<endl;
}
else if ( p ==2)
{
cout <<"成绩为15"<<endl;
}
else if ( p ==3)
{
cout <<"成绩为85"<<endl;
}
else if ( p ==4)
{
cout <<"成绩为75"<<endl;
}
else
{
cout <<"input angin!"<<endl;
fun( );
}
}
int main()
{
student a,b,c,d;
a.student_Num = 1;
b.student_Num = 2;
c.student_Num = 3;
d.student_Num = 4;
a.Data_achievement = 65;
b.Data_achievement = 15;
c.Data_achievement = 85;
d.Data_achievement = 75;
int Num [4] = {a.student_Num ,b.student_Num ,c.student_Num ,d.student_Num};
int achi[4] = {
a.Data_achievement,
b.Data_achievement,
c.Data_achievement,
d.Data_achievement};
int m = 4;
for(int k = 4; k >0;k--)
{
for (int i = 0;i<m;i++)
{
if(achi[i]>achi[i+1])
{
swap(achi[i],achi[i+1]);
}
}
m--;
}
cout <<"-----分数排列------"<<endl;
for (int L = 0;L<4;L++ )
{
cout <<achi[L+1]<<endl;
}
cout <<"输入学号:"<<endl;
fun();
return 0;
}
我来回复