//
// main.cpp
// 2013-7-17作业1
//
// Created by 丁小未 on 13-7-17.
// Copyright (c) 2013年 dingxiaowei. All rights reserved.
//
//1.有这样一个学生系统,用于学校存储学生信息,当有新生的时候存储新生信息,有学生毕业的时候删除学生信息,还可以修改学生信息,比如学生突然更改了姓名或者学生换了专业。学生信息至少要有姓名,学号,年龄,性别,专业,手机号码。
//条件:使用类Student,完成。
#include <iostream>
#define NUM 50
using namespace std; class Student
{
private:
int num;//学号
string name;//姓名
int age; //年龄
char sex; //性别
string profession;//专业
string telphone;
public:
Student()
{ }
Student(int nu,string na,int ag,char sx,string pr,string te)
{
num = nu;
name = na;
age = ag;
sex = sx;
profession = pr;
telphone = te;
}
void SetNum(int nu)
{
num = nu;
}
void SetName(string na)
{
name = na;
}
void SetAge(int ag)
{
age = ag;
}
void SetSex(char sx)
{
sex = sx;
}
void SetProfession(string pr)
{
profession = pr;
}
void SetTelphone(string te)
{
telphone = te;
}
Student* GetStudent()
{
Student *stu;
return stu;
}
int GetNum()
{
return num;
}
string GetName()
{
return name;
}
int GetAge()
{
return age;
}
char GetSex()
{
return sex;
}
string GetProfession()
{
return profession;
}
string GetTelphone()
{
return telphone;
} //还要有整体的赋值,可以用单目运算符重写=
Student&operator = (const Student & other)
{
if (this == &other) {
return *this;
}
this->num = other.num;
this->name = other.name;
this->age = other.age;
this->sex = other.sex;
this->profession = other.profession;
this->telphone = other.telphone;
}
}; //输入学生,返回输入的个数
int setStudent(Student stu[],int n)
{
int i=;
int j;
int iTemp;
string sTemp;
char cTemp;
int f=;
do {
cout<<"请输入学生学号"<<endl;
cin>>iTemp;
stu[i].SetNum(iTemp);
cout<<"请输入学生姓名"<<endl;
cin>>sTemp;
stu[i].SetName(sTemp);
cout<<"请输入学生年龄"<<endl;
cin>>iTemp;
stu[i].SetAge(iTemp);
cout<<"请输入学生性别"<<endl;
cin>>cTemp;
stu[i].SetSex(cTemp);
cout<<"请输入学生专业"<<endl;
cin>>sTemp;
stu[i].SetProfession(sTemp);
cout<<"请输入学生手机号"<<endl;
cin>>sTemp;
stu[i].SetTelphone(sTemp);
i++;
cout<<"请问要输入学生信息吗?(1.要 2.不要)";
cin>>f;
} while (==f);
// for (i=0; i<n; i++) {
// printf("请问要输入学生信息吗?(1.要 2.不要)");
// cin>>j;
// if (2==j) {
// break;
// }
// else
// {
// cout<<"请输入学生学号"<<endl;
// cin>>iTemp;
// stu[i].SetNum(iTemp);
// cout<<"请输入学生姓名"<<endl;
// cin>>sTemp;
// stu[i].SetName(sTemp);
// cout<<"请输入学生年龄"<<endl;
// cin>>iTemp;
// stu[i].SetAge(iTemp);
// cout<<"请输入学生性别"<<endl;
// cin>>cTemp;
// stu[i].SetSex(cTemp);
// cout<<"请输入学生专业"<<endl;
// cin>>sTemp;
// stu[i].SetProfession(sTemp);
// cout<<"请输入学生手机号"<<endl;
// cin>>sTemp;
// stu[i].SetTelphone(sTemp);
// }
// }
return i;//返回输入的学生数
} //返回查找学号为什么的学生的下标
int findStudent(Student *stu,int n,int findNum)//要查询的Student数组,实际查询的条数,要查询的学号
{
int i;
int m=-;
for (i=; i<n; i++) {
if(stu[i].GetNum()==findNum)
{
m=i;
break;
}
}
return m; //返回Stu的下标
} //删除一条学生信息
int deleteStudent(Student *stu,int n,int deleteStudentNum) //在学生数组中删除学号为deleteStudentNum的学生,并且个数减少1
{
int i;
int j=;
for (i=; i<n; i++) {
if (stu[i].GetNum()==deleteStudentNum) {
for (j=i; j<n-; j++) {
stu[j]=stu[j+];
}
n--;
i--;
}
}
return n; //返回n-1
}
Student addStudent()
{
Student stu;
int iTemp;
char cTemp;
string sTemp;
cout<<"请输入学生学号"<<endl;
cin>>iTemp;
stu.SetNum(iTemp);
cout<<"请输入学生姓名"<<endl;
cin>>sTemp;
stu.SetName(sTemp);
cout<<"请输入学生年龄"<<endl;
cin>>iTemp;
stu.SetAge(iTemp);
cout<<"请输入学生性别"<<endl;
cin>>cTemp;
stu.SetSex(cTemp);
cout<<"请输入学生专业"<<endl;
cin>>sTemp;
stu.SetProfession(sTemp);
cout<<"请输入学生手机号"<<endl;
cin>>sTemp;
stu.SetTelphone(sTemp);
return stu;
}
//添加一个学生(可能有点问题)
int insertStudent(Student *stu,int n)
{
Student s=addStudent();
stu[n] = s;
return ++n;
} //修改学生信息
void alterStudent()
{ } //打印标题行
void printTitle()
{
cout<<"学号 "<<"姓名 "<<"年龄 "<<"性别 "<<"专业 "<<"手机号"<<endl;
} //输出打印学生信息
void getStudent(Student *stu,int n)
{
int i;
printTitle();//打印标题
for (i=; i<n; i++) {
cout<<stu[i].GetNum()<<" "<<stu[i].GetName()<<" "<<stu[i].GetAge()<<" "<<stu[i].GetSex()<<" "<<stu[i].GetProfession()<<" "<<stu[i].GetTelphone()<<" "<<endl;
}
}
//显示菜单
void showMenu()
{
cout<<">>>>>>>>>>>>欢迎使用学生信息管理系统<<<<<<<<<<<<<<<"<<endl;
cout<<"***********************************************"<<endl;
cout<<"* 1.初始化学生 2.添加学生 *"<<endl;
cout<<"* 3.修改学生 4.删除学生 *"<<endl;
cout<<"* 5.显示所有学生 6.退出 *"<<endl;
cout<<"***********************************************"<<endl;
}
//菜单选择
int get_menu_choice()
{
int menu_ch;
do {
cout<<"选择菜单选项:";
cin>>menu_ch;
if ((menu_ch<)||(menu_ch>)) {
cout<<"error!"<<endl;
}
} while ((menu_ch<)||(menu_ch>));
return menu_ch;
}
int main(int argc, const char * argv[])
{ Student* stu = new Student[NUM]; int r1=;
int r2;//保存查找的学号
int choose;
while () {
showMenu();
switch (get_menu_choice()) {
case :
r1=setStudent(stu,NUM);//返回输入的个数
break;
case :
r1=insertStudent(stu,r1);
getStudent(stu, r1);
break;
case :
cout<<"请输入要修改的学生的学号:";
int nn;
cin>>nn;
r2=findStudent(stu, r1, nn);
if (r2==-) {
cout<<"没有该学生!";
}
else
{
int iTemp;
char cTemp;
string sTemp;
cout<<"请输入学生学号"<<endl;
cin>>iTemp;
stu[r2].SetNum(iTemp);
cout<<"请输入学生姓名"<<endl;
cin>>sTemp;
stu[r2].SetName(sTemp);
cout<<"请输入学生年龄"<<endl;
cin>>iTemp;
stu[r2].SetAge(iTemp);
cout<<"请输入学生性别"<<endl;
cin>>cTemp;
stu[r2].SetSex(cTemp);
cout<<"请输入学生专业"<<endl;
cin>>sTemp;
stu[r2].SetProfession(sTemp);
cout<<"请输入学生手机号"<<endl;
cin>>sTemp;
stu[r2].SetTelphone(sTemp);
}
break;
case :
cout<<"请输入要删除学生的学号:";
int n;
cin>>n;
r2=findStudent(stu, r1, n);
if (r2==-) {
cout<<"没有该学生!";
}
else
{
r1=deleteStudent(stu, r1, n);
cout<<"删除成功!"<<"\n"<<"显示所有学生"<<endl;
getStudent(stu, r1);
}
break;
case :
getStudent(stu, r1);
break;
case :
cout<<"您已经成功退出系统,欢迎再次使用!谢谢!"<<endl;
break;
default:
break;
}
}
return ;
}

