c++大作业–学籍管理系统–

c++大作业–学籍管理系统–

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

1.题目描写叙述

学籍管理系统:
依据信息管理系统的业务流程、要求以及所要实现的目标,完毕下面功能:
(1)建立学生档案的管理和维护。实现计算机自己主动化管理体制。
(2)建立学生成绩管理机制,在计算机的支持下高速的完毕学生成绩的查询和改动。
(3)建立课程设置管理,在计算机的支持下实现课程的加入�、改动。
(4)建立班级设置管理,在计算机的支持下实现班级的加入�、删除和改动。
(5)实现系统的权限设置管理,保证系统安全性。(登录password输错3次不同意登录)

(6)使用姓名学号查找学生信息。

(7)将学生信息保存在文件里。
2.分析思路

使用类来储存学生信息,实现学生信息的管理改动。

3. 输入:

1,password的设置输入及登录输入。

2,功能选择的输入。

3,学生信息输入

void sr()                   //////初始化输入学生信息    {         cout<<"请输入姓名";        cin>>xm;         cout<<"请输入入学日期中间用空格隔开";         time.shuru();                ll=shurupanduan(time.year,time.month,time.day);               if(ll==0)                       time.shuru();         cout<<"请输入班级";        cin>>bj;         cout<<"请输入课程(5门)中间用空格隔开";        for(int i=0;i<5;i++)               {                     cin>>kc[i];                     for(intj=0;j<i;j++)                     {                            while(kc[i]==kc[j])                            {                                   cout<<"您已经选过该课程请又一次输入"<<endl;                                   cin>>kc[i];                            }                     }              }

4.输出:

1,学生信息的输出。

2,学生信息的文件储存。

5.程序代码:

