今天晚上终于做完了学生成绩管理系统!激动!开心!!!哈哈哈~~~~

总共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++的更多相关文章

  1. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  2. Java项目:学生成绩管理系统(一)

    学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...

  3. 学生成绩管理系统[C]

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #d ...

  4. 【转】 [C/OC的那点事儿]NSMutableArray排序的三种实现(依赖学生成绩管理系统).

    原文网址:http://blog.csdn.net/ministarler/article/details/17018839 c语言实现的学生成绩管理系统是面向过程的,而OC实现的学生成绩管理系统则是 ...

  5. 学生成绩管理系统 1.0(Java+MySql)

    真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...

  6. 《C语言编写 学生成绩管理系统》

    /* (程序头部凝视開始) * 程序的版权和版本号声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名: 学生成绩管理 ...

  7. c++学生成绩管理系统

    虽然比较水 =.= 但是写了两节课+一个中午 都是强迫症的锅 http://www.cnblogs.com/wenruo/p/4940182.html #include <cstdio> ...

  8. 使用C++名单在文档处理和学生成绩管理系统相结合

    对于学生成绩管理系统,我并不陌生,几乎学习C人的语言.做项目会想到学生成绩管理系统,我也不例外.在研究中的一段时间C语言之后,还用C语言到学生管理系统,然后做几个链接.计数,这个系统是以前的系统上的改 ...

  9. C语言练手自己编写学生成绩管理系统

    #include<stdio.h> #include<stdlib.h> /*定义学生结构体*/ struct Student { ]; ]; float Mark1; flo ...

  10. 《C语言 学生成绩管理系统》

    /* (盯着先拔头筹程序) * 该计划的版权声明和版本号 * Copyright (c) 2011, 烟台大学计算机学院学生的学校 * All rights reserved. * 文件名: 学生成绩 ...

随机推荐

  1. Swift 通过字符串创建控制器

    由于Swift 中新增了一个命名空间(在同一个命名空间中的文件可以直接访问而不用引入头文件)的概念 所以通过字符串创建控制器需要带上命名空间 1 首先为Bundle 写一个分类  获取命名空间 ext ...

  2. xampp 安装以及相关问题

    1.安装xampp   说明:xampp集成了mysql,Apache,php,360软件里面就有 2.mysql端口被占用.              如果电脑上已安装MySql数据库,还想用XAM ...

  3. 【sqli-labs】Less17

    Less17: POST注入,UPDATE语句,有错误回显 新知识点: 1. update注入方法 参考:http://www.mamicode.com/info-detail-1665678.htm ...

  4. django的查看sql语句setting设置

    LOGGING = {     'version': 1,     'disable_existing_loggers': False,     'handlers': {         'cons ...

  5. Nginx详解二十七:Nginx架构篇之安全篇

    1.常见的恶意行为:爬虫行为和恶意抓取.资源盗用 解决方案: 基础防盗链功能:不让恶意用户能轻易爬去网站对外数据 secure_link_module模块:对数据安全性提高,加密验证和失效性,适合核心 ...

  6. 性能测试四十一:sql案例之慢sql配置、执行计划和索引

    MYSQL 慢查询使用方法MYSQL慢查询介绍分析MySQL语句查询性能的问题时候,可以在MySQL记录中查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”.MYSQL自带的慢查 ...

  7. idea 设置选中代码得背景颜色

  8. vi不保存退出

    To quit the vi editor without saving any changes you've made If you are currently in insert or appen ...

  9. 旋转矩阵 The Rotation Matrix

    参考: http://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/how-does ...

  10. [转] webpack之前端性能优化(史上最全,不断更新中。。。)

    最近在用webpack优化首屏加载性能,通过几种插件之后我们上线前后的速度快了一倍,在此就简单的分享下吧,先上个优化前后首屏渲染的对比图. 可以看到总下载时间从3800ms缩短到1600ms. 我们在 ...