C++ 简单的学生信息管理系统的更多相关文章

  1. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  2. PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

  3. 程序阅读:简单C++学生信息管理系统

    课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读并执行以下的程序,找出当中出现 ...

  4. Py学生信息管理系统 案例(优化版)

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...

  5. Python学生信息管理系统的开发

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...

  6. Python基础案例练习:制作学生信息管理系统

    一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...

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

    昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...

  8. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  9. Java课设(学生信息管理系统)

    1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...

随机推荐

  1. cf515d

    题意:给出一个矩阵迷宫,要求用1×2的积木填满空白区域,问解法是否唯一,如果无解或者多解均输出“Not unique". 分析:广搜.看似二分图匹配但实际上不是. 我们认为每个点和上下左右四 ...

  2. C# 读写十六进制bin 文件

    读一个十六进制的bin文件,在bin文件添加四行头,生成新的bin文件.bin文件可以用vs打开查看. using System; using System.Collections.Generic; ...

  3. java web 学习 --第九天(Java三级考试)

    第八天的学习内容如下:http://www.cnblogs.com/tobecrazy/p/3468458.html Java servlet 技术 Servlet是使用java servlet应用程 ...

  4. ACM/ICPC 之 最短路-Floyd+SPFA(BFS)+DP(ZOJ1232)

    这是一道非常好的题目,融合了很多知识点. ZOJ1232-Adventrue of Super Mario 这一题折磨我挺长时间的,不过最后做出来非常开心啊,哇咔咔咔 题意就不累述了,注释有写,难点在 ...

  5. MySQL\MariaDB 多线程复制初探

    背景: MariaDB 在10.0.5就已经支持了并行复制的功能,即从库多线程复制的功能.MySQL最先在5.6.3中支持.目前暂时没有用MySQL5.6的版本,故暂时只对MariaDB进行一些说明, ...

  6. 【转】TextView长按复制实现方法小结

    有这么一个需求,用户在浏览文本信息时希望长按信息就能弹出复制的选项方便保存或者在别的页面使用这些信息.类似的, 就像长按WebView或者EditText的内容就自动弹出复制选项. 这里面主要是2个特 ...

  7. a byte of python(摘02)

    a byte of python 第四章 运算符与表达式 运算符 运算符优先级 (运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算.例如, 2 + 3 + 4 被计算成 (2 + ...

  8. python if __name__ == '__main__'解析

    废话不多说,正题: python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为 ...

  9. 如何让Table中的第一列和第二列的值相乘然后赋值给第三列

    因为需求的原因所以这样做,不废话了,直接上代码,我用的GridView绑定的数据,table也一样,因为GridView通过浏览器编译后的代码就是table.下面是aspx页面的Html代码: < ...

  10. JS_ECMA基本语法中的几种封装的小函数-1

    今天给大家介绍js ECMA中几个封装的小函数以及一些常用的函数小案例: 1,找重复的函数 <script> //在数组里面找重复: function findInArr(n,arr){ ...