#include<iostream> #include <string> #include<conio.h>#include<iomanip> #include<time.h># include<fstream>void bangzhu();void bcxx(int);void dqsj();bool pdxhcf(int,int);int shurupanduan(int,int,int);int runnian(int );using namespace std;   struct sj    {   intyear,month,day;                            ////////时间结构体  void shuru()  {cin>>year>>month>>day;  }   };  class student                                 ////////////学生类  {           public :          string xm,kc[5];    int bj,xh,cj[5],ll;    sj time;       voidsrxhh()       {              cout<<"请输入学号";       cin>>xh;       }      void sr()                   //////初始化输入学生信息    {         cout<<"请输入姓名";        cin>>xm;         cout<<"请输入入学日期中间用空格隔开";         time.shuru();                ll=shurupanduan(time.year,time.month,time.day);               if(ll==0)                       time.shuru();         cout<<"请输入班级";        cin>>bj;         cout<<"请输入课程(5门)中间用空格隔开";        for(int i=0;i<5;i++)               {                     cin>>kc[i];                     for(intj=0;j<i;j++)                     {                            while(kc[i]==kc[j])                            {                                   cout<<"您已经选过该课程请又一次输入"<<endl;                                   cin>>kc[i];                            }                     }              }       system("cls");       }          void chengji()                        ///////成绩录入          {                       int i;               for(i=0;i<5;i++)               {                         cout<<"请输入"<<kc[i]<<"的成绩"<<endl;                 cin>>cj[i];                       }          }                   void chengjisc()                         ///////成绩输出          {                            inti;              for(i=0;i<5;i++)               {                              cout<<kc[i]<<"  ";                   cout<<cj[i]<<' ';                       }          }   };    void cxkb(student t)       {              intn;      cout<<"继续查询课程表请输入1,结束请输入0"<<endl;     cin>>n;   if(n==1)    for(int i=0;i<5;i++)     cout<<t.kc[i]<<' ';       }  string mima()               ////////初始化设置password    {          cout<<"****************************学籍管理系统*********************************"<<endl;              dqsj();          cout<<"请设置password:";     string mm1,mm2;    char ch;     while ((ch=_getch())!=13)        {    mm1+=ch;    cout<<"*";        }     cout<<endl;    cout<<"请再次确认password:";    while ((ch=_getch())!=13)        {   mm2+=ch;   cout<<"*";        }     system("cls");  if(mm1==mm2)  return mm1;  else   mima();   } int denglu(string mm)              /////////登陆程序 {               cout<<"****************************学籍管理系统*********************************"<<endl;              dqsj();   cout<<"请输入登录password:";    string mm1,mm2,mm3;    char ch;  while ((ch=_getch())!=13)   {  mm1+=ch;  cout<<"*";  }    system("cls");      cout<<"****************************学籍管理系统*********************************"<<endl;       dqsj();   if(mm==mm1)        return 1;    else     {              cout<<"password错误,您还有两次机会,请重试";       while ((ch=_getch())!=13)           {         mm2+=ch;          cout<<"*";           }         system("cls");     if(mm==mm2)        return 1;    else     {              cout<<"password错误,您另一次机会,请重试";        while ((ch=_getch())!=13)               {          mm3+=ch;            cout<<"*";               }         system("cls");     if(mm==mm3)        return 1;    else     {              cout<<"password错误,请明天再试";        return 0;       }        }        } } student chazhaoxg(student t)  //信息改动{cout<<"改动姓名请输入1,改动入学时间请输入2,改动班级请输入3."<<endl; cout<<"改动课程请输入4,改动成绩请输入5"; int a,i; string xk;cin>>a; switch(a) {case 1:cin>>t.xm;break; case2:cin>>t.time.year>>t.time.month>>t.time.day;break; case 3:cin>>t.bj;break; case 4:for(i=0;i<5;i++)cin>>t.kc[i];break; case 5:       cout<<"请输入课程名"<<endl;       cin>>xk;for(i=0;i<5;i++)       {              if(t.kc[i]==xk)              {cout<<"请输入成绩"<<endl;              cin>>t.kc[i];              }       }break;       }  return t;  } void shuchuxinxi(student t)  //输出学生信息{    cout<<t.xh<<' '<<t.xm<<''<<t.time.year<<t.time.month<<t.time.day<<t.bj<<''; } student stu[500];   int main()                       ////主函数..................     {              intn=0,i,xh;    string mm,xm;  //password     mm=mima();  //password设置   i=denglu(mm);    if(i)    {     int a;       system("cls");       while(1)        {                     cout<<"****************************学籍管理系统*********************************"<<endl;          dqsj();                bangzhu();                cin>>a;          system("cls");          cout<<"****************************学籍管理系统*********************************"<<endl;          dqsj();              if(a==0)        break;        else        {            switch(a)                      {                     case1:                     stu[n].srxhh();                                 while(!pdxhcf(n,stu[n].xh))                            {                                   cout<<"已存在该学生请又一次输入"<<endl;                                   stu[n].srxhh();                     }                            stu[n].sr(),n++;                            break;            case 2:                             for(i=0;i<n;i++)                            {                                   cout<<stu[i].xh<<'';                                   cout<<stu[i].xm<<endl;                            }                            break;            case 3:                            cout<<"请输入学号 ";                            cin>>xh;                            for(i=0;i<n;i++)                                   if(stu[i].xh==xh)                                          stu[i]=chazhaoxg(stu[i]);break;            case 6:                            cout<<"请输入学号 ";                            cin>>xh;                            for(i=0;i<n;i++)                                   if(stu[i].xh==xh)                                          stu[i].chengji();break;                     case7:                            cout<<"请输入学号 ";                            cin>>xh;                            for(i=0;i<n;i++)                                   if(stu[i].xh==xh)                                          stu[i].chengjisc();                                   break;                     case4:                             cout<<"请输入学号 ";                            cin>>xh;                            for(i=0;i<n;i++)                                   if(stu[i].xh==xh)                                   {                                          shuchuxinxi(stu[i]);                                          cxkb(stu[i]);                                   }break;                     case5:                             cout<<"请输入姓名 ";                            cin>>xm;                            for(i=0;i<n;i++)                                   if(stu[i].xm==xm)                                   {shuchuxinxi(stu[i]);                                   cxkb(stu[i]);                                   }break;       case 9:bangzhu();break;              case8:bcxx(n);break;              }              }      }       } return 0;    } void bangzhu()                         //操作指令提示 { cout<<"请输入下面指令"<<endl<<endl;          cout<<"    1.加入�学生              ";        cout<<"    2.输出全部学生          "<<endl;       cout<<"============================";    cout<<"============================"<<endl;    cout<<"    3.输入学号改动学生信息  ";        cout<<"    4,用学号查找学生信息   "<<endl;       cout<<"============================";    cout<<"============================"<<endl;       cout<<"    5,用姓名查找学生信息   " ;        cout<<"    6,成绩输入              "<<endl;       cout<<"============================";     cout<<"============================"<<endl;       cout<<"    7,成绩查询              ";           cout<<"    8,保存学生信息"<<endl;       cout<<"============================";    cout<<"============================"<<endl;   cout<<"    9.菜单                  ";        cout<<"    0.结束本程序            "<<endl ;       cout<<"============================";    cout<<"============================"<<endl; } int shurupanduan(int a,int b,int c=1)   //推断输入年月日是否正确 {int l=1,q,ll; if(a<=0||b<=0||b>12||c<0) {l=0; cout<<"您的输入有误请又一次输入"<<endl;} switch(b) {case 1:q=31;break; case 2:q=28;break; case 3:q=31;break; case 5:q=31;break; case 7:q=31;break; case 8:q=31;break; case 10:q=31;break; case 12:q=31;break; case 4:q=30;break; case 6:q=30;break; case 9:q=30;break; case 11:q=30;break;} ll=runnian(a);if(ll)q++;if(c>q) {       l=0;    cout<<"您的输入有误请又一次输入"<<endl;}     return l;}  int runnian(int a) //推断是是否为闰年 {       intl=0;    if((a%4==0&&a%100!=0)||(a%400==0))   l=1;  return l; } void bcxx(int n){       cout<<"请输入文本名称和后缀名:";  char s[20]; cin>>s;  ofstream outfile(s,ios::out);        inti=0;       studentt;       outfile<<"          学号"<<"  姓名"<<" 出生日期"<<" 班级"<<endl;       for(i=0;i<n;i++)       {              t=stu[i];                            outfile<<fixed<<setw(12)<<t.xh<<''<<fixed<<setw(6)<<t.xm<<' '                     <<fixed<<setw(7)<<t.time.year<<t.time.month<<t.time.day<<""                     <<fixed<<setw(4)<<t.bj<<'';        } }void dqsj()    //输出如今时间以及当前月份日历 {  time_t t = time(NULL);  struct tm  *local = localtime(&t);  int year = local -> tm_year + 1900;  int month = local -> tm_mon + 1;  int day = local -> tm_mday; int hour = local -> tm_hour;  int minute = local -> tm_min;  int second = local -> tm_sec;cout <<"当前时间: "<<"   "<<year<<"年"<<month<<"月"<<day<<"日"<<'';cout <<endl<<"                "<<hour<<":"<<minute<<":"<<second<<endl<<endl; }bool pdxhcf(int n,int a)//推断学号是否反复{       booll=1;       inti;       for(i=0;i<n;i++)       {              if(a==stu[i].xh)              {                     l=0;              break;              }       }       returnl;}

 

