博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下c/c++实例之十五简单的学生信息管理系统
阅读量:4178 次
发布时间:2019-05-26

本文共 3377 字,大约阅读时间需要 11 分钟。

一、简介

      大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示学生信息、综合统计(各课程平均成绩和合格率)、总分排序和退出系统。设计:

 

二、详解

1、代码

(1)main.cpp

#include
#include
#include
//使用setw()函数#include
//使用system()函数#include
//使用getch(),输入任意字符#include
//使用strcpy()函数using namespace std;void baocun();//保存信息int n=0; //全局变量,记录学生总人数。char mi[]="1987"; //初始密码class student //学生类{public: int num; //学生学号 char name[10];//学生姓名 char sex[4];//学生性别 char classroom[10];//学生班级 double a,b,c; //三门课的成绩 double sum; //记录个人三门课的总成绩}stu[100],paixu[100],wo[100];//声明对象class school:public student{public: //声明函数原型 void input(); //添加学生信息 void add(); //增加学生 void del(); //删除学生信息 void alt(); //修改学生信息 void find(); //查询学生信息 void disp(); //显示学生信息 void cal(); //综合统计(各课程平均成绩和合格率) void xu(); //总分排序 void back(); //返回主界面 void gai(); //修改密码 void start(); //管理操作};//主函数void main(){ school A; char a;char c[20];char m[20]; system("cls");//清屏 DOC调用 system("color 1F"); //颜色 调用doc cout<
<<"您想进入学生管理系统?"<
>a; if(a=='Y'||a=='y') { cout<
<<"0、退出."<
<<"1、登陆."<
<<"2、修改密码."<
>j; if(j>3||j<0) //输入超出范围控制 { cout<<"输入有误!"<
>c; cout<<"请输入您的密码:";cin>>m; if(strcmp(m,mi)==0&&strcmp(c,"admin")==0) { A.start();} else //账号、密码输入的错误提示 { if(strcmp(c,"admin")!=0) cout<<"账号输入有误,请从新输入!"<
>i; if(i>9||i<0) //操作控制 { cout<<"输入有误!"<
>n; if(n>=100||n<=0) { cout<<"输入有误!"<
>stu[i].num; cin>>stu[i].name; cin>>stu[i].sex; cin>>stu[i].classroom; cin>>stu[i].a; cin>>stu[i].b; cin>>stu[i].c; if(stu[i].num<=0&&stu[i].num<2147483647) {cout<<"学号输入有误,请重新输入.\n" ; cout<<"按任意键返回"<
100) { cout<<"英语成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
100) {cout<<"C++成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
100) { cout<<"数学成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
>m;n+=m; if(n>=100||n<=0) {cout<<"输入有误!"<
>stu[i].num; cin>>stu[i].name; cin>>stu[i].sex; cin>>stu[i].classroom; cin>>stu[i].a; cin>>stu[i].b; cin>>stu[i].c; stu[i].sum=stu[i].a+stu[i].b+stu[i].c; if(strcmp(stu[i].sex,"nan")!=0&&strcmp(stu[i].sex,"nv")!=0) {cout<<"性别输入有误,请重新输入.\n"; cout<<"按任意键返回"<
100) { cout<<"英语成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
100) {cout<<"C++成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
100) { cout<<"数学成绩输入有误,请重新输入.\n"; cout<<"按任意键返回"<
>i; if(i>8||i<0) //操作控制 { cout<<"输入有误!"<
>h; for(int i=0;i
>na; for(int i=0;i
>ban; cout<<"********查找的同学的信息********\n"; for(int i=0;i
>a; for(int i=0;i
>x; if(x=='Y'||x=='y') { y++; for(;i
>xh; for(int i=0;i
>x; if(x=='Y'||x=='y') {y++; cout<<"****注意:输入学号为整数!!性别只能为男或女!!输入的成绩为0-100!!****"<
>stu[i].num; cin>>stu[i].name; cin>>stu[i].sex; cin>>stu[i].classroom; cin>>stu[i].a; cin>>stu[i].b; cin>>stu[i].c; stu[i].sum=stu[i].a+stu[i].b+stu[i].c; } else { school::back(); } } if(y==0) { cout<<"该学生不存在!"; school::back(); } else { baocun(); cout<<"***********修改后的信息为************"<
60)t++; if(stu[i].b>60)y++; if(stu[i].c>60)u++; } cout<<"**********各课程合格率**********"<
>mi2; if(strcmp(mi2,mi)==0) {cout<<"请输入新密码:";cin>>mi3; cout<<"请再输入新密码:";cin>>mi4;} else { cout<<"密码错误,请重新输入."<
>ch; if(ch=='Y'||ch=='y') { char filename[20]; fstream f;char answer;char s[80]; cout<<"请输入要保存文件的路径:(如:D:\\student.dat)\n"; cin>>filename; f.open(filename,ios::out); f<<"**************存取的学生信息***********"<
>answer; if(answer=='Y'||answer=='y') { f.open(filename,ios::in);//重用流打开文件 while(!f.eof()) { f.getline(s,80); cout<
<

 

(2)编译运行

在vc6.0或vs2010上都能编译通过,登录的用户名是admin,密码是1987。

 

 

三、总结

(1)上述代码无实际用途,仅仅用来回忆学习C++的过程。

(2)若有建议,请留言,在此先感谢!

你可能感兴趣的文章
生成器模式
查看>>
工厂方法模式
查看>>
抽象工厂方法模式
查看>>
原型模式
查看>>
备忘录模式
查看>>
模板方法模式
查看>>
状态模式
查看>>
策略模式
查看>>
命令模式
查看>>
解释器模式
查看>>
装饰者模式
查看>>
迭代器模式
查看>>
访问者模式
查看>>
阿里规范(一)关于CountDownLatch和ThreadLocalRandom的详解(带测试代码)
查看>>
mysql在window下的主从复制
查看>>
Mysql 函数 STR_TO_DATE
查看>>
Commons CLI 使用介绍
查看>>
Mybatis 缓存实现原理——案例实践
查看>>
Mybatis 缓存实现原理
查看>>
怎么提升SQL查询效率
查看>>