学生成绩管理系统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. * 文件名: 学生成绩 ...
随机推荐
- iOS ibeacon 使用详解
前段时间写项目,设计到了通过蓝牙ibeacon 的方式接收数据,最开始自己都之前都没听过什么叫ibeacon,然后就开始查资料,慢慢的也了解并知道了ibeacon怎么使用了.先大概解释下ibeacon ...
- 【python】gevent协程例子
说在前面:用协程还是多线程需要仔细考量.我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上. 一个简单的协程例子 #!/usr/bi ...
- Ubuntu 安装google 拼音
一.安装fcitx apt-get install fcitx 二.安装google pinyin sudo apt install fcitx-googlepinyin 三. 安装 fcitx-co ...
- Burp Scanner Report
1.使用application web 漏洞平台,除此之外还有一款类似的工具 叫做mulidata,其实mulidata功能更好一点. 2.配置之前的问题处理 安装之前要确认 自己之前是否安装过 Ap ...
- poj3107树的重心
/*树的重心求法:两次dfs,第一次dfs处理出每个结点的size,以此求每个结点大儿子的size,第二次dfs将每个结点大儿子的size和余下结点数进行比较,所有结点里两个值之间差值最小的那个点就是 ...
- swagger2常用注解说明
说明: 1.这里使用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4) 2.这里是说明常用注解的含义和基本用法(也就是说已经对swagger进行 ...
- CentOS安装jdk的三种方法
方法一:手动解压JDK的压缩包,然后设置环境变量 方法二:用yum安装JDK,(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的 ...
- labelme连续将文件夹中的json文件进行可视化的指令
for /r C:\Users\Fourmi\Desktop\ZP0 %i in (*.json) do labelme_json_to_dataset %i
- 牛客寒假算法基础集训营4 I题 Applese 的回文串
链接:https://ac.nowcoder.com/acm/contest/330/I 来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. ...
- 【C++ Primer | 10】泛型算法
#include<iostream> #include<algorithm> #include<vector> #include<string> #in ...