C++学生信息管理系统1.0
// 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相关推荐
- 赶紧进来看看--用C语言实现学生信息管理系统(1.0静态版)
本文介绍了用C语言实现学生信息管理系统设计,主要包括对学生信息增删查改.分类统计.排序等功能,文章最后有全部源码展示- C语言实现学生信息管理系统--1.0静态版 一.学生信息管理系统介绍 二.实现学 ...
- Python实现学生信息管理系统V3.0(GUI界面)
关于"学生信息管理系统"的基本思路和详细过程,请看V1.0版本: Python实现学生信息管理系统V1.0_︶ㄣ释然的博客-CSDN博客本文是关于学生信息管理系统的简易版以及具体内 ...
- python学生信息管理系统1.0
目录 具体需求:实现一个学生信息管理系统 一.数据结构的设计: 二.菜单界面及按钮的设置: 三.各个模块的具体实现 1.定义一个字典,用于存放学生信息 2.查询学生信息模块: 3.添加学生信息模块: ...
- 赶紧进来看看---C语言实现学生信息管理系统(3.0文件存储版)
本文主要介绍了将学生信息管理系统改造为文件存储版本- 主要涉及文件操作函数–将学生信息导入文件和从文件读取学生信息到程序中,从而达到数据持久化的效果 文章最后有源码展示 学生信息管理系统1.0静态版- ...
- C# 学生信息管理系统 2.0
资源下载请点击 经历几天的探索,对原有的系统做了重大的修改. 修改如下: 1.登录界面进行了修改,增加了管理员选项. 2.学生界面增加了课表查询,成绩查询和选课系统,学生信息功能,界面做了优化,可以显 ...
- 学生信息管理系统V1.0
需求: 将学生信息存储起来并能进行相关的增删改查 思路: 将学生信息存放在字典中,然后在将所有学生信息存放到列表中,通过对列表进行操作来达到对学生信息的增删改查等操作 说明: 此版本只是一个简单的列表 ...
- 学生信息管理系统V2.0
需求 将学生信息存储起来(数据能多次使用)并能进行相关的增删改查 思路 将学生信息存放在字典中,然后在将所有学生信息存放到文件中,通过对文件进行操作来达到对学生信息的增删改查等操作 说明 这个版本只是 ...
- 【数据结构实习】学生信息管理系统2.0
Student.h 1 #include<iostream> 2 #include<string> 3 #include<fstream> 4 using name ...
- python学生管理系统-Python 学生信息管理系统 2.0
本次改进的方面有: 1.通过函数把不同的功能封装成为了一个个模块,使主程序看起来清晰简明. 2.把信息都通过文件操作写入了json文件中,在退出系统后重新登录时数据都还存在. 整个工程分为了四个.py ...
- Python实现简易版学生信息管理系统,包含源码及相关实现说明~
前言 最近学了一点python语法,所以写一个小程序练习一下.当然程序中有许多不完美的地方,仅供各位小伙伴参考呀,并且欢迎大家留言指出不合理的地方奥~ 学生信息管理系统 1.系统介绍 该系统主要考察 ...
最新文章
- 空车上路,Waymo拿下加州首个“真”无人驾驶许可证
- AutoBench+Httperf的安装、测试
- 浅谈JAVA中如何利用socket进行网络编程(二)
- java-抽象类和接口对区别
- mysql编程的入门案例
- 周志华机器学习西瓜书速记第二章绪论模型评估与选择(一)
- 基于springboot+vue的学生选课系统(前后端分离)
- java 8 特点_Java8的特性有哪些
- hack_lu_2018_heap_heaven
- 对_stdcall 的理解 (转)
- c语言中isupper用法,C 库函数 - isupper()
- 图片Base64编码 图片Base64在线转换
- vivo 调用链 Agent 原理及实践
- O-1 4GB+的ISO镜像刻录
- 怎么从转移特性曲线上看dibl_半导体器件原理chapter4.ppt
- Log4j 严重漏洞修最新修复方案参考
- IDEA中类的图标变成J
- 2021年信息学部物联网工程学院学生科协前端大培训
- HW3000无线芯片模块
- 用友与华为结盟私有云 谁将是背后最大赢家?
热门文章
- Elastic Search 学习笔记
- 年入百万的表弟给我上一课:互联网思维该怎么接地气
- 内存优化最后一弹——优化函数运行
- [AppScan深入浅出]修复漏洞:会话标识未更新
- Linux Ubuntu从零开始部署web环境及项目 -----部署项目 (三)
- 第7.3节 Python特色的面向对象设计:协议、多态及鸭子类型
- win10 安装oracle 11gR2_database(内附下载地址)
- ubuntu目录结构
- MPEG4 笔记3(TRAK,TKHD, MVHD)
- 2月份13个jQuery最佳插件推荐