棘手的问题,高手进来
程序代码:
#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++中的容器来做