// example3_26_student.h:学生类的定义
#ifndef _STUDENT                //条件编译
#define _STUDENT
#include<iostream>
#include<string>
using namespace std;
#define SIZE 80
class Student
{char *name;                     //姓名char ID[19];                     //身份证char number[10];                 //学号char speciality[20];                //专业int age;                         //年龄
public:Student();                         //无参构造函数Student( char *na , char *id , char *num , char * spec ,int ag);  //带参构造函数Student(const Student &per);          //拷贝构造函数~Student();                        //析构函数char* GetName();                   //提取姓名char* GetID();                      //提取身份证char* GetNumber();                 //提取学号char* GetSpec();                    //提取专业int GetAge();                       //提取年龄void Display();                      //显示学生信息void Input();                        //输入学生信息};
#endif
//example3_26_student.cpp:学生类的实现
#include "example3_26_student.h"
Student::Student()
{name=NULL;age=0;
}
//构造函数
Student::Student( char *na , char *id , char *num , char * spec ,int ag)
{   if(na){ name=new char[strlen(na)+1];       //避免浅拷贝strcpy(name,na);}strcpy(ID, id);strcpy(number,num);strcpy(speciality, spec);age=ag;
}Student::Student(const Student &per)           //拷贝构造函数,在此例中暂时没有用到
{if(per.name){name=new char[strlen(per.name)+1];strcpy(name,per.name);}strcpy(ID, per.ID);strcpy(number,per.number);strcpy(speciality, per.speciality);age=per.age;
}Student::~Student()                         //析构函数
{if (name)delete []name;
}char* Student:: GetName()                   //提取姓名
{return name;
}
char* Student::GetID()                      //提取身份证
{  return ID;
}
int Student::GetAge()                       //提取年龄
{  return age;
}
char* Student::GetSpec()                    //提取专业
{return speciality;
}
char* Student::GetNumber()                 //提取学号
{return number;
}
void Student::Display()                    //输出数据信息
{cout<<"姓  名:"<<name<<endl;cout<<"身份证:"<<ID<<endl;cout<<"学  号:"<<number<<endl;cout<<"专  业:"<<speciality<<endl;  cout<<"年  龄:"<<age<<endl<<endl;
}
void Student::Input()                      //输入数据
{char na[10];cout<<"输入姓  名:";cin>>na ;if(name)delete []name;            name=new char[ strlen(na)+1];strcpy( name, na );cout<<"输入身份证:";cin>>ID ;cout<<"输入年  龄:";cin>>age; cout<<"输入专  业:";cin>>speciality ;cout<<"输入学  号:";cin>>number;
}
//example3_26.cpp文件:包含主函数及其他一些普通函数
#include<iostream>
#include "example3_26_student.h"
using namespace std;
const int N=10;void menu();
void OutputStu( Student *array );
void InputStu(Student *array);
int SearchStu( Student *array, char *na);int count=0;int main()
{Student array[N];int choice;do{menu();cout<<"Please input your choice:";cin>>choice;if( choice>=0 && choice <= 3 )         switch(choice){case 1:InputStu(array);break;case 2:cout<<"Input the name searched"<<endl;char na[20];cin>>na;int i;i=SearchStu(array, na);if (i==N)cout<<"查无此人!\n";elsearray[i].Display();break;case 3:OutputStu(array); break;default:break;}}while(choice);return 0;
}void menu()
{cout<<"**********1.录入信息**********"<<endl;cout<<"**********2.查询信息**********"<<endl;cout<<"**********3.浏览信息**********"<<endl;cout<<"**********0.退    出**********"<<endl;
}void OutputStu( Student *array)               //输出对象数组元素
{cout<<"学生总人数="<<count<<endl;for(int i=0 ; i<count ; i++)array[i].Display();
}int SearchStu( Student *array, char *na )         //按姓名查询
{int i,j=N;for(i=0 ; i<count ; i++)if( strcmp( array[i].GetName() , na) == 0 )j=i;return j;
}void InputStu(Student *array )                //输入对象数组元素
{char ch;do{   array[count].Input();count++;cout<<"继续输入吗?(Y or N )"<<endl;cin>>ch;}while(ch=='Y');
}

C++学生信息管理系统1.0相关推荐

  1. 赶紧进来看看--用C语言实现学生信息管理系统(1.0静态版)

    本文介绍了用C语言实现学生信息管理系统设计,主要包括对学生信息增删查改.分类统计.排序等功能,文章最后有全部源码展示- C语言实现学生信息管理系统--1.0静态版 一.学生信息管理系统介绍 二.实现学 ...

  2. Python实现学生信息管理系统V3.0(GUI界面)

    关于"学生信息管理系统"的基本思路和详细过程,请看V1.0版本: Python实现学生信息管理系统V1.0_︶ㄣ释然的博客-CSDN博客本文是关于学生信息管理系统的简易版以及具体内 ...

  3. python学生信息管理系统1.0

    目录 具体需求:实现一个学生信息管理系统 一.数据结构的设计: 二.菜单界面及按钮的设置: 三.各个模块的具体实现 1.定义一个字典,用于存放学生信息 2.查询学生信息模块: 3.添加学生信息模块: ...

  4. 赶紧进来看看---C语言实现学生信息管理系统(3.0文件存储版)

    本文主要介绍了将学生信息管理系统改造为文件存储版本- 主要涉及文件操作函数–将学生信息导入文件和从文件读取学生信息到程序中,从而达到数据持久化的效果 文章最后有源码展示 学生信息管理系统1.0静态版- ...

  5. C# 学生信息管理系统 2.0

    资源下载请点击 经历几天的探索,对原有的系统做了重大的修改. 修改如下: 1.登录界面进行了修改,增加了管理员选项. 2.学生界面增加了课表查询,成绩查询和选课系统,学生信息功能,界面做了优化,可以显 ...

  6. 学生信息管理系统V1.0

    需求: 将学生信息存储起来并能进行相关的增删改查 思路: 将学生信息存放在字典中,然后在将所有学生信息存放到列表中,通过对列表进行操作来达到对学生信息的增删改查等操作 说明: 此版本只是一个简单的列表 ...

  7. 学生信息管理系统V2.0

    需求 将学生信息存储起来(数据能多次使用)并能进行相关的增删改查 思路 将学生信息存放在字典中,然后在将所有学生信息存放到文件中,通过对文件进行操作来达到对学生信息的增删改查等操作 说明 这个版本只是 ...

  8. 【数据结构实习】学生信息管理系统2.0

    Student.h 1 #include<iostream> 2 #include<string> 3 #include<fstream> 4 using name ...

  9. python学生管理系统-Python 学生信息管理系统 2.0

    本次改进的方面有: 1.通过函数把不同的功能封装成为了一个个模块,使主程序看起来清晰简明. 2.把信息都通过文件操作写入了json文件中,在退出系统后重新登录时数据都还存在. 整个工程分为了四个.py ...

  10. Python实现简易版学生信息管理系统,包含源码及相关实现说明~

    前言 最近学了一点python语法,所以写一个小程序练习一下.当然程序中有许多不完美的地方,仅供各位小伙伴参考呀,并且欢迎大家留言指出不合理的地方奥~ 学生信息管理系统 1.系统介绍 该系统主要考察 ...

最新文章

  1. 谷歌chrome浏览器的源码分析(五)
  2. lnmp的编译安装mysql_LNMP环境搭建(二) 编译安装MySQL
  3. mysql无法添加或更新子行_MySQL错误1452-无法添加或更新子行:外键约束失败?
  4. mysql8双机热备高可用配置
  5. Hive数据导出的几种方式
  6. Java 里面 final 与 static
  7. centos 升级 glibc和glibcxxx ,解决error: Failed dependencies等问题
  8. 树莓派3B的WiFi中文乱码及搜索不到附近的WiFi_解决方案:
  9. LeetCode 776. Split BST
  10. 微信公众号唤起微信支付
  11. (QACNN)自然语言处理:智能问答 IBM 保险QA QACNN 实现笔记
  12. JS获取手机型号和系统类型
  13. Android2018年最新前沿框架和技术
  14. JAVA 编程语言基础笔记
  15. ar ebs 销售订单关闭_本周大新闻|《哈利波特》AR游戏玩法公开,谷歌关闭VR影视部门...
  16. 解决IE浏览器打开,出现不能为“read”的问题
  17. Mosquitto设置用户名密码
  18. BI是什么,BI的解释
  19. Servlet报错500的问题
  20. lcy老师的训练反思

热门文章

  1. 【TDA4系列】使用 Linux + RTOS 开发基于以太网的应用程序
  2. 【Webcam设计】USB摄像头图片采集+QT显示
  3. 正定二次函数的共轭梯度法matlab实现
  4. Newton迭代法求无约束目标函数极小值matlab实现
  5. springMVC3学习(十)--注解式控制器
  6. 版式设计中要注意的三点问题
  7. Python爬虫开发【第1篇】【正则表达式】
  8. Labview实现脉波调制( PDM )
  9. 比较IE6的不同之处,与IE8 IE11 比较
  10. java如何操作视图