您的位置:首页 > 编程语言 > C语言/C++

<我的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++小程序就完成了。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: