C++课程设计

来源:互联网 发布:电脑锣编程视频 编辑:程序博客网 时间:2024/04/30 03:53

学生信息管理系统设计

学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:

1、系统以菜单方式工作

2、学生信息录入功能(学生信息用文件保存)--输入

3、学生信息浏览功能--输出

4、学生信息查询功能--算法

按学号查询

按姓名查询

5、学生信息的删除与修改(可选项)

微笑嘿嘿,有兴趣的童鞋们帮忙完善哈这个程序,谢谢

#include<iostream>

#include<fstream>
#include<cstring>
using namespace  std;
class student
{public:
char name[10];//学生姓名
char Email[50];//邮箱地址
char address[50];//家庭地址
char type[20];//性别
char telephone[50];//电话号码
int year,month,day;//出生年月
int age;//年龄
student() {}//构造函数
~student() {}//析构函数
virtual void num() {}//设置学号函数
};
class student1:virtual public student
{public:
student1() {}
void set1(char *n,char *c,char *a,char *t,char *h,int y,int m,int d,int nn,int f)
{strcpy(name,n);
strcpy(Email,c);
strcpy(address,a);
strcpy(type,t);
strcpy(telephone,h);
year=y;
month=m;
day=d;
number=nn;
age=f;
}
void num(){number=1;}//设置学号序列
float number;
};
student t1[20];
static int k;
void main()//主函数
{void caidan();
caidan();
}
void caidan()
{void employw();//录入信息
void changew();//修改信息
void shown();//显示信息
void selectw();//删除信息
void searchw();//查找信息
void savew();//保存信息
int a1;
system("color 0e");
cout<<"\t\t*****************************************\n";
cout<<"\t\t*****                             ******\n";
cout<<"\t\t*****         学生信息管理系统    ******\n";
cout<<"\t\t*****                             ******\n";
cout<<"\t\t*****                              ******\n";
cout<<"\t\t*****************************************\n";
cout<<"\n\n\n";
cout<<"\t\t        功能菜单      \n";
cout<<"\t(1)       录入信息      \n";
cout<<"\t(2)       修改信息      \n";
cout<<"\t(3)       显示信息      \n";
cout<<"\t(4)       查询信息      \n";
cout<<"\t(5)       删除信息      \n";
cout<<"\t(6)       保存信息      \n";
cout<<"\t(7)         退出        \n";
cout<<"\n请输入1或2或3或4或5或6或7进行你所要执行地下一步动作:\n";
cin>>a1;
while(a1!=1&&a1!=2&&a1!=3&&a1!=4&&a1!=5&&a1!=6&&a1!=7)   {cout<<"\n请重新输入数字1或2或3或4或5或6或7:";cin>>a1;}
if(a1==1)      employw();
if(a1==2)      changew();
if(a1==3)      shown();
if(a1==4)      searchw();
if(a1==5)      selectw();
if(a1==6)      savew();
if(a1==7)      cout<<"\n退出程序!\n";
}
void employw()//信息录入
{
char n[10],c[50],a[50],t[20],h[50];
int y,m,d,nn,f,v,k,i1,rr,i=9,r1;
cout<<"\n请输入学生号:";
while(i!=0)
{cin>>i;
if(i=1)
{cout<<"\n请输入学生号对应的相关信息!\n";
for(v=0;v<20;v++)
{cout<<"学生姓名:";
cin>>n;
cout<<"\n邮箱地址:";
cin>>c;
cout<<"\n家庭住址:";
cin>>a;
cout<<"\n性别:";
cin>>t;
cout<<"\n电话号码:";
cin>>h;
cout<<"\n出生年月:";
cin>>y>>m>>d;
cout<<"\n学号:";
cin>>nn;
cout<<"\n年龄:";
cin>>f;

t1[v].num();
k++;
cout<<"\n想继续输入下一个学生的相关信息吗?(1-是 2-否):";
cin>>i1;
while(i1!=1&&i1!=2)
{ cout<<"\n请重新输入数字1或2:";
cin>>i1;
}
if(i1==1) {system("cls");cout<<"\n继续输入学生的相关信息!\n";}
else break;
}
}
cout<<"\n想输入其他学生的相关信息吗?(1-是 2-否):";
cin>>i1;
while(i1!=1&&i1!=2) {cout<<"\n请重新输入数字1或2:";cin>>i1;}
if(i1==1) 
{system("cls");
cout<<"\n请输入学生号:";
}
if(i1==2) break;
}
cout<<"\n想保存你所输入得信息吗?(1-是 2-否):";
cin>>rr;
while(rr!=1&&rr!=2) {cout<<"\n请重新输入数字1或2:";cin>>rr;}
if(rr==1)
{ofstream ofile("student.txt",ios_base::out);
for(v=0;v<k;v++)
{ofile<<"\n学生姓名:"<<t1[v].name<<"\n邮箱地址:"
<<t1[v].Email<<"\n家庭住址:"<<t1[v].address
<<"\n性别:"<<t1[v].type<<"\n电话号码:"<<t1[v].telephone<<"\n出生年月:"<<t1[v].year<<"/"<<t1[v].month
<<"/"<<t1[v].day<<"\n学生年龄:"<<t1[v].age<<"\n学号:"/*<<t1[v].num*/<<endl;
}
ofile.close();
cout<<"\n学生信息已储存!";
cout<<"\n按键1返回菜单:";
cin>>r1;
while(r1!=1)        {cout<<"\n请重新输入数字1:";cin>>r1;}
if(r1==1)           { system("cls");caidan();}
if(r1==2)           {cout<<"\n退出程序!";}
}
if(rr==2)
{cout<<"\n按键1返回菜单2退出程序:";
cin>>r1;
while(r1!=1&&r1!=2) {cout<<"\n请重新输入数字1或2:";cin>>r1;}
if(r1==1)           { system("cls");caidan();}
if(r1==2)           {cout<<"\n退出程序!";}
}
}
void changew()//修改信息函数
{
void caidan();//菜单函数
char n[10],c[50],a[50],t[20],h[50];
int y,m,d,nn,f,v,k,i1,rr,i=9,r1;
cout<<"\n请输入要修改学生信息的学生号:\n";
for(v=0;v<20;v++)
while(i!=0)
{
cin>>i;
if(i==1)
{
cout<<"\n请输入学生号对应的信息!\n";
for(v=k;v<20;v++)
{
cout<<"学生姓名:";
cin>>n;
cout<<"\n邮箱地址:";
cin>>c;
cout<<"\n家庭住址:";
cin>>a;
cout<<"\n性别:";
cin>>t;
cout<<"\n电话号码:";
cin>>h;
cout<<"\n出生年月:";
cin>>y>>m>>d;
cout<<"\n学号:";
cin>>nn;
cout<<"\n年龄:";
cin>>f;
//t1[v].set1(n,c,a,t,h,y,m,d,nn,f);
t1[v].num();
k++;
cout<<"\n想继续输入下一个学生的相关信息吗?(1-是 2-否):";
cin>>i1;
while(i1!=1&&i1!=2)
{ cout<<"\n请重新输入数字1或2:";
cin>>i1;
}
if(i1==1) {system("cls");cout<<"\n继续输入下一个学生的相关信息!\n";cout<<employw;}
else break;
}
}
cout<<"\n想修改其他学生号的相关信息吗?(1-是 2-否):";
cin>>i1;
while(i1!=1&&i1!=2) {cout<<"\n请重新输入数字1或2:";cin>>i1;}
if(i1==1)    {cout<<"\n请输入学号:";}
if(i1==2) break;
}
cout<<"想保存你所输入得信息吗?(1-是 2-否):";
cin>>rr;
while(rr!=1&&rr!=2) {cout<<"\n请重新输入数字1或2:";cin>>rr;}
if(rr==1)
{
ofstream ofile("student.txt",ios_base::out);
for(v=0;v<k;v++)
{
ofile<<"\n学生姓名:"<<t1[v].name<<"\n邮箱地址:"
<<t1[v].Email<<"\n家庭住址:"<<t1[v].address
<<"\n性别:"<<t1[v].type<<"\n电话号码:"<<t1[v].telephone<<"\n出生年月:"<<t1[v].year<<"/"<<t1[v].month
<<"/"<<t1[v].day<<"\n学生年龄:"<<t1[v].age<<"\n学号:"/*<<t1[v].num*/<<endl;
}
ofile.close();
cout<<"\n学生信息已储存!";
cout<<"\n按键1返回菜单:";


cin>>r1;
while(r1!=1)        {cout<<"\n请重新输入数字1:";cin>>r1;}
if(r1==1)           { system("cls");caidan();}
if(r1==2)           {cout<<"\n退出程序!";}
}
if(rr==2)
{cout<<"\n按键1返回菜单2退出程序:";
cin>>r1;
while(r1!=1&&r1!=2) {cout<<"\n请重新输入数字1或2:";cin>>r1;}
if(r1==1)           { system("cls");caidan();}
if(r1==2)           {cout<<"\n退出程序!";}
}
}
void shown()//显示信息
{
cout<<"\n从文件中读取学生信息\n";
char ch;int nn;
ifstream ofile("student.txt");
while(ofile.get(ch))
cout<<ch;
ofile.close();
cout<<"请按键1返回菜单或按键2退出程序:";
cin>>nn;
while(nn!=1&&nn!=2) {cout<<"请重新输入数字1或2:";cin>>nn;}
if(nn==1)  {system("cls"); caidan();}
if(nn==2)  cout<<"退出程序!\n";
}
void searchw()//查找学生信息
{
void caidan();
char namestr[20];int rr;int i,j,v=20;
cout<<"\n请输入你想查找学生的学号:";
cin>>rr;
while(rr!=1)   {cout<<"\n请重新输入数字1或其他:";cin>>rr;}
if(rr==1)
for(i=0;i<k;i++)
{if(strcmp(namestr,t1[i].name)==0)
{cout<<t1[v].Email<<"\n家庭住址:"<<t1[v].address
<<"\n性别:"<<t1[v].type<<"\n电话号码:"<<t1[v].telephone<<"\n出生年月:"<<t1[v].year<<"/"<<t1[v].month
<<"/"<<t1[v].day<<"\n学生年龄:"<<t1[v].age<<endl;
}

if(i==k)  cout<<"\n对不起,没有你所输入学生号的相关信息!\n";
}
cout<<"\n请输入数字键1返回菜单或数字键2退出程序:";
cin>>j;
while(j!=1&&j!=2)
{cout<<"\n请重新输入数字1或2:";
cin>>j;
}
if(j==1)  {system("cls");caidan();}
if(j==2)  cout<<"\n退出程序!";
}
void selectw()//删除信息
{
void caidan();
char namestr[20];int rr,i,r1,i1,v=20;
cout<<"\n请输入你要删除的学生学号:";
cin>>rr;
while(rr!=1)  
{
cout<<"\n请重新输入数字1或其他:";cin>>rr;}
if(rr==1)
{
cout<<"\n学生姓名:";
cin>>namestr;
for(i=0;i<k;i++)       
{
if(strcmp(namestr,t1[i].name)==0)  i1=i;}
}
cout<<"想保存删除后的信息吗?(1-是 2-否):";
cin>>r1;
while(r1!=1&&r1!=2)  {cout<<"请重新输入数字1或2:";cin>>r1;}
if(r1==1)
{
ofstream ofile("wiring.txt",ios_base::out);
for(i=0;i<k;i++)
{
if(i==i1) continue;
else
{
ofile<<t1[v].Email<<"\n家庭住址:"<<t1[v].address
<<"\n性别:"<<t1[v].type<<"\n电话号码:"<<t1[v].telephone<<"\n出生年月:"<<t1[v].year<<"/"<<t1[v].month
<<"/"<<t1[v].day<<"\n学生年龄:"<<t1[v].age<<endl;
}
}
ofile.close();
cout<<"\n物品信息已保存!\n";
}
cout<<"按键1返回菜单,2退出程序:";


while(r1!=1&&r1!=2)  {cout<<"请重新输入数字1或2:";cin>>r1;}
if(r1==1) {system("cls"); caidan();}
if(r1==2)  cout<<"退出程序!\n";
}
void savew()//保存学生信息
{
void caidan();
ofstream ofile("student.txt",ios_base::out);
int i,rr,v=20;
for(i=0;i<k;i++)
{
ofile<<t1[v].Email<<"\n家庭住址:"<<t1[v].address
<<"\n性别:"<<t1[v].type<<"\n电话号码:"<<t1[v].telephone<<"\n出生年月:"<<t1[v].year<<"/"<<t1[v].month
<<"/"<<t1[v].day<<"\n学生年龄:"<<t1[v].age<<endl;
}
ofile.close();
cout<<"\n信息已储存!";
cout<<"\n输入数字键1返回菜单,2退出程序:";
cin>>rr;
while(rr!=1&&rr!=2)  {cout<<"\n请重新输入数字1或2:";cin>>rr;}
if(rr==1)            {system("cls");caidan();}//清屏并返回菜单
else                 {cout<<"\n退出程序!";}
}





























0 0
原创粉丝点击