学生成绩管理系统C++
今天晚上终于做完了学生成绩管理系统!激动!开心!!!哈哈哈~~~~
总共298行代码,第一次写这么多。
其中遇到了好多困难,也烦恼了好久,不过最终都解决了!
做了之后果然,满满的成就感!抑制不住的兴奋,特此纪念一下!
可能还有些小问题,,,不过已经很开心啦,啦啦啦~~~
#include<iostream>
#include<iomanip> using namespace std;
void menu();//菜单函数
int choice(int x); //选项函数
void Input(float stu[],int &num);//1.输入成绩函数
void Output(float stu[],int &num);//2.输出成绩函数
void Order(float stu[],int &num);//3.排序函数
void Search(float stu[],int &num);//4.查找学生函数
void Insert(float stu[],int &num);//5.插入学生函数
void Delete(float stu[],int &num);//6.删除学生函数
void Statistical_number(float stu[],int &num);//7.统计各分数段人数函数 const int MAX_STUDENT_NUM=;//班级人数
float stu[MAX_STUDENT_NUM];
int currentN=; int main()
{
menu();
int x;
cin>>x;
choice(x);
//菜单循环
while (x!=)
{ menu();
cin>>x;
choice(x);
}
} //菜单
void menu()
{
cout<<"\t\t\t\t\t\t\t\t\t\t\t\t\t\n";
cout<<"\t\t\t欢迎使用成绩管理系统\t\n";
cout<<"\t\t=========================================\n";
cout<<"\t\t1.录入学生 2.显示信息\n";
cout<<"\t\t3.排序总评 4.查找学生\n";
cout<<"\t\t5.插入学生 6.删除学生\n";
cout<<"\t\t7.统计人数 0.退出\n";
cout<<"\t\t=========================================\n";
cout<<"请从0-7中选择一个数:";
} //选项
int choice(int x)
{ switch (x)
{
case :return ;
case :cout<<"你选择了 录入学生"<<endl;
Input(stu,currentN);
break;
case :cout<<"你选择了 显示信息"<<endl;
Output(stu,currentN);
break;
case :cout<<"你选择了 排序总评"<<endl;
Order(stu,currentN);
break;
case :cout<<"你选择了 查找学生"<<endl;
Search(stu,currentN);
break;
case :cout<<"你选择了 插入学生"<<endl;
Insert(stu,currentN);
break;
case :cout<<"你选择了 删除学生"<<endl;
Delete(stu,currentN);
break;
case :cout<<"你选择了 统计人数"<<endl;
Statistical_number(stu,currentN);
break;
default:cout<<"输入非法,请重新输入!\n"<<endl;break;
}
} //1.输入成绩
void Input(float stu[],int &num)
{
char a;
while()
{
int temp=num;
if(temp>=MAX_STUDENT_NUM)
{
cout<<"人数已达到上限,无法再输入!"<<endl;
break;
}
cout<<"请输入成绩(0-100):"<<endl;
cin>>stu[num];
if(stu[num]< || stu[num]>)
{
cout<<"输入错误!成绩应该在0到100之间!"<<endl;
continue;
}
cout<<"是否继续输入学生数据请按Y或N:"<<endl;
cin>>a;
num++;
if(a=='y'||a=='Y')
{ if(num>=MAX_STUDENT_NUM)
{
cout<<"人数已达到上限,无法再输入!"<<endl;
break;
}
}
else if(a=='n'||a=='N')
{
break;
}
}
} //2.输出显示信息
void Output(float stu[],int &num)
{
cout<<"成绩信息如下:"<<endl;
for(int i=;i<num;i++)
{
cout<<fixed<<setprecision()<<setw()<<stu[i]<<' ';
}
} //3.排序
void Order(float stu[],int &num)
{
for(int i=;i<num-;i++)
for(int i=;i<num-;i++)
{
for(int j=;j<num-i;j++)
{
if(stu[i]>stu[i+])
{
float temp=stu[i];
stu[i]=stu[i+];
stu[i+]=temp;
}
}
}
Output(stu,num);
} //4.查找
void Search(float stu[],int &num)
{
int x,i,j=,n=,counter=;
char a;
while()
{ cout<<"请输入你要查找的成绩:";
cin>>x;
for(i=;i<num;i++)
{
j++;
}
for(i=;i<=j;i++)
{ if(x==stu[i])
{
cout<<"查找到第"<<counter<<"个相符的成绩"<<fixed<<setprecision()<<stu[i]<<endl;
n=;counter++;
}
}
if(n)
cout<<"没有该学生信息!"<<endl; cout<<"是否继续查找请按Y或N:"<<endl;
cin>>a;
if(a=='y'||a=='Y')
{
counter=;
continue;
}
else if(a=='n'||a=='N')
{
break;
} }
} //5.插入
void Insert(float stu[],int &num)
{
char a;
while()
{
int temp=num;
if(temp>=MAX_STUDENT_NUM)
{
cout<<"人数已达到上限,无法再输入!"<<endl;
break;
}
cout<<"请输入插入的成绩(0-100):"<<endl;
cin>>stu[num];
if(stu[num]< || stu[num]>)
{
cout<<"数据不符合要求!请重新输入!"<<endl;
continue;
}
cout<<"是否继续输入学生数据请按Y或N:"<<endl;
cin>>a;
num++;
if(a=='y'||a=='Y')
{
if(num>=MAX_STUDENT_NUM)
{
cout<<"人数已达到上限,无法再输入!"<<endl;
break;
}
}
else if(a=='n'||a=='N')
{
break;
}
}
} //6.删除
void Delete(float stu[],int &num)
{
float x;
char a;
int counter=,n=,temp=num;
while()
{ cout<<"请输入要删除的数据:"<<endl;
cin>>x;
for(int i=;i<num;i++)
{
if(x==stu[i])
{
for(int j=i;j<num;j++)
stu[j]=stu[j+];
num--;i--;n=;
}
}
if(n)
{
n=;
cout<<x*1.0<<"分学生信息删除成功!"<<endl;
}
else
cout<<"没有该学生!"<<endl; cout<<"是否继续删除其他学生请按Y或N:"<<endl;
cin>>a;
if(a=='y'||a=='Y')
{
continue;
}
else if(a=='n'||a=='N')
{
Output(stu,num);
break;
} }
} //7.统计各分数段人数
void Statistical_number(float stu[],int &num)
{
int a=,b=,c=,d=,e=;
for(int i=;i<num;i++)
{
if(stu[i]>=)
a++;
else if(stu[i]>=)
b++;
else if(stu[i]>=)
c++;
else if(stu[i]>=)
d++;
else
e++;
}
cout<<"100^90 89^80 79^70 69^60 <60"<<endl;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl;
}
学生成绩管理系统
学生成绩管理系统C++的更多相关文章
- Java项目:学生成绩管理系统(二)
学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...
- Java项目:学生成绩管理系统(一)
学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...
- 学生成绩管理系统[C]
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #d ...
- 【转】 [C/OC的那点事儿]NSMutableArray排序的三种实现(依赖学生成绩管理系统).
原文网址:http://blog.csdn.net/ministarler/article/details/17018839 c语言实现的学生成绩管理系统是面向过程的,而OC实现的学生成绩管理系统则是 ...
- 学生成绩管理系统 1.0(Java+MySql)
真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...
- 《C语言编写 学生成绩管理系统》
/* (程序头部凝视開始) * 程序的版权和版本号声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名: 学生成绩管理 ...
- c++学生成绩管理系统
虽然比较水 =.= 但是写了两节课+一个中午 都是强迫症的锅 http://www.cnblogs.com/wenruo/p/4940182.html #include <cstdio> ...
- 使用C++名单在文档处理和学生成绩管理系统相结合
对于学生成绩管理系统,我并不陌生,几乎学习C人的语言.做项目会想到学生成绩管理系统,我也不例外.在研究中的一段时间C语言之后,还用C语言到学生管理系统,然后做几个链接.计数,这个系统是以前的系统上的改 ...
- C语言练手自己编写学生成绩管理系统
#include<stdio.h> #include<stdlib.h> /*定义学生结构体*/ struct Student { ]; ]; float Mark1; flo ...
- 《C语言 学生成绩管理系统》
/* (盯着先拔头筹程序) * 该计划的版权声明和版本号 * Copyright (c) 2011, 烟台大学计算机学院学生的学校 * All rights reserved. * 文件名: 学生成绩 ...
随机推荐
- Swift 通过字符串创建控制器
由于Swift 中新增了一个命名空间(在同一个命名空间中的文件可以直接访问而不用引入头文件)的概念 所以通过字符串创建控制器需要带上命名空间 1 首先为Bundle 写一个分类 获取命名空间 ext ...
- xampp 安装以及相关问题
1.安装xampp 说明:xampp集成了mysql,Apache,php,360软件里面就有 2.mysql端口被占用. 如果电脑上已安装MySql数据库,还想用XAM ...
- 【sqli-labs】Less17
Less17: POST注入,UPDATE语句,有错误回显 新知识点: 1. update注入方法 参考:http://www.mamicode.com/info-detail-1665678.htm ...
- django的查看sql语句setting设置
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'cons ...
- Nginx详解二十七:Nginx架构篇之安全篇
1.常见的恶意行为:爬虫行为和恶意抓取.资源盗用 解决方案: 基础防盗链功能:不让恶意用户能轻易爬去网站对外数据 secure_link_module模块:对数据安全性提高,加密验证和失效性,适合核心 ...
- 性能测试四十一:sql案例之慢sql配置、执行计划和索引
MYSQL 慢查询使用方法MYSQL慢查询介绍分析MySQL语句查询性能的问题时候,可以在MySQL记录中查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”.MYSQL自带的慢查 ...
- idea 设置选中代码得背景颜色
- vi不保存退出
To quit the vi editor without saving any changes you've made If you are currently in insert or appen ...
- 旋转矩阵 The Rotation Matrix
参考: http://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/how-does ...
- [转] webpack之前端性能优化(史上最全,不断更新中。。。)
最近在用webpack优化首屏加载性能,通过几种插件之后我们上线前后的速度快了一倍,在此就简单的分享下吧,先上个优化前后首屏渲染的对比图. 可以看到总下载时间从3800ms缩短到1600ms. 我们在 ...