//
// 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. java微信接口之——获取access_token

    本文转自http://www.cnblogs.com/always-online/category/598553.html 一.微信获取access_token接口简介 1.请求:该请求是GET方式请 ...

  2. IPC----哲学家就餐问题(并发与互斥)

    哲学家就餐问题描述: 5个哲学家,5个筷子.5个哲学家围坐在一张桌子上,筷子放在分别放在每个哲学家的两旁.如果所有哲学家在某个时刻同时拿起左边的筷子,那么右边的筷子就都被其他的哲学家拿了,造成大家都无 ...

  3. POJ 2421(prim)

    http://poj.org/problem?id=2421 这个题和poj1258是一样的,只要在1258的基础上那么几行代码,就可以A,水. 题意:还是n连通问题,和1258不同的就是这个还有几条 ...

  4. 实验二 PHP基本语法实验

    实验二 PHP基本语法实验 0 实验准备 0.1实验环境和相关工具软件 具体到的机房环境,请在Windowsxp环境下做本实验: l  操作系统:Windowsxp l  Web服务器:Apache ...

  5. 修改MySQL中字段的类型和长度

    MySQL修改字段类型的命令是: mysql> alter table 表名 modify column 字段名 类型; 假设在MySQL中有一个表为:address,有一个字段为city 初始 ...

  6. 《Java多线程核心技术》读书摘要

    Chapter1: 进程是操作系统管理的基本单元,线程是CPU调到的基本单元. 调用myThread.run()方法,JVM不会生成新的线程,myThread.start()方法调用两次JVM会报错. ...

  7. Django~Databases

    更换数据库 migrate 下哈 admin 要重新建立 修改\mysite\settings.py DATABASES = {    'default': {        'ENGINE': 'd ...

  8. UVA 156 Ananagrams ---map

    题目链接 题意:输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词.在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典序进行排列( ...

  9. 解决eclipse manven项目添加不了maven dependencis

    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"& ...

  10. 模拟赛1103d1

    取模(mod) [题目描述] 有一个整数a和n个整数b_1, -, b_n.在这些数中选出若干个数并重新排列,得到c_1,-, c_r.我们想保证a mod c_1 mod c_2 mod - mod ...