#include<iostream.h >
#include<string.h>
typedef struct
{char name [10]; //xingming
long num;//xuehao
float score;
} Student;
void Creat (Student stu []);
void Insert (Student stu []);
void Delete (Student stu []);
void Lookup (Student stu []);
void Update (Student stu []);
void Stat (Student stu []);
int Length (Student stu []);
void Print (Student stu []);
void Great (Student stu [])
{cout<<"qing shu ru xue sheng ren shu : ";
int n;
cin>>n;
cout<<"xing ming " <<*\t*<<"xue hao"<<*\t*<<"cheng ji"<<endl;
for (int i=1;i<=n;i++)
{
char newname[10];
long newnum;
float newscore;
cin>>newnum;
stu[i].score=newscore;
}
strcpy(stu[i].name," ");
stu[i].num=0;
stu[i].score=0;
}
void Print (Student stu[])
{ cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
int i= 1;
while ( i<=Length(stu)){
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
i++;
}
cout<<*\n*;
}
void Lookup (Student stu [])
{
cout<<"qing shu ru ni yao de xue hao";
long num;
cin >>num;
int i=1;
while(stu[i].num){
if(stu[i].num==num){
cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
break;
}
i++;
}
if (! stu[i].num){
cout<<"你要查询的学号不存在" <<*\n*;
}
}
void Insert (Student stu [])
{if(Length(stu)==100){
cout<<"存储满了,不能进行" <<*\n*;
}else
{
cout<<"请输入插入位置" ;
int m;
cin>>m;
int n=Length(stu);
if(m>n+1){cout<<"插入位置不正确" <<*\n*;
Insert(stu);
}
else{
for(int i=n;i>=m;i--)//数组中的数据依次后移
strcpy(stu[i+1].name,stu[i].name);
stu[i+1].num=stu[i].num;
stu[i+1].score=stu[i].score;
}
cout<<"请输入姓名,学号,成绩" <<*\n*;
char newname[10];
long newnum;
float newscore;
cin>>newname;
strcpy(stu[m].name,newname);
cin>>newnum;
stu[m].num=newnum;
cin>>newscore;
stu[m].score=newscore;
stu[n+2].num=0;
}
}
int Length (Student stu[])
{
int i=1;
while (stu [i].num){
i++;
}
return (i-1);
}
void Delete(Student stu[])
{
cout<<"请输入你要删除的学号";
long num;
cin>>num;
int i=1;
if (!stu[i].num){
cout<<"你要删除的学号不存在" <<*\n*;
Delete(stu);
}
while (stu[i].num){
if (stu[i].num==num){
int n=Length(stu);
for (int j=i;j<n;j++)//数据依次前移
{strcpy (stu[j].name,stu[j+1].name);
stu[j].num=stu[j+1].num;
stu[j].score=stu[j+1].score;
}
strcpy(stu [j].name," ");
stu[j].num=0;
stu[j].score=0;
break;
}
i++;
}
}
void Stat(Student stu[])
{
cout<<"不及格的学生是" <<*\n*;
cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
int i=1;
while (stu[i].num){
if (stu[i].score<60){
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}
i++;
}
cout<<*\n*;
cout<<"成绩为良的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=60&&stu[i].score<75){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
cout<<"成绩为zhong的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=75&&stu[i].score<90){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
cout<<"成绩为优的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=90){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
}
void Update(Student stu[])
{
cout <<"请输入你要修改的位置";
int m;
cin>>m;
if(m>Length(stu)){
cout<<"你要修改的位置不存在" <<*\n*;
Update(stu);
}
else {
cout<<"请输入更改后的姓名,学号,成绩"<<*\n*;
char newname[10];
long newnum;
float newscore;
cin>>newnum;
strcpy(stu[m].name,newname);
cin>>newnum;
stu[m].num=newnum;
cin>>newscore;
stu[m].score=newscore;
}
}
void main()
{
cout<<"首先建立学生管理系统" <<*\n*;
Student stu[101];
Creat(stu);
Print(stu);
cout<<"len:" <<Length(stu) <<endl;
int j=100;
cout<<"请选择你要进行的操作";
while(j)
{ cout<<"请选择你要进行的操作";
cin>>j;
switch(j){
case 1:
{
Insert(stu);
Print(stu);
break;
}
case 2:
{
Delete(stu);
Print(stu);
break;
}
case 3:
{
Lookup(stu);
Print(stu);
break;
}
case 4:
{
Update(stu);
Print(stu);
break;
}
case 5:
{
Stat(stu);
Print(stu);
break;
}
default:
break;
}
}
cout<<"线性表中共有"<<Length(stu)<<" 个学生";
}
#include<string.h>
typedef struct
{char name [10]; //xingming
long num;//xuehao
float score;
} Student;
void Creat (Student stu []);
void Insert (Student stu []);
void Delete (Student stu []);
void Lookup (Student stu []);
void Update (Student stu []);
void Stat (Student stu []);
int Length (Student stu []);
void Print (Student stu []);
void Great (Student stu [])
{cout<<"qing shu ru xue sheng ren shu : ";
int n;
cin>>n;
cout<<"xing ming " <<*\t*<<"xue hao"<<*\t*<<"cheng ji"<<endl;
for (int i=1;i<=n;i++)
{
char newname[10];
long newnum;
float newscore;
cin>>newnum;
stu[i].score=newscore;
}
strcpy(stu[i].name," ");
stu[i].num=0;
stu[i].score=0;
}
void Print (Student stu[])
{ cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
int i= 1;
while ( i<=Length(stu)){
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
i++;
}
cout<<*\n*;
}
void Lookup (Student stu [])
{
cout<<"qing shu ru ni yao de xue hao";
long num;
cin >>num;
int i=1;
while(stu[i].num){
if(stu[i].num==num){
cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
break;
}
i++;
}
if (! stu[i].num){
cout<<"你要查询的学号不存在" <<*\n*;
}
}
void Insert (Student stu [])
{if(Length(stu)==100){
cout<<"存储满了,不能进行" <<*\n*;
}else
{
cout<<"请输入插入位置" ;
int m;
cin>>m;
int n=Length(stu);
if(m>n+1){cout<<"插入位置不正确" <<*\n*;
Insert(stu);
}
else{
for(int i=n;i>=m;i--)//数组中的数据依次后移
strcpy(stu[i+1].name,stu[i].name);
stu[i+1].num=stu[i].num;
stu[i+1].score=stu[i].score;
}
cout<<"请输入姓名,学号,成绩" <<*\n*;
char newname[10];
long newnum;
float newscore;
cin>>newname;
strcpy(stu[m].name,newname);
cin>>newnum;
stu[m].num=newnum;
cin>>newscore;
stu[m].score=newscore;
stu[n+2].num=0;
}
}
int Length (Student stu[])
{
int i=1;
while (stu [i].num){
i++;
}
return (i-1);
}
void Delete(Student stu[])
{
cout<<"请输入你要删除的学号";
long num;
cin>>num;
int i=1;
if (!stu[i].num){
cout<<"你要删除的学号不存在" <<*\n*;
Delete(stu);
}
while (stu[i].num){
if (stu[i].num==num){
int n=Length(stu);
for (int j=i;j<n;j++)//数据依次前移
{strcpy (stu[j].name,stu[j+1].name);
stu[j].num=stu[j+1].num;
stu[j].score=stu[j+1].score;
}
strcpy(stu [j].name," ");
stu[j].num=0;
stu[j].score=0;
break;
}
i++;
}
}
void Stat(Student stu[])
{
cout<<"不及格的学生是" <<*\n*;
cout<<"xing ming " <<*\t*<<"xue hao" <<*\t* <<" chengji" <<*\n*;
int i=1;
while (stu[i].num){
if (stu[i].score<60){
cout<<stu[i].name<<*\t*<<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}
i++;
}
cout<<*\n*;
cout<<"成绩为良的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=60&&stu[i].score<75){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
cout<<"成绩为zhong的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=75&&stu[i].score<90){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
cout<<"成绩为优的学生是" <<*\n*;
cout<<"姓名" <<*\t* <<"学号" <<*\t*<<"成绩"<<*\n*;
i=1;
while(stu[i].num){
if (stu [i].score>=90){
cout<<stu[i].name<<*\t* <<stu[i].num<<*\t*<<stu[i].score<<*\n*;
}i++;
}
cout<<*\n*;
}
void Update(Student stu[])
{
cout <<"请输入你要修改的位置";
int m;
cin>>m;
if(m>Length(stu)){
cout<<"你要修改的位置不存在" <<*\n*;
Update(stu);
}
else {
cout<<"请输入更改后的姓名,学号,成绩"<<*\n*;
char newname[10];
long newnum;
float newscore;
cin>>newnum;
strcpy(stu[m].name,newname);
cin>>newnum;
stu[m].num=newnum;
cin>>newscore;
stu[m].score=newscore;
}
}
void main()
{
cout<<"首先建立学生管理系统" <<*\n*;
Student stu[101];
Creat(stu);
Print(stu);
cout<<"len:" <<Length(stu) <<endl;
int j=100;
cout<<"请选择你要进行的操作";
while(j)
{ cout<<"请选择你要进行的操作";
cin>>j;
switch(j){
case 1:
{
Insert(stu);
Print(stu);
break;
}
case 2:
{
Delete(stu);
Print(stu);
break;
}
case 3:
{
Lookup(stu);
Print(stu);
break;
}
case 4:
{
Update(stu);
Print(stu);
break;
}
case 5:
{
Stat(stu);
Print(stu);
break;
}
default:
break;
}
}
cout<<"线性表中共有"<<Length(stu)<<" 个学生";
}