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.程序执行结果截图
反复课程不同意选择。
能够将学生信息保存到文件
能够使用姓名和学号查询学生信息
能够实现成绩的输入和改动
c++大作业--学籍管理系统--相关推荐
- mysql数据库大作业学籍管理系统_数据库大作业学籍管理系统代码和报告
[实例简介] 此为大学数据库大作业的报告以及源代码及打包程序.数据库使用MySQL设计,管理界面采用java编写,附带完整报告. [实例截图] [核心代码] 15180210013康辉数据库报告 └─ ...
- C语言大作业:车辆管理系统
C语言大作业:车辆管理系统 声明 此代码使用VS2019编译器进行编译 使用 vc 和 dev-c 的有可能会出现编译警告,需要自己去网上查找相关的编译环境的问题 其次使用vs编译器也可能会报 C49 ...
- MySQL数据库大作业——学生管理系统GUI
MySQL数据库大作业--学生管理系统GUI 原程序链接: https://www.bbsmax.com/A/kmzL3WQBdG/ 为了完成数据库大作业, 我在其基础上进行了一定的修改和扩充. 如果 ...
- Java大作业-考试管理系统(GUI)无数据库-Java课程设计
Java课程设计-Java大作业-考试管理系统(GUI)无数据库 题目要求 开发环境 : 程序总功能模块 程序详细设计 使用情况 第一次写这东西有不少错误的地方,题目要求的功能也没有完全实现,以上内容 ...
- HTML5期末大作业:管理系统网站设计——学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
HTML5期末大作业:管理系统网站设计--学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业 常见网页设计作业题材有 个人. 美食. ...
- HTML5期末大作业:管理系统网站设计——蓝色OA企业员工管理系统(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源
HTML5期末大作业:管理系统网站设计--蓝色OA企业员工管理系统(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常 ...
- C语言总结项目和入门大作业——信息管理系统(多文件版)
文章目录 八. C语言入门大作业--信息管理系统(多文件版) 一. 功能模块的划分: 二. 多文件的编写 三. 基本函数的实现(重点) 四.文件操作函数 五.函数的辅助函数 六.多文件编程和联系 七. ...
- HTML5期末大作业:管理系统后台网站设计——代理商销售管理系统后台(8页) HTML+CSS+JavaScript web前端设计与开发期末作品/期末大作业
HTML5期末大作业:管理系统后台网站设计--代理商销售管理系统后台(8页) HTML+CSS+JavaScript web前端设计与开发期末作品/期末大作业 常见网页设计作业题材有 个人. 美食. ...
- C6软件测试大乐,软件测试大作业——社团管理系统
<软件测试大作业--社团管理系统>由会员分享,可在线阅读,更多相关<软件测试大作业--社团管理系统(19页珍藏版)>请在人人文库网上搜索. 1.山东科技大学软件测试技术与工具课 ...
- C#大作业——人事管理系统
此文仅为记录在校期间windows应用开发课程学习成果,本项目仍存在很多不足,仅供参考学习使用. 本门课程大作业要求完成一个具有主界面.用户登录.注册.注销.重新登陆.员工信息增删改查等功能的系统.其 ...
最新文章
- 让你用 Chrome 上网快到想哭:Vimium
- Grafana Labs 携手阿里云,将提供国内首款 Grafana 托管服务
- 服务器虚拟化 实验,VMware vSphere服务器虚拟化实验三 安装vCenter Server
- miui11精简_MIUI11评测:真的是缺乏创新吗?
- 呼叫中心系统okcc怎样防护盗打?
- rfc2544_tput_test脚本中增加丢包率功能
- java微信支付详解_java微信支付接入流程详解
- java中实现注册时Email邮件激活验证
- MATLAB双目标定步骤
- 【NVMe2.0b 14-8】Set Features(下篇)
- chrome密码导出导入
- 优维低代码:Pipes 管道
- (JDK8)jdk-8u201-windows-x64 安装及其环境变量配置
- 用 CaptureScreenshot捕捉游戏画面(截图,截屏)
- 大数据获取方法及常用工具学习
- vba 保存word里面的图片_如何将Word表格保存为图片?这3种方法你用过没?
- Ubuntu系统安装在移动固态硬盘,实现在不同电脑即插即用
- 【Android】使用阿里云直播实现手机直播功能
- 深度学习/计算机视觉学习资料
- 怪物猎人ol服务器维护,《怪物猎人OL》新版15日上线 狩魂石系统开启