文档介绍:面向对象程序设计大作业
------学生信息管理系统
完成时间: 2013年 5 月 20 日
学生信息管理系统
编程目的
进一步培养面向对象的程序设计思想,认识面向过程和面向对象两种设计方法的区别;
能独立搭建可视化程序编程环境,掌握vc++, 提高运用C++语言解决实际问题的能力。
系统简介
进行学生信息管理,学生信息的组成部分为:学号、姓名、性别、年龄、出生年月日、电话和家庭住址。
编程思路
先编写建立student类向导,定义私有数据成员num、age、 pho[50]、add[100]、name[20]、sex[4]、bir[40]以实现参数传递。在主函数中,运用switch()选择结构。
关键技术说明
输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入数据时,要给出清晰、明确的提示信息。
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2) 学生信息可定义为一个类,采用文件保存数据。
源代码
#include<iostream>
#include<fstream>
#include<string>
#include<iomanip>
using namespace std;
class Student //*****************学生类
{
private:
int num;
int age;
char pho[50];
char add[100];
char name[20];
char sex[4];
char bir[40];
public:
input();
delet();
look();
find();
change();
append();
};
Student x[50];
Student::input() //*******************输入
{
loop:
int num,a=0,t;
for(int s=0;s<=50;s++)
{
cout<<"请输入学号(大于等于1000的四位数):"<<endl;
cin>>num;
ifstream file("",ios::binary); //以二进制打开文件
(0,ios::beg);
for(int i=0;i<50;i++)
{
((char *)&x[i],sizeof(x[i])); //读取文件
if(num==x[i].num)a=1;
if(x[i].num==0)
{
t=i;
i=50;
} //t记录i值,"i=50"跳出循环
}
if(a==1||num<1000||num>9999)
{
cout<<"您输入的学号不合规则或已存在!"<<endl;
goto loop;
}
else
x[t].num=num;
cout<<"请输入姓名:"<<endl;
cin>>x[t].name;
cout<<"请输入性别(男或女):"<<endl;
cin>>x[t].sex;
cout<<"请输入年龄:"<<endl;
cin>>x[t].age;
cout<<"请输入生日(年/月/日):"<<endl;
cin>>x[t].bir;
cout<<"请输入电话:"<<endl;
cin>>x[t].pho;
cout<<"请输入地址:"<<endl;
cin>>x[t].add;
s=50; //"s=50"跳出循环
}
ofstream file("");
for(int i=0;i<10;i++)
{
((char *)&x[i],sizeof(x[i]));
}
(); //关闭文件
}
Student::look() //*******************浏览
{
ifstream file("",ios::binary);
(0,ios::beg);
for(int i=0;i<50;i++)
{
((char *)&x[i],sizeof(x[i]