C++ 简单的学生信息管理系统
//
// 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++ 简单的学生信息管理系统的更多相关文章
- 【python免费代码】设计一个简单的学生信息管理系统
文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...
- PHP实现简单的学生信息管理系统(web版)
(∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...
- 程序阅读:简单C++学生信息管理系统
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读并执行以下的程序,找出当中出现 ...
- Py学生信息管理系统 案例(优化版)
# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...
- Python学生信息管理系统的开发
# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- 学生信息管理系统v1.0
昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...
- Java 实现学生信息管理系统
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
- Java课设(学生信息管理系统)
1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...
随机推荐
- C#中 int.TryParse 的用法
int i = -1;bool b = int.TryParse(null, out i);执行完毕后,b等于false,i等于0,而不是等于-1,切记. int i = -1;bool b = in ...
- ORM框架Entity Framework
博客园在推广ORM方面的确做了很大的贡献,很多的程序员开始使用ORM,不用写SQL的喜悦让他们激动不已,可是好景不长,他们很快发现众多的烦恼一个接一个的出现了. 很遗憾,我并不打算在这篇文章中解决这些 ...
- 基于MATLAB的离散小波变换
申明,本文非笔者原创,原文转载自: 基于Matlab的离散小波变换 http://blog.sina.com.cn/s/blog_725866260100ryh3.html 简介 在 ...
- sharepoint---RBS回收站清空设置
默认天数 :
- 8. javacript高级程序设计-BOM
1. BOM 1.1 window BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重身份, 1.1.1 全局作用域 由于window对象同时扮演着ECMASc ...
- Python~第三方模块
第三方库还有MySQL的驱动:MySQL-python,用于科学计算的NumPy库:numpy,用于生成文本的模板工具Jinja2 模块搜索路径 Windows下: 双\\ sys.path.ap ...
- [转] 理解 Thread.Sleep 函数
原文链接:http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时 ...
- IOS - UIViewController的生命周期
1)Load周期 2)Unload周期 在UIViewController中,view(黑体的view指的是controller的view属性)有两个循环:加载和卸载循环.当程序的一部分向contro ...
- DropDownList如何添加一个空白的选项
ddl_class.Items.Insert(0,new ListItem("",""));
- sqlserver 解析Json字符串
转自:https://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/ http://ww ...