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.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...
随机推荐
- Java Dao设计模式
一.信息系统的开发架构 客户层-------显示层-------业务层---------数据层---------数据库 1.客户层:客户层就是客户端,简单的来说就是浏览器. 2.显示层:JSP/S ...
- struts2 提供的校验器列表
- java切换VPN让你像幽灵一样出现在全国各地
在很多情况下,有些网络应用的需求会要求模拟人在不同地区访问网站和应用.因而切换IP也就应运而生了,然而IP作为一种稀缺资源不是随便可以获得的.因而会想到应用程序切换VPN来达到全国不同地区访问网络.因 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- DELPHI控件:DBLookupComboBOX组件的使用方法
在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06.使用代码的好处是,用户可在编码表TB06 ...
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候.一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量.并且要配套写上 get 和 set方法. Boss ...
- springmvc 文件下传、上载、预览。以二进制形式存放到数据库(转载)
springmvc 文件上传.下载.预览.以二进制形式存放到数据库.数据库中的关于传入附件的字段我写了2个:一个存放内容accessory,一个存放文件的后缀filetype 上传:首先需要2个必须的 ...
- 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number (easy)
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
- 一个servlet处理来自多个不同页面的请求!
例如有一个用户表,我们要处理 添加,删除 用户以及登录功能 对应的有add.jsp del.jsp login.jsp等 <body> <!-- login.jsp --> & ...