精华内容
下载资源
问答
  • 学生学籍管理系统C++

    2012-01-07 15:31:17
    计算机论文程序 需要写课程设计或毕业论文的同学可以看看
  • 一个简单的学生学籍管理系统,使用c++ builder 6.0 编写的,对于那些不太会用mfc的大三学生来说或许有点用处。
  • C++ 学生学籍管理系统

    2013-07-07 00:06:53
    C++ 学生学籍管理系统C++来对学生学籍管理系统来实现
  • 内附有学生学籍管理系统c++源程序和实验报告
  • C++学生学籍管理系统

    2021-07-02 14:28:50
    C++学生学籍管理系统。满足的要求: 设计一个程序,对学生的学籍信息进行管理。通过该系统实现对学生基本信息的录入、保存、删除、修改、查询等操作。 设计要求及提示如下: 1、学生基本信息包括:学号、姓名、性别...
  • 一个简单的学生学籍管理系统,采用链表存储方式,设置管理员与学生两个登录权限,具有:1.录入学生信息;2.显示学生信息;3.查找学生信息;4.删除学生的信息;5.修改学生信息;6.统计学生成绩;7.保存学生信息;0....
  • C++学生学籍管理系统设计,欢迎各位下载参考
  • (1)学生学籍管理,录入,修改,查询,删除,输出... (2)学生学籍管理系统应该包含多方面的管理,比如毕业之后的管理,教务管理,以及多表查询管理等等,但是本软件还没有那么强大的功能,只能实现一些简单的操作。
  • c++开发学生学籍管理系统步骤 手把手教 详细步骤 介绍很全
  • 这是用标准C++语言编写的一个学生成绩管理系统 绝对可靠!!!
  • c++学生学籍管理系统毕业设计,毕业时,做的一个小设计,呵呵,欢迎下载啊
  • 学生学籍信息管理系统设计 1需求分析 学生基本信息学生成绩基本信息要存入文件当中因而要提供文件的输入输出操作 查询功能要求提供查找和显示操作删除功能要求实现删除操作排序功能要求实现排序操 作另外还应该...
  • 学生学籍信息管理系统设计 1需求分析 学生基本信息学生成绩基本信息要存入文件当中因而要提供文件的输入输出操作 查询功能要求提供查找和显示操作删除功能要求实现删除操作排序功能要求实现排序操 作另外还应该...
  • c++学生学籍管理系统

    2010-06-07 12:48:18
    关于学生学籍管理系统的模板,具体的还需呀自己添加详细的代码~
  • C++课程设计报告_学生学籍管理系统.doc
  • 系统应具备的功能: (1)教务人员对各个学生学籍信息进行输入、删除和修改 (2)教务人员对学生学籍信息按各种条件进行查询、统计 (3)学生对自己的学籍信息进行查询
  • 学籍管理系统 C++/数据结构大作业
  • [C++]学生学籍管理系统

    千次阅读 2020-07-10 20:47:05
    实验项目名称 学生学籍管理系统 一、实验目的 通过设计一个小型的应用系统,使学生进一步掌握面向对象的程序设计方法,运用C++中的类与对象的概念结合面向对象程序设计的思想,独立完成应用系统的设计,并养成良好...

    实验项目名称 学生学籍管理系统
    一、实验目的
    通过设计一个小型的应用系统,使学生进一步掌握面向对象的程序设计方法,运用C++中的类与对象的概念结合面向对象程序设计的思想,独立完成应用系统的设计,并养成良好的编程习惯。通过这个实践教学平台,培养学生对计算机应用系统的综合设计能力,培养学生正确分析和解决问题的能力,了解系统开发的过程,逐步熟悉程序设计的方法。

    二、实验要求

    设计一个程序,对学生的学籍信息进行管理。通过该系统实现对学生基本信息的录入、保存、删除、修改、查询等操作。
    设计要求及提示如下:
    1、学生基本信息包括:学号、姓名、性别、年龄、班号、专业名称、系别等。
    2、使用类和对象的概念实现程序设计。
    3、以菜单形式显示各功能项。
    4、各功能项如下:
    (1)学生基本信息的录入。
    (2)学生基本信息的删除。
    (3)学生基本信息的修改。
    (4)学生基本信息的查询。
    (a)按学号查询单个学生信息;
    (b)按姓名查询单个学生信息;
    ©按性别查询学生信息;
    (d)按班号查询学生信息;
    (5)学生基本信息的统计。
    (a)按性别统计学生人数;
    (b)按班号统计学生人数;
    ©按年龄统计学生人数;
    (d)按系别统计学生人数;
    (6)退出系统。
    5、执行某个功能之后,程序将重新显示菜单供用户选择。
    6、将学生学籍信息保存到文件中。

    三、使用仪器、材料

    使用CODE::BLACK编译器以及相关文件。

    四.功能模块的设计分析及算法描述。

    1.对于学生信息使用结构体Stu来储存;
    2.创建一个Student,包含成员数据a[100](结构体Stu数组)和len(表总人数)以及各种成员函数file_cin()(从XS.txt中读取数据);
    stu_cin()(录入函数);
    stu_delete(int n)(删除函数);
    stu_show() (输出到运行框上);
    stu_vodify(int i)(修改函数);
    stu_check(int flag)(查找函数);
    stu_cal(int flag)(统计函数);
    save()(输出到XS.txt);
    3.使用system(“cls”)和while(cin>>flag)来实现界面的转换;
    4.使用重定向来实现数据的读取与保存;(数据被储存在XS.txt中)
    5.使用ofstream file(“XS.txt”, ios::trunc)来实现数据的更新;
    6.使用文件夹将txt与运行程序放在一起,方便查找;

    五.实验过程原始记录(源程序以及程序运行时的效果图)

    #include<bits/stdc++.h>
    using namespace std;
    struct Stu//储存学生信息;
    {
          int num;//学号
          string name;//名字
          string sex;//性别
          int year;//年龄
          int grade;//班级
          string major;//专业
    };
    class Student
    {
    public:
          Stu a[100];
          int len;
          void file_cin()//从XS.txt中读取数据
          {
                freopen("XS.txt", "r", stdin);//重定向
                int n;cin>>n;
                len = n;
                for (int i=1; i<=n; i++)
                {
                      cin>>a[i].num>>a[i].name>>a[i].sex>>a[i].year>>a[i].grade>>a[i].major;
                }
                freopen("CON", "r", stdin);//关闭重定向
          }
          void stu_cin()//录入函数
          {
                len++;
                cout << "学号: ";
                cin>>a[len].num;
                cout << "姓名: ";
                cin>>a[len].name;
                cout << "性别: ";
                cin>>a[len].sex;
                cout << "年龄: ";
                cin>>a[len].year;
                cout << "班级: ";
                cin>>a[len].grade;
                cout << "专业: ";
                cin>>a[len].major;
          }
          void stu_delete(int n)//删除函数
          {
                for (int i=n; i<len; i++)
                {
                      a[i].num=a[i+1].num;
                      a[i].name=a[i+1].name;
                      a[i].sex=a[i+1].sex;
                      a[i].year=a[i+1].year;
                      a[i].grade=a[i+1].grade;
                      a[i].major=a[i+1].major;
                }
                len--;
          }
          void stu_show()//输出到运行框上
          {
                for (int i=1; i<=len; i++)
                {
                      cout << i  << " ";
                      cout << a[i].num  << " ";
                      cout << a[i].name  << " ";
                      cout << a[i].sex  << " ";
                      cout << a[i].year  << " ";
                      cout << a[i].grade  << " ";
                      cout << a[i].major  << endl;
                }
          }
          void stu_vodify(int i)//修改函数
          {
                cout << a[i].num << " "
                << a[i].name << " "
                << a[i].sex << " "
                << a[i].year << " "
                << a[i].grade << " "
                << a[i].major <<endl;
                cin>>a[i].num
                >>a[i].name
                >>a[i].sex
                >>a[i].year
                >>a[i].grade
                >>a[i].major;
          }
          void stu_check(int flag)//查找函数
          {
                if (flag==1)//按学号查询单个学生信息
                {
                      cout << "请输入学号: ";
                      int temp;cin>>temp;
                      int judge=0;
                      for (int i=1; i<=len; i++)
                      {
                            if (a[i].num==temp)
                            {
                                  cout << a[i].num << " "
                                  << a[i].name << " "
                                  << a[i].sex << " "
                                  << a[i].year << " "
                                  << a[i].grade << " "
                                  << a[i].major <<endl;
                                  judge=1;
                            }
                      }
                      if (judge==0)cout << "数据库中午该学生信息! " << endl;
                }
                else if (flag==2)//按姓名查询单个学生信息
                {
                      cout << "请输入姓名: ";
                      string temp;cin>>temp;
                      int judge=0;
                      for (int i=1; i<=len; i++)
                      {
                            if (a[i].name==temp)
                            {
                                  cout << a[i].num << " "
                                  << a[i].name << " "
                                  << a[i].sex << " "
                                  << a[i].year << " "
                                  << a[i].grade << " "
                                  << a[i].major <<endl;
                                  judge=1;
                            }
                      }
                      if (judge==0)cout << "数据库中午该学生信息! " << endl;
                }
                else if (flag==3)//按性别查询学生信息
                {
                      cout << "请输入性别: ";
                      string temp;cin>>temp;
                      int judge=0;
                      for (int i=1; i<=len; i++)
                      {
                            if (a[i].sex==temp)
                            {
                                  cout << a[i].num << " "
                                  << a[i].name << " "
                                  << a[i].sex << " "
                                  << a[i].year << " "
                                  << a[i].grade << " "
                                  << a[i].major <<endl;
                                  judge=1;
                            }
                      }
                      if (judge==0)cout << "数据库中午该学生信息! " << endl;
                }
                else if (flag==4)//按班号查询学生信息
                {
                      cout << "请输入班别: ";
                      int temp;cin>>temp;
                      int judge=0;
                      for (int i=1; i<=len; i++)
                      {
                            if (a[i].grade==temp)
                            {
                                  cout << a[i].num << " "
                                  << a[i].name << " "
                                  << a[i].sex << " "
                                  << a[i].year << " "
                                  << a[i].grade << " "
                                  << a[i].major <<endl;
                                  judge=1;
                            }
                      }
                      if (judge==0)cout << "数据库中午该学生信息! " << endl;
                }
          }
          void stu_cal(int flag)//统计函数
          {
                if (flag==1)//按性别统计学生人数
                {
                      map<string ,int> ans;
                      for (int i=1; i<=len; i++)
                      {
                            ans[a[i].sex]++;
                      }
                      map<string ,int >::iterator it;
                      for (it=ans.begin(); it!=ans.end(); it++)
                      {
                            cout << it->first << " " << it->second << endl;
                      }
                }
                else if (flag==2)//按班号统计学生人数
                {
                      map<int ,int> ans;
                      for (int i=1; i<=len; i++)
                      {
                            ans[a[i].grade]++;
                      }
                      map<int ,int >::iterator it;
                      for (it=ans.begin(); it!=ans.end(); it++)
                      {
                            cout << it->first << " " << it->second << endl;
                      }
                }
                else if (flag==3)//按年龄统计学生人数
                {
                      map<int ,int> ans;
                      for (int i=1; i<=len; i++)
                      {
                            ans[a[i].year]++;
                      }
                      map<int ,int >::iterator it;
                      for (it=ans.begin(); it!=ans.end(); it++)
                      {
                            cout << it->first << " " << it->second << endl;
                      }
                }
                else if (flag==4)//按系别统计学生人数
                {
                      map<string ,int> ans;
                      for (int i=1; i<=len; i++)
                      {
                            ans[a[i].major]++;
                      }
                      map<string ,int >::iterator it;
                      for (it=ans.begin(); it!=ans.end(); it++)
                      {
                            cout << it->first << " " << it->second << endl;
                      }
                }
          }
          void save()//输出到XS.txt
          {
                ofstream file("XS.txt", ios::trunc);
                file << len << endl;
                for (int i=1; i<=len; i++)
                {
                            file << a[i].num  << " ";
                            file << a[i].name  << " ";
                            file << a[i].sex  << " ";
                            file << a[i].year  << " ";
                            file << a[i].grade  << " ";
                            file << a[i].major  << endl;
                }
                file.close();
          }
    };
    void print_windows()//打印选择功能界面
    {
          cout << "\t\t\t\t\t\t\t学生学籍管理系统" << endl << endl << endl;
          cout << "\t\t\t\t(1)学生基本信息的录入。\t(2)学生基本信息的删除。" << endl<< endl << endl;
          cout <<"\t\t\t\t(3)学生基本信息的修改。\t(4)学生基本信息的查询。" << endl<< endl << endl;
          cout << "\t\t\t\t(5)学生基本信息的统计。\t(6)退出系统。" << endl << endl << endl;
    }
    
    
    int main()
    {
          Student stu;//实例化
          stu.file_cin();//输入系统数据
          print_windows();//打印选择功能界面
          int flag;//用户选择的功能
          while(cin>>flag)
          {
                system("cls");
                if (flag==6)break;//退出系统
                else if (flag<1||flag>6)//非法输入的检查
                {
                      cout << "无效操作" << endl;
                      continue;
                }
                else if (flag==1)//学生基本信息的录入
                {
                      cout <<"录入请输入1,返回请输入0" << endl;
                      int temp_flag;
                      while(cin>>temp_flag)
                      {
                            system("cls");
                            if (temp_flag==0)
                            {
                                  break;
                            }
                            else
                            {
                                  stu.stu_cin();
                            }
                            cout <<"录入请输入1,返回请输入0" << endl;
                      }
                }
                else if (flag==2)//学生基本信息的删除
                {
                      stu.stu_show();
                      int temp_flag;
                      cout << "请输入想删除信息的序号或者输入0返回: ";
                      while(cin>>temp_flag)
                      {
                            system("cls");
                            if (temp_flag==0){ break;}
                            else if (temp_flag>0&&temp_flag<=stu.len)
                            {
                                  stu.stu_delete(temp_flag);
                                  stu.stu_show();
                                  cout << "请输入想删除信息的序号或者输入0返回: ";
                            }
                            else
                            {
                                  cout << "输入非法!请再次输入: ";
                            }
                      }
                }
                else if (flag==3)//学生基本信息的修改
                {
                      stu.stu_show();
                      cout << "请输入需要修改信息的序号或者输入0返回: ";
                      int temp_flag;
                      while(cin>>temp_flag)
                      {
                            system("cls");
                            if (temp_flag==0)break;
                            else if (temp_flag>0&&temp_flag<=stu.len)
                                  stu.stu_vodify(temp_flag);
                            else cout << "输入非法! 请重新输入: ";
                            cout << "请输入需要修改信息的序号或者输入0返回: ";
                      }
                }
                else if (flag==4)//学生基本信息的查询
                {
                      cout << "(1)按学号查询单个学生信息;" << endl;
                      cout << "(2)按姓名查询单个学生信息;" << endl;
                      cout << "(3)按性别查询学生信息;" << endl;
                      cout << "(4)按班号查询学生信息;" << endl << endl;
                      cout << "请选择任一项或者输入0返回: ";
                      int temp_flag;
                      while(cin>>temp_flag)
                      {
                            system("cls");
                            if(temp_flag==0)break;
                            else if (temp_flag>0&&temp_flag<=4)
                            {
                                  stu.stu_check(temp_flag);
                            }else cout << "输入非法! 请重新输入: ";
                            cout << "(1)按学号查询单个学生信息;" << endl;
                            cout << "(2)按姓名查询单个学生信息;" << endl;
                            cout << "(3)按性别查询学生信息;" << endl;
                            cout << "(4)按班号查询学生信息;" << endl << endl;
                            cout << "请选择任一项或者输入0返回: ";
                      }
                }
                else if (flag==5)//学生基本信息的统计
                {
                      cout << "(1)按性别统计学生人数;" << endl;
                      cout << "(2)按班号统计学生人数;" << endl;
                      cout << "(3)按年龄统计学生人数;" << endl;
                      cout << "(4)按系别统计学生人数;" << endl;
                      cout << "请选择一项或者输入0返回: ";
                      int temp_flag;
                      while(cin>>temp_flag)
                      {
                            system("cls");
                            if (temp_flag==0)break;
                            else if (temp_flag>0&&temp_flag<=4)
                            {
                                  stu.stu_cal(temp_flag);
                            }else cout << "输入非法! 请重新输入: ";
                            cout << "(1)按性别统计学生人数;" << endl;
                            cout << "(2)按班号统计学生人数;" << endl;
                            cout << "(3)按年龄统计学生人数;" << endl;
                            cout << "(4)按系别统计学生人数;" << endl;
                            cout << "请选择一项或者输入0返回: ";
                      }
                }
                print_windows();//打印选择功能界面
          }
          stu.save();
          return 0;
    }
    

    我的个人hexo博客.

    运行图略

    六.实验总结与心得

    通过类和结构体可以有效提高代码重用性和可读性;
    可以使用文件来储存数据;
    面向对象的思想让程序维护更简单,添加功能更方便

    七. 关于vs2019上无法顺利运行

    原因:

    1. vs2019不识别万能头文件即#include<bits/stdc++.h>
    2. vs2019会对freopen函数报错

    解决:

    1. 将万能头文件删去,换成下列头文件
    #include<iostream>
    #include<Windows.h>
    #include<algorithm>
    #include<map>
    #include <fstream>
    
    1. 在vs2019里取消对freopen的报错,点击链接,参考这篇博客

    注:如果程序运行突然错误退出,请检查txt文件和程序的编码方式是否一致,不一致会导致文件读写错误。

    展开全文
  • 可视化MFC做的学生学籍管理系统,是数据库的课程设计,有数据库的表操作,附带课程设计报告
  • 学生 成绩管理系统 c++ 这本身也是学习他人资料的改良,望原作者原谅
  • 1.录入 能够录入学生信息,包括学号,姓名,性别,语文成绩,数学成绩和计算机成绩. 2.显示 能够将所有学生的信息显示在屏幕上,显示的信息出了1中的6部分外,还包括3门成绩的平均成绩 3.查找 能够分别根据学号和姓名查找...
  • 首先由用户输入要查找的学生的学号,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的学生资料。 4. 修改 首先由用户输入要修改的学生的学号,然后系统用修改函数查找,显示该名学生的资料,然后系统...
  • 学生学籍管理系统 代码 一)、系统的主要功能 1. 添加 系统将提示用户输入新添加的职员的信息,插入在链表中。 2. 删除 首先由用户输入要删除的学生的学号,然后调用删除函数,删除该名学生的资料。 3. 查找 首先由...
  • 资源内有本人亲自写的C++课程设计报告,本报告属小型学生学籍管理系统。内有源文件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 560
精华内容 224
关键字:

学生学籍管理系统c++

c++ 订阅