# 学生信息管理系统
## 1 设计目的
C++ 课程设计是《C++ 程序设计》课程的继续和延伸。通过课程设计,为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际问题有机地结合起来,提高学生运用所学知识解决实际问题的能力。要求学生掌握 C++ 程序设计语言的基本语法规则和基础算法,建立程序设计思想,掌握面向对象的程序设计的概念,并能解决实际问题。培养学生的编程和调试程序的实践能力、创新能力和创新意识,为数据结构等后续课程打下坚实的计算机语言和程序设计的基础。
## 2 设计任务
1. 程序的主函数主要实现的是对不同身份登入系统的权限进行选择。是在主函数里调用 admin()teacher1()student1()三个函数作为不同入口加以实现。 而又在这三个入口接入后,提醒用户输入账号,如果账号是不存在 则会提示“不存在此账号”并要求重新输入,若账号存在将要求输入密码并验证此账号对应的密码时候为输入的密码。
![](https://www.writebug.com/myres/static/uploads/2021/10/27/a6538947e25cb3fd482a1f2a8679567d.writebug)
2. 整个程序都可以随时返回上一级(输入 back 即可)目录并且每一层目录都标示了此目录为第几级目录(方便用户识别)。
3. 学生权限:查看个人学习成绩,登入账号和密码的修改。
4. 教师权限:查看所有学生的学习成绩,可排序,可修改(只允许修改成绩部分)。无法看到学生的账号密码。可以对个人教师账号和密码进行修改。
5. 管理员权限:可以修改学生教师和管理员本的账号密码,拥有其他所有身份的权限。并且每添加一个学生信息后台默认以此学号生成一个默认账号和密码(后期学生用各自默认账号密码登入,可修改账号密码)。
![](https://www.writebug.com/myres/static/uploads/2021/10/27/dd519c888e1a84babb9ec26f12322ac0.writebug)
6. 后期还对界面进行了优化(如运用了 system(“cls”)清空函数,setw()对输出进行了字符控制),大量定义字符型数据对用户非法输入做了处理(原先有些情况下非法输入时程序会奔溃)。
7. 退出后自动将所有系统数据保存在:"学生信息管理系统.dat"下.
![](https://www.writebug.com/myres/static/uploads/2021/10/27/0c543a33c1119cf6d0aab804bbfccdc3.writebug)
## 3 系统的软硬件环境及语言
C++ 语言和 codeblock 编译器;
## 4 系统设计
1) 系统主要的功能模块(最好画图,可上网查一下什么是功能模块图)
![](https://www.writebug.com/myres/static/uploads/2021/10/27/84da304a61c3a3837f6aba94c2f0c066.writebug)
2)存储结构实现(类的定义)
```c++
class Teacher; class student;
```
3)类的实现(描述各个成员函数的函数原型,及其关系。函数原型即函数声明,不需粘贴各个函数实现的代码)
```c++
struct teacher{
char name[15];
char password[15];
}; //教师结构数组定义
class Teacher{
public:
teacher tea[1000]; //存储教师信息
int ti; //计数教师数量
Teacher() {ti=0;} //初始化教师数量
void Display(int i) //显示第i个教师
char Get_name(int i){return tea[i].name[15];} //返回第i个教师账号
char Get_password(int i){return tea[i].password[15];} //返回第i个教师密码
int Get_ti(){return ti;} //获取教师数量
void ti_(){ti--;} //教师数量ti--;
int jsmm(char b[15],int i) //获取教师密码
void cpy_name(char name[15],int i) //教师账号名修改
void cpy_password(char password[15],int i) //教师密码修改
void tadd() //管理员添加教师账号
void teaSet() //教师账号设置
int jsyz(char name1[15]) //教师账号验证
}; //教师类定义
struct Stu{
char num[15];
char zh[15];
char xingming[15];
char tel[15];
char password[15];
double score[3];
}; //学生结构数组定义
class Student{
private:
public:
int len; //储存学生个数
Stu stu[1000];//储存学生信息
Student(){len=0;} //初始化学生个数
void cpy_num(char a[15],int i){strcpy(stu[i].num,a);} //复制第i个学生的学号
void cpy_password(char a[15],int i){strcpy(stu[i].password,a);} //复制第i个学生的密码
void Get_zh(int i){cout<<stu[i].zh;} //得到第i个学生的账号
void Get_password(int i) //得到第i个学生的密码
int Get_len(){return len;} //得到学生个数
int xsmm(char b[15],int i) //得到第i个学生密码
void tongji(int h) //统计优秀及格人数
void Display(int i,int num2) //显示第i个学生信息
void add() // 添加学生
void stuSet() //修改学生账号
void Set() //修改学生信息
void alldispaly(char num1,int num2) //多种方式显示所有学生信息
void Delete() //删除学生
void xhcz() //学号查找
int xsyz(char zh[15]) //学生账号验证
}; //学生类定义
```
## 5 核心代码
```c++
/****************************************
* 学生信息管理系统 *
* *
* 2016年课程设计 by software20150117 *
****************************************/
# include<iostream>
# include<iomanip>
# include<cstring>
# include<fstream>
# include<cstdlib>
using namespace std;
const char Back[5]="back";
char B[15]="admin";
char A[15]="admin";
void Read();
void Write();
void Teacher_Account(int );
void Student_Account(int );
void Admin_Account1();
void jh(char a[],char b[]){} //交换数据
void title_Display(){} //显示系统界面
struct teacher{
char name[15];
char password[15];
}; //教师结构数组定义
class Teacher{
private:
public:
teacher tea[1000]; //存储教师信息
int ti; //计数教师数量
Teacher() {ti=0;}//构造教师类
void Display(int i){ cout<<"用户名: "<<tea[i].name<<" "<<"密码: "<<tea[i].password<<endl; }
char Get_name(int i){return tea[i].name[15];}//获取教师账号
char Get_password(int i){return tea[i].password[15];}//获取教师密码
int Get_ti(){return ti;}//获取教师个数
void ti_(){ti--;}
int jsmm(char b[15],int i){if(!strcmp(b,tea[i].password))
return 1;
else return 0;}
void cpy_name(char name[15],int i){
strcpy(tea[i].name,name);}
void cpy_password(char password[15],int i){
strcpy(tea[i].password,password);}
void tadd() {}//添加教师账号
void teaSet(){
} //修改教师账号
}
int jsyz(char name1[15]){ int i;
if(ti==0) return ti;
else {
for(i=0;i<ti&&strcmp(tea[i].name,name1);i++);
return i;}
}
}; //教师类定义
Teacher Tea;
struct Stu{
char num[15]; //学号
char zh[15]; //账号
char xingming[15]; //姓名
char tel[15]; //电话号
char password[15]; //密码
double score[3]; //成绩
}; //学生结构数组定义
class Student{
private:
public:
int len;计数学生人数
Stu stu[1000];
Student(){len=0;} //学生类构造函数
void cpy_num(char a[15],int i){strcpy(stu[i].num,a);}//复制学号
void cpy_password(char a[15],int i){strcpy(stu[i].password,a);}//复制密码
void Get_zh(int i){cout<<stu[i].zh;}//获取账号
void Get_password(int i){cout<<stu[i].password;}//获取密码
int Get_len(){return len;}//获取学生个数
int xsmm(char b[15],int i){if(!strcmp(b,stu[i].password))
return 1;
else return 0;}//�
没有合适的资源?快使用搜索试试~ 我知道了~
基于C++实现的(控制台)学生信息管理系统【100010909】
共6个文件
doc:2个
md:1个
cpp:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2023-02-23
09:47:40
上传
评论 2
收藏 777KB ZIP 举报
温馨提示
程序的主函数主要实现的是对不同身份登入系统的权限进行选择。是在主函数里调用 admin()teacher1()student1()三个函数作为不同入口加以实现。 而又在这三个入口接入后,提醒用户输入账号,如果账号是不存在 则会提示“不存在此账号”并要求重新输入,若账号存在将要求输入密码并验证此账号对应的密码时候为输入的密码。 整个程序都可以随时返回上一级(输入 back 即可)目录并且每一层目录都标示了此目录为第几级目录(方便用户识别)。 学生权限:查看个人学习成绩,登入账号和密码的修改。 教师权限:查看所有学生的学习成绩,可排序,可修改(只允许修改成绩部分)。无法看到学生的账号密码。可以对个人教师账号和密码进行修改。 管理员权限:可以修改学生教师和管理员本的账号密码,拥有其他所有身份的权限。并且每添加一个学生信息后台默认以此学号生成一个默认账号和密码(后期学生用各自默认账号密码登入,可修改账号密码)。 后期还对界面进行了优化(如运用了 system(“cls”)清空函数,setw()对输出进行了字符控制),大量定义字符型数据对用户非法输入做了处理(原先有些情况下非法输入时程序会奔溃)。 退出后自动将所有系统数据保存在:"学生信息管理系统.dat"下.
资源推荐
资源详情
资源评论
收起资源包目录
100010909-基于C++实现的(控制台)学生信息管理系统.zip (6个子文件)
stumanage
StudentManageSystem.cpp 23KB
LICENSE 1KB
2016C++课程设计说明书by何琦.doc 375KB
2016C++课程设计by何琦 打印版.doc 335KB
学生管理系统by何琦.exe 1000KB
README.md 19KB
共 6 条
- 1
资源评论
神仙别闹
- 粉丝: 2667
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功