![]() |
#2
a3733392052011-10-24 21:31
|

#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
int count = 0;
struct student
{
int num; //学号
char name[15]; //姓名
int age; //年龄
int sex; //1代表男,0代表女
char borntime[15]; //出生年月
};
struct student stu[50];
//输入学生信息
struct student input()
{
float sum = 0;
struct student st;
cout<<"\n\t请输入学员的信息\n";
cout<<"\n请输入学号:";
cin>>st.num;
cout<<"请输入姓名:";
fflush(stdin);
cin>>st.name;
cout<<"请输入年龄:";
cin>>st.age;
cout<<"请输入性别";
cout<<"(1代表男性,0代表女性)";
cin>>st.sex;
cout<<"请输入出生年月:";
fflush(stdin);
cin>>st.borntime;
return st;
}
//打印学生信息
void display()
{
int i;
for(i = 0;i<count;i++)
{
cout<<"\n--------------学号:"<<stu[i].num;
cout<<"\n--------------姓名:"<<stu[i].name;
cout<<"\n--------------年龄:"<<stu[i].age;
cout<<"\n--------------性别:"<<stu[i].sex;
cout<<"\n----------出生年月:"<<stu[i].borntime;
}
}
//删除学生信息
void deleted ()
{
int n,i,j=0;
//寻找
cout<<"\n请输入要删除的学生的学号:";
cin>>n;
for(i=0;i<count;i++)
{
if(n==stu[i].num)
break;
}
if(i<count - 1)
{
for(j=i;j<count-1;j++)
{
stu[j]=stu[j+1];
}
count--;
}
else if(i==count-1)
count--;
}
//插入学生信息
void insert ()
{
//struct student stu1; //定义一个结构体变量
cout<<"\n请输入要插入的学生信息:";
stu[count++]=input();
}
int _tmain(int argc, _TCHAR* argv[])
{
struct student *p;
int i=0;
int cout1=1;
int flag = 1,choose;
p = &stu[i];
cout<<"\n\t 学生信息管理系统";
while(cout1)
{
cout<<"\n------------1-输入学生信息------------";
cout<<"\n------------2-插入学生信息------------";
cout<<"\n------------3-删除学生信息------------";
cout<<"\n------------4-显示学生信息------------";
cout<<"\n------------0-----退出----------------\n";
cin>>choose;
switch(choose)
{
case 1:
{
while(flag==1)
{
for(i=0;i<50;i++)
{
stu[i]=input();
count++;
cout<<"是否继续输入:(y/n)";
fflush(stdin);
if((getchar())=='n'||(getchar())=='N')
{
flag = 0;
break;
}
}
}
continue;
}
case 2:
{
insert();
continue;
}
case 3:
{
deleted();
continue;
}
case 4:
{
display();
continue;
}
case 0:
{
cout<<"\n\t谢谢使用!\n";
cout1=0;
break;
}
}
}
return 0;
}
用VS2010编写的学生信息算法,怎么把结构体数组转换成C++中的容器来做 #include <string.h>
#include <iostream>
using namespace std;
int count = 0;
struct student
{
int num; //学号
char name[15]; //姓名
int age; //年龄
int sex; //1代表男,0代表女
char borntime[15]; //出生年月
};
struct student stu[50];
//输入学生信息
struct student input()
{
float sum = 0;
struct student st;
cout<<"\n\t请输入学员的信息\n";
cout<<"\n请输入学号:";
cin>>st.num;
cout<<"请输入姓名:";
fflush(stdin);
cin>>st.name;
cout<<"请输入年龄:";
cin>>st.age;
cout<<"请输入性别";
cout<<"(1代表男性,0代表女性)";
cin>>st.sex;
cout<<"请输入出生年月:";
fflush(stdin);
cin>>st.borntime;
return st;
}
//打印学生信息
void display()
{
int i;
for(i = 0;i<count;i++)
{
cout<<"\n--------------学号:"<<stu[i].num;
cout<<"\n--------------姓名:"<<stu[i].name;
cout<<"\n--------------年龄:"<<stu[i].age;
cout<<"\n--------------性别:"<<stu[i].sex;
cout<<"\n----------出生年月:"<<stu[i].borntime;
}
}
//删除学生信息
void deleted ()
{
int n,i,j=0;
//寻找
cout<<"\n请输入要删除的学生的学号:";
cin>>n;
for(i=0;i<count;i++)
{
if(n==stu[i].num)
break;
}
if(i<count - 1)
{
for(j=i;j<count-1;j++)
{
stu[j]=stu[j+1];
}
count--;
}
else if(i==count-1)
count--;
}
//插入学生信息
void insert ()
{
//struct student stu1; //定义一个结构体变量
cout<<"\n请输入要插入的学生信息:";
stu[count++]=input();
}
int _tmain(int argc, _TCHAR* argv[])
{
struct student *p;
int i=0;
int cout1=1;
int flag = 1,choose;
p = &stu[i];
cout<<"\n\t 学生信息管理系统";
while(cout1)
{
cout<<"\n------------1-输入学生信息------------";
cout<<"\n------------2-插入学生信息------------";
cout<<"\n------------3-删除学生信息------------";
cout<<"\n------------4-显示学生信息------------";
cout<<"\n------------0-----退出----------------\n";
cin>>choose;
switch(choose)
{
case 1:
{
while(flag==1)
{
for(i=0;i<50;i++)
{
stu[i]=input();
count++;
cout<<"是否继续输入:(y/n)";
fflush(stdin);
if((getchar())=='n'||(getchar())=='N')
{
flag = 0;
break;
}
}
}
continue;
}
case 2:
{
insert();
continue;
}
case 3:
{
deleted();
continue;
}
case 4:
{
display();
continue;
}
case 0:
{
cout<<"\n\t谢谢使用!\n";
cout1=0;
break;
}
}
}
return 0;
}