<我的C++程序>简单的学生信息管理系统
2016-03-18 22:29
706 查看
★c大一刚学完C++,有了一个写点小程序的想法,但又不懂窗体类如何实现,于是只能写写简单的东西,一个学生管理系统,本程序是参考学生管理系统的功能,然后按照自己的想法写的。
★PS:完全是菜鸟的自娱自乐,高手就请绕道吧。
★下面是部分界面:
★主要的头文件和cpp
★下面是部分头文件和cpp的源码
define.h----------------------------------------------------------------------------------------------------------------------定义
#pragma once
#include <iostream>
#include <conio.h>
#include <string>
#include <Windows.h>
#include "interface.h"
using namespace std;
//s_ 表示 student 即学生信息管理方面
//i_ 表示 interface 即界面操作方面
//o_ 表示 object 即类的对象方面
extern bool i_Work;
extern bool s_Work;
extern bool s_Show1;
extern bool s_Show2;
extern bool s_Show3;
extern bool s_Delete;
extern bool s_Change;
extern int s_Count;
extern int i;
extern int d;
extern int s;
extern int c;
extern char show_C;
extern char i_Choose;
extern char s_Choose;
extern char c_Choose;
extern string* s_ID;
extern string* s_Name;
extern string* s_Class;
extern string* s_Age;
extern string search_Num;
extern string delete_Num;
extern string change_Num;
extern Interface o_interface;
define.cpp------------------------------------------------------------------------------------------------------------------------定义
#include "define.h"
bool i_Work=true;
bool s_Work=true;
bool s_Show1 = true;
bool s_Show2 = true;
bool s_Show3 = true;
bool s_Delete= true;
bool s_Change= true;
int s_Count;
int i;
int d;
int s;
int c;
char show_C;
char i_Choose;
char s_Choose;
char c_Choose;
string* s_ID;
string* s_Name;
string* s_Class;
string* s_Age;
string search_Num;
string delete_Num;
string change_Num;
Interface o_interface;
interface.h----------------------------------------------------------------------------------------------------------------------界面
#pragma once
class mesdelete
{
public:
void ID_delete();
void Name_delete();
void Class_delete();
void Age_delete();
void M_deleteWork();
};
interface.cpp----------------------------------------------------------------------------------------------------------------界面
#include "interface.h"
#include "define.h"
#include "mesinput.h"
#include "messhow.h"
#include "mesdelete.h"
#include "meschange.h"
void Interface::I_choose()
{
cout << "-----------------------------------\n";
cout << "----------学生成绩管理系统---------\n";
cout << "-----------------------------------\n";
cout << "-- --\n";
cout << "--★ 1.进入学生信息管理系统 --\n";
cout << "-- --\n";
cout << "--★ 2.进入课程信息管理系统 --\n";
cout << "-- --\n";
cout << "--★ 3.退出学生信息管理系统 --\n";
cout << "-- --\n";
cout << "-----------------------------------\n";
cout << "-----------------------------------\n";
cout << "\n\n";
cout << "请选择要进行的操作(1-3): ";
}
void Interface::S_choose()
{
cout << "----------------------------------\n";
cout << "---------学生信息管理系统---------\n";
cout << "----------------------------------\n";
cout << "--★ 1.输入学生信息 --\n";
cout << "--★ 2.删除学生信息 --\n";
cout << "--★ 3.修改学生信息 --\n";
cout << "--★ 4.查看学生信息 --\n";
cout << "--★ 5.返回 --\n";
cout << "----------------------------------\n";
cout << "----------------------------------\n";
cout << "\n\n";
cout << "请选择要进行的操作(1-4):";
}
void Interface::C_choose()
{
cout << "暂没开放,请重新选择!\n\n";
}
void Interface::I_work()
{
do
{
I_choose();
cin >> i_Choose;
cout << "\n\n";
switch (i_Choose)
{
case '1':
S_work();
i_Work = 0;
break;
case '2':
C_work();
//i_Work = 0;
continue;
case '3':
i_Work = 0;
cout << "程序退出成功!\n\n";
break;
default:
cout << "请输入正确的选择\n\n";
continue;
}
} while (i_Work);
}
void Interface::S_work()
{
mesinput o_mesinput;
messhow o_messhow;
mesdelete o_mesdelete;
meschange o_meschange;
do
{
S_choose();
cin >> s_Choose;
cout << "\n\n";
switch (s_Choose)
{
case '1':
o_mesinput.M_inputWork();
s_Work = 0;
break;
case '2':
o_mesdelete.M_deleteWork();
s_Work = 0;
break;
case '3':
o_meschange.M_changeWork();
s_Work = 0;
break;
case '4':
if (s_ID != NULL)
{
o_messhow.S_show();
s_Work = 0;
}
else
cout << "没有数据!请重新选择!\n\n";
//choose = 0;
break;
case'5':
o_interface.I_work();
s_Work = 0;
break;
default:
cout << "请输入正确的选择\n\n";
continue;
}
} while (s_Work);
}
void Interface::C_work()
{
C_choose();
}
★由于信息操作的实现方法基本相同,所以只以输入和查询为例子
mesinput.h-----------------------------------------------------------------------------------------------------------输入
#pragma once
class mesinput
{
public:
void ID_input();
void Name_input();
void Class_input();
void Age_input();
void M_inputWork();
};
mesinput.cpp-----------------------------------------------------------------------------------------------------------输入
#include "define.h"
#include "mesinput.h"
#include "interface.h"
void mesinput::M_inputWork()
{
cout << "学生的个数:";
cin >> s_Count;
cout << "\n\n";
s_ID = new string[s_Count];
s_Name = new string[s_Count];
s_Class = new string[s_Count];
s_Age = new string[s_Count];
for (i = 0; i < s_Count; i++)
{
ID_input();
Name_input();
Class_input();
Age_input();
cout << "\n";
}
cout << "\n\n\n\n";
cout << "数据录入完毕!!!请进行下一步操作!!!\n\n\n";
Sleep(1000);
o_interface.S_work();
}
void mesinput::ID_input()
{
cout << "输入第" << i + 1 << "个学生的学号:";
cin >>s_ID[i];
}
void mesinput::Name_input()
{
cout << "输入第" << i + 1 << "个学生的名字:";
cin >> s_Name[i];
}
void mesinput::Class_input()
{
cout << "输入第" << i + 1 << "个学生的班级:";
cin >> s_Class[i];
}
void mesinput::Age_input()
{
cout << "输入第" << i + 1 << "个学生的年龄:";
cin >> s_Age[i];
}
messhow.h-------------------------------------------------------------------------------------------------查找
#pragma once
class messhow
{
public:
void S_show();
};
messhow.cpp-----------------------------------------------------------------------------------------------查找
#include "define.h"
#include "messhow.h"
//s_Show1控制第一个小循环
//s_Show2控制第二个小循环
//s_Show3控制大循环
void messhow::S_show()
{
do
{
do
{
if (s_ID != NULL)
{
cout << "输入要查询学生的学号:";
cin >> search_Num;
cout << "\n\n";
for (s = 0; s < s_Count; s++)
{
if (search_Num == s_ID[s])
{
cout << "学号:" << *(s_ID + s) << endl;
cout << "姓名:" << *(s_Name + s) << endl;
cout << "班级:" << *(s_Class + s) << endl;
cout << "年龄:" << *(s_Age + s) << endl;
cout << "\n\n\n";
s_Show1 = 0;
break;
}
else
{
if (s == s_Count - 1)
{
cout << "输入的学号不存在!请重新操作!\n\n\n";
}
}
}
}
else
{
cout << "没有学生信息!请重新操作!\n\n\n";
}
} while (s_Show1);
s_Show1 = 1; //重置布尔值变量进入循环
s_Show2 = 1; //
s_Show3 = 1; //
do
{
cout << "继续查询还是退出?(Y/N) ";
cin >> show_C;
cout << "\n\n";
if (show_C == 'N' || show_C == 'Y')
{
if (show_C == 'N')
{
s_Show3 = 0;
o_interface.I_work();
break; //不添加break将导致返回操作完成后,此循环继续
}
else
{
s_Show2 = 0;
break;
}
}
else
{
cout << "输入错误,请输入正确的选择\n\n\n" << endl;
//continue;
}
} while (s_Show2);
} while (s_Show3);
}
最后是简单的mian函数-----------------------------------------------------------------------------------------------------------------------
综上,一个简单得不能再简单的C++小程序就完成了。
★PS:完全是菜鸟的自娱自乐,高手就请绕道吧。
★下面是部分界面:
★主要的头文件和cpp
★下面是部分头文件和cpp的源码
define.h----------------------------------------------------------------------------------------------------------------------定义
#pragma once
#include <iostream>
#include <conio.h>
#include <string>
#include <Windows.h>
#include "interface.h"
using namespace std;
//s_ 表示 student 即学生信息管理方面
//i_ 表示 interface 即界面操作方面
//o_ 表示 object 即类的对象方面
extern bool i_Work;
extern bool s_Work;
extern bool s_Show1;
extern bool s_Show2;
extern bool s_Show3;
extern bool s_Delete;
extern bool s_Change;
extern int s_Count;
extern int i;
extern int d;
extern int s;
extern int c;
extern char show_C;
extern char i_Choose;
extern char s_Choose;
extern char c_Choose;
extern string* s_ID;
extern string* s_Name;
extern string* s_Class;
extern string* s_Age;
extern string search_Num;
extern string delete_Num;
extern string change_Num;
extern Interface o_interface;
define.cpp------------------------------------------------------------------------------------------------------------------------定义
#include "define.h"
bool i_Work=true;
bool s_Work=true;
bool s_Show1 = true;
bool s_Show2 = true;
bool s_Show3 = true;
bool s_Delete= true;
bool s_Change= true;
int s_Count;
int i;
int d;
int s;
int c;
char show_C;
char i_Choose;
char s_Choose;
char c_Choose;
string* s_ID;
string* s_Name;
string* s_Class;
string* s_Age;
string search_Num;
string delete_Num;
string change_Num;
Interface o_interface;
interface.h----------------------------------------------------------------------------------------------------------------------界面
#pragma once
class mesdelete
{
public:
void ID_delete();
void Name_delete();
void Class_delete();
void Age_delete();
void M_deleteWork();
};
interface.cpp----------------------------------------------------------------------------------------------------------------界面
#include "interface.h"
#include "define.h"
#include "mesinput.h"
#include "messhow.h"
#include "mesdelete.h"
#include "meschange.h"
void Interface::I_choose()
{
cout << "-----------------------------------\n";
cout << "----------学生成绩管理系统---------\n";
cout << "-----------------------------------\n";
cout << "-- --\n";
cout << "--★ 1.进入学生信息管理系统 --\n";
cout << "-- --\n";
cout << "--★ 2.进入课程信息管理系统 --\n";
cout << "-- --\n";
cout << "--★ 3.退出学生信息管理系统 --\n";
cout << "-- --\n";
cout << "-----------------------------------\n";
cout << "-----------------------------------\n";
cout << "\n\n";
cout << "请选择要进行的操作(1-3): ";
}
void Interface::S_choose()
{
cout << "----------------------------------\n";
cout << "---------学生信息管理系统---------\n";
cout << "----------------------------------\n";
cout << "--★ 1.输入学生信息 --\n";
cout << "--★ 2.删除学生信息 --\n";
cout << "--★ 3.修改学生信息 --\n";
cout << "--★ 4.查看学生信息 --\n";
cout << "--★ 5.返回 --\n";
cout << "----------------------------------\n";
cout << "----------------------------------\n";
cout << "\n\n";
cout << "请选择要进行的操作(1-4):";
}
void Interface::C_choose()
{
cout << "暂没开放,请重新选择!\n\n";
}
void Interface::I_work()
{
do
{
I_choose();
cin >> i_Choose;
cout << "\n\n";
switch (i_Choose)
{
case '1':
S_work();
i_Work = 0;
break;
case '2':
C_work();
//i_Work = 0;
continue;
case '3':
i_Work = 0;
cout << "程序退出成功!\n\n";
break;
default:
cout << "请输入正确的选择\n\n";
continue;
}
} while (i_Work);
}
void Interface::S_work()
{
mesinput o_mesinput;
messhow o_messhow;
mesdelete o_mesdelete;
meschange o_meschange;
do
{
S_choose();
cin >> s_Choose;
cout << "\n\n";
switch (s_Choose)
{
case '1':
o_mesinput.M_inputWork();
s_Work = 0;
break;
case '2':
o_mesdelete.M_deleteWork();
s_Work = 0;
break;
case '3':
o_meschange.M_changeWork();
s_Work = 0;
break;
case '4':
if (s_ID != NULL)
{
o_messhow.S_show();
s_Work = 0;
}
else
cout << "没有数据!请重新选择!\n\n";
//choose = 0;
break;
case'5':
o_interface.I_work();
s_Work = 0;
break;
default:
cout << "请输入正确的选择\n\n";
continue;
}
} while (s_Work);
}
void Interface::C_work()
{
C_choose();
}
★由于信息操作的实现方法基本相同,所以只以输入和查询为例子
mesinput.h-----------------------------------------------------------------------------------------------------------输入
#pragma once
class mesinput
{
public:
void ID_input();
void Name_input();
void Class_input();
void Age_input();
void M_inputWork();
};
mesinput.cpp-----------------------------------------------------------------------------------------------------------输入
#include "define.h"
#include "mesinput.h"
#include "interface.h"
void mesinput::M_inputWork()
{
cout << "学生的个数:";
cin >> s_Count;
cout << "\n\n";
s_ID = new string[s_Count];
s_Name = new string[s_Count];
s_Class = new string[s_Count];
s_Age = new string[s_Count];
for (i = 0; i < s_Count; i++)
{
ID_input();
Name_input();
Class_input();
Age_input();
cout << "\n";
}
cout << "\n\n\n\n";
cout << "数据录入完毕!!!请进行下一步操作!!!\n\n\n";
Sleep(1000);
o_interface.S_work();
}
void mesinput::ID_input()
{
cout << "输入第" << i + 1 << "个学生的学号:";
cin >>s_ID[i];
}
void mesinput::Name_input()
{
cout << "输入第" << i + 1 << "个学生的名字:";
cin >> s_Name[i];
}
void mesinput::Class_input()
{
cout << "输入第" << i + 1 << "个学生的班级:";
cin >> s_Class[i];
}
void mesinput::Age_input()
{
cout << "输入第" << i + 1 << "个学生的年龄:";
cin >> s_Age[i];
}
messhow.h-------------------------------------------------------------------------------------------------查找
#pragma once
class messhow
{
public:
void S_show();
};
messhow.cpp-----------------------------------------------------------------------------------------------查找
#include "define.h"
#include "messhow.h"
//s_Show1控制第一个小循环
//s_Show2控制第二个小循环
//s_Show3控制大循环
void messhow::S_show()
{
do
{
do
{
if (s_ID != NULL)
{
cout << "输入要查询学生的学号:";
cin >> search_Num;
cout << "\n\n";
for (s = 0; s < s_Count; s++)
{
if (search_Num == s_ID[s])
{
cout << "学号:" << *(s_ID + s) << endl;
cout << "姓名:" << *(s_Name + s) << endl;
cout << "班级:" << *(s_Class + s) << endl;
cout << "年龄:" << *(s_Age + s) << endl;
cout << "\n\n\n";
s_Show1 = 0;
break;
}
else
{
if (s == s_Count - 1)
{
cout << "输入的学号不存在!请重新操作!\n\n\n";
}
}
}
}
else
{
cout << "没有学生信息!请重新操作!\n\n\n";
}
} while (s_Show1);
s_Show1 = 1; //重置布尔值变量进入循环
s_Show2 = 1; //
s_Show3 = 1; //
do
{
cout << "继续查询还是退出?(Y/N) ";
cin >> show_C;
cout << "\n\n";
if (show_C == 'N' || show_C == 'Y')
{
if (show_C == 'N')
{
s_Show3 = 0;
o_interface.I_work();
break; //不添加break将导致返回操作完成后,此循环继续
}
else
{
s_Show2 = 0;
break;
}
}
else
{
cout << "输入错误,请输入正确的选择\n\n\n" << endl;
//continue;
}
} while (s_Show2);
} while (s_Show3);
}
最后是简单的mian函数-----------------------------------------------------------------------------------------------------------------------
综上,一个简单得不能再简单的C++小程序就完成了。
相关文章推荐
- 顺序表(C语言)
- C++第2次实验—模拟ATM
- C++中四大语句总结(while、for、if、switch)
- C++数值类型与string的相互转换
- C++数值类型与string的相互转换
- CCPP资料
- Uva1586
- 【C++】类型萃取技术实现静态顺序表
- 归并排序C++
- 组合数学学习之排列、组合、圆周排列实现
- Uva1585
- 2014年第五届蓝桥杯B组C/C++省赛题解
- Uva1225
- ubuntu10.04下搭建EclipseC/C++环境
- 传递动态内存
- c++多行输入(带空格)
- HDU2602Bone Collector
- 学生管理新系统(C++版)
- 【bzoj 3192】删除物品 题解&代码(C++)
- C++ __int64用法