6.程序执行结果截图

反复课程不同意选择。

能够将学生信息保存到文件

能够使用姓名和学号查询学生信息

能够实现成绩的输入和改动

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118811.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 阿里云申请免费DV SSl(https证书),及详细配置运用[通俗易懂]

    阿里云申请免费DV SSl(https证书),及详细配置运用[通俗易懂]概述(大体流程):申请好免费证书后,一键推送到负载均衡,然后再给负载均衡配置443端口监听,并选择相应的证书!1、在阿里云购买证书说明:免费版的只能针对特定的一个域名(如果有多个域名,那就多买几个免费的)注意:在里面挨个挨个点乱点,这个免费的隐藏得有点深,不容易出的来(Symantec里面才有免费版的)创建证书,在【证书列表】中选择自己购买的那个2、配置证书…

    2022年10月1日
    0
  • pycharm 2022.01.13激活码_最新在线免费激活2022.02.24

    (pycharm 2022.01.13激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html2KLKA7BQFO-eyJsaWNlbnNlSWQi…

    2022年4月1日
    75
  • vb调用access数据库(access追加查询键值冲突)

    VB连接access数据库时,在查询语句中需要使用like问题时注意1、officeaccess中查询的通配符“*”。SQL中通配符是“%”2、但在VB中使用时,为“%%”,不是“*”,也不是“**”转载于:https://www.cnblogs.com/xbj-hyml/p/6928695.html…

    2022年4月16日
    31
  • 二分查找法

    序言引在正式的聊二分法之前,我们先来看一下下面的小例子:l.index(66)…我们之所以用index方法可以找到,是因为python帮我们实现了查找方法。如果,index方法不给你用了。。

    2022年3月29日
    18
  • android 点餐系统 构思

    android 点餐系统 构思一.          为什么要做这个项目? 记的有一次看新闻,其中报道过台湾一家酒店使用ipad让客人自己点餐,客人可以使用这个ipad从全部菜中挑选自己喜欢的,又可以选择自己的特色的。还可以直接结帐。我就想了一下,为什么不在android 系统上做一个人呢,因为以后这个系统的普及度一定很高的。于是我就上网查了一下相关的项目。发现有好多人已经开始做了,我自己并没有调研,就附上别人调研的情

    2022年6月19日
    39
  • mysql将yyyy转换_Mysql时间格式转换

    mysql将yyyy转换_Mysql时间格式转换对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:mysql>SELECTsomethingFROMtableWHERETO_DAYS(NOW())-TO_DAYS(date_col)<=30;DAYOFWEEK(date)返回…

    2022年6月19日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号