兴奋~~~~

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

总共298行代码,第一次写这么多。

其中遇到了好多困难,也烦恼了好久,不过最终都解决了!

做了之后果然,满满的成就感!抑制不住的兴奋,特此纪念一下!

可能还有些小问题,,,不过已经很开心啦,啦啦啦~~~

  1 #include<iostream>
  2 #include<iomanip>
  3
  4 using namespace std;
  5 void menu();//菜单函数
  6 int choice(int x); //选项函数
  7 void Input(float stu[],int &num);//1.输入成绩函数
  8 void Output(float stu[],int &num);//2.输出成绩函数
  9 void Order(float stu[],int &num);//3.排序函数
 10 void Search(float stu[],int &num);//4.查找学生函数
 11 void Insert(float stu[],int &num);//5.插入学生函数
 12 void Delete(float stu[],int &num);//6.删除学生函数
 13 void Statistical_number(float stu[],int &num);//7.统计各分数段人数函数
 14
 15
 16 const int MAX_STUDENT_NUM=40;//班级人数
 17 float stu[MAX_STUDENT_NUM];
 18 int currentN=0;
 19
 20 int main()
 21 {
 22     menu();
 23     int x;
 24     cin>>x;
 25     choice(x);
 26     //菜单循环
 27     while (x!=0)
 28     {
 29
 30         menu();
 31         cin>>x;
 32         choice(x);
 33     }
 34 }
 35
 36
 37 //菜单
 38 void menu()
 39 {
 40     cout<<"\t\t\t\t\t\t\t\t\t\t\t\t\t\n";
 41     cout<<"\t\t\t欢迎使用成绩管理系统\t\n";
 42     cout<<"\t\t=========================================\n";
 43     cout<<"\t\t1.录入学生            2.显示信息\n";
 44     cout<<"\t\t3.排序总评            4.查找学生\n";
 45     cout<<"\t\t5.插入学生            6.删除学生\n";
 46     cout<<"\t\t7.统计人数            0.退出\n";
 47     cout<<"\t\t=========================================\n";
 48     cout<<"请从0-7中选择一个数:";
 49 }
 50
 51 //选项
 52 int choice(int x)
 53 {
 54
 55     switch (x)
 56         {
 57             case 0:return 0;
 58             case 1:cout<<"你选择了 录入学生"<<endl;
 59                    Input(stu,currentN);
 60                    break;
 61             case 2:cout<<"你选择了 显示信息"<<endl;
 62                    Output(stu,currentN);
 63                    break;
 64             case 3:cout<<"你选择了 排序总评"<<endl;
 65                    Order(stu,currentN);
 66                    break;
 67             case 4:cout<<"你选择了 查找学生"<<endl;
 68                    Search(stu,currentN);
 69                    break;
 70             case 5:cout<<"你选择了 插入学生"<<endl;
 71                    Insert(stu,currentN);
 72                    break;
 73             case 6:cout<<"你选择了 删除学生"<<endl;
 74                    Delete(stu,currentN);
 75                    break;
 76             case 7:cout<<"你选择了 统计人数"<<endl;
 77                    Statistical_number(stu,currentN);
 78                    break;
 79             default:cout<<"输入非法,请重新输入!\n"<<endl;break;
 80         }
 81 }
 82
 83
 84 //1.输入成绩
 85 void Input(float stu[],int &num)
 86 {
 87     char a;
 88     while(1)
 89     {
 90         int temp=num;
 91         if(temp>=MAX_STUDENT_NUM)
 92         {
 93             cout<<"人数已达到上限,无法再输入!"<<endl;
 94             break;
 95         }
 96         cout<<"请输入成绩(0-100):"<<endl;
 97         cin>>stu[num];
 98         if(stu[num]<0 || stu[num]>100)
 99         {
100             cout<<"输入错误!成绩应该在0到100之间!"<<endl;
101             continue;
102         }
103         cout<<"是否继续输入学生数据请按Y或N:"<<endl;
104         cin>>a;
105         num++;
106         if(a==‘y‘||a==‘Y‘)
107         {
108
109             if(num>=MAX_STUDENT_NUM)
110             {
111                 cout<<"人数已达到上限,无法再输入!"<<endl;
112                 break;
113             }
114         }
115         else if(a==‘n‘||a==‘N‘)
116         {
117             break;
118         }
119     }
120 }
121
122
123 //2.输出显示信息
124 void Output(float stu[],int &num)
125 {
126     cout<<"成绩信息如下:"<<endl;
127     for(int i=0;i<num;i++)
128     {
129         cout<<fixed<<setprecision(1)<<setw(5)<<stu[i]<<‘ ‘;
130     }
131 }
132
133
134 //3.排序
135 void Order(float stu[],int &num)
136 {
137     for(int i=0;i<num-1;i++)
138     for(int i=0;i<num-1;i++)
139     {
140         for(int j=0;j<num-i;j++)
141         {
142             if(stu[i]>stu[i+1])
143             {
144                 float temp=stu[i];
145                 stu[i]=stu[i+1];
146                 stu[i+1]=temp;
147             }
148         }
149     }
150     Output(stu,num);
151 }
152
153
154 //4.查找
155 void Search(float stu[],int &num)
156 {
157     int x,i,j=0,n=1,counter=1;
158     char a;
159     while(1)
160     {
161
162     cout<<"请输入你要查找的成绩:";
163     cin>>x;
164     for(i=0;i<num;i++)
165     {
166         j++;
167     }
168     for(i=0;i<=j;i++)
169     {
170
171         if(x==stu[i])
172         {
173             cout<<"查找到第"<<counter<<"个相符的成绩"<<fixed<<setprecision(1)<<stu[i]<<endl;
174             n=0;counter++;
175         }
176     }
177     if(n)
178         cout<<"没有该学生信息!"<<endl;
179
180     cout<<"是否继续查找请按Y或N:"<<endl;
181     cin>>a;
182     if(a==‘y‘||a==‘Y‘)
183     {
184         counter=1;
185         continue;
186     }
187     else if(a==‘n‘||a==‘N‘)
188     {
189         break;
190     }
191
192
193     }
194 }
195
196
197 //5.插入
198 void Insert(float stu[],int &num)
199 {
200     char a;
201     while(1)
202     {
203         int temp=num;
204         if(temp>=MAX_STUDENT_NUM)
205         {
206             cout<<"人数已达到上限,无法再输入!"<<endl;
207             break;
208         }
209         cout<<"请输入插入的成绩(0-100):"<<endl;
210         cin>>stu[num];
211         if(stu[num]<0 || stu[num]>100)
212         {
213             cout<<"数据不符合要求!请重新输入!"<<endl;
214             continue;
215         }
216         cout<<"是否继续输入学生数据请按Y或N:"<<endl;
217         cin>>a;
218         num++;
219         if(a==‘y‘||a==‘Y‘)
220         {
221             if(num>=MAX_STUDENT_NUM)
222             {
223                 cout<<"人数已达到上限,无法再输入!"<<endl;
224                 break;
225             }
226         }
227         else if(a==‘n‘||a==‘N‘)
228         {
229             break;
230         }
231     }
232 }
233
234
235 //6.删除
236 void Delete(float stu[],int &num)
237 {
238     float x;
239     char a;
240     int counter=1,n=0,temp=num;
241     while(1)
242     {
243
244     cout<<"请输入要删除的数据:"<<endl;
245     cin>>x;
246     for(int i=0;i<num;i++)
247     {
248         if(x==stu[i])
249         {
250             for(int j=i;j<num;j++)
251                 stu[j]=stu[j+1];
252             num--;i--;n=1;
253         }
254     }
255     if(n)
256     {
257         n=0;
258         cout<<x*1.0<<"分学生信息删除成功!"<<endl;
259     }
260     else
261         cout<<"没有该学生!"<<endl;
262
263     cout<<"是否继续删除其他学生请按Y或N:"<<endl;
264     cin>>a;
265     if(a==‘y‘||a==‘Y‘)
266     {
267         continue;
268     }
269     else if(a==‘n‘||a==‘N‘)
270     {
271         Output(stu,num);
272         break;
273     }
274
275     }
276 }
277
278
279 //7.统计各分数段人数
280 void Statistical_number(float stu[],int &num)
281 {
282     int a=0,b=0,c=0,d=0,e=0;
283     for(int i=0;i<num;i++)
284     {
285         if(stu[i]>=90)
286             a++;
287         else if(stu[i]>=80)
288             b++;
289         else if(stu[i]>=70)
290             c++;
291         else if(stu[i]>=60)
292             d++;
293         else
294             e++;
295     }
296     cout<<"100^90    89^80    79^70    69^60    <60"<<endl;
297     cout<<a<<"    "<<b<<"    "<<c<<"    "<<d<<"    "<<e<<endl;
298 } 

学生成绩管理系统

时间: 2024-08-28 11:39:05

兴奋~~~~的相关文章

兴奋期

结束了第二次出差,躺在酒店的床上,一边在网上搜着简历,一边回顾着来新公司近3个月时间的工作,内心感触颇多. 目前主要就两件事情,招人和项目,从整体情况来看均不理想,内心的激情也在慢慢消退,需要重新调整节奏与心情,点燃心中的激情,需时刻提醒不忘初心. 人员方面惨不忍睹,人没招进来一个还走了一个,好不容易来了一个打了一个星期酱油也撤了,二线城市的就业情况确实不容乐观.面试了几个还不错的,临近入职也出现变卦,屋漏偏逢连夜雨,真是应了南方梅雨季节的实景. 项目方面在人员短缺的情况下也只是缓慢推进,跟预期

初次拿到板子的兴奋

今天,DE2-115终于拿到手了,按捺不住内心的兴奋,马上试验一下. 一个简单的流水灯程序对照书本写好之后,遇到的第一个问题是如何将程序烧进芯片.不过还好,手头资料算是比较充足的. 1.程序很简单: //======================================================= // This code is generated by Terasic System Builder //======================================

JS运动从入门到兴奋1

hello,我是沐晴,一个充满了才华,却靠了照骗走江湖的前端妹子.在这个充满PS的年代,这你们都信,哈哈,废话不多说,今天要分享的是关注JS运动的知识.楼主一直认为,不管学习什么,核心思想才是王道,掌握了思想,不管需求怎么改变,我们都能把它玩弄于股掌之中...下面我们就由浅入深走进运动的世界吧. 首先来看最基础的运动:单个物体向右匀速运动到某一点停止      例子:一个按钮,一个div,点击按钮,让div向右运动到某一个位置暂停 // 原理: 1 获取物体当前的位置 oDiv.offsetle

轰6K机长称遇外机干扰就兴奋:靠近点 给你拍照!ty

土耳其媒体公布了嫌疑人的照片,并称是从警方获得的. "学完之后就飞出去谈,谈完回来再思考,我就当作是教学相长."渐渐地,曾宪章发现,老师有时甚至还会请他来讲授实际经验,而他也不再只是"技术宅",销售.财务.行政,都有所了解.再面对市场时,他已然更加自信从容. 毕沙罗.莫奈和西斯莱<英国房产投资指南>总编辑范慧勇接受采访时表示,受"脱欧"的不确定性影响,今年英国住宅市场将持续当前的低迷行情.机构大多预测今年英国平均房价上涨将停滞,仅有伦

轰6K机长称遇外机干扰就兴奋:靠近点 给你拍照!f2

无论是在欧洲,还是在亚洲和非洲,只要是在罗马帝国的版图内,城市不论大小,但都呈现出某些共同的罗马化外观,如科学的排水系统,设计精巧的水道,铺砌讲究的街道,大理石的公共建筑.雕像和拱门,住宅里装饰着壁画和马赛克等.城市化运动促进了罗马文明的传播,加速了行省的罗马化. 3.2016中国节炫丽东瀛,展示热情中国.开心中国.潮流中国.在一片忙乱中,一些工作人员将他们刚刚做成的东西放到餐厅,厨房员工则为新上任的总统一家准备就职舞会前的点心. 中新网1月4日电 据外媒报道,极端组织"伊斯兰国"(I

Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性

由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主要是指OC代码与Swift代码相互转换),不过苹果仍然很欢迎开发者用Objective-C来完成工作. 在这篇文章中,我们就来看看Objective-C中新添加的类属性.Objective-C 类属性摘自 Xcode 8正式版中的说明:Objective-C now supports class p

自主编写的新书出版2个月,竟然上了51cto读书频道的动态首页,兴奋中!

51CTO读书频道首页: <云数据中心构建实战:核心技术.运维管理.安全与高可用> 这是一本从实践角度系统.深度讲解如何构建和运营大规模云数据中心的著作,也是国内第一本关于云计算中心的专著,作者从事运维工作近10年,是作者在云计算和数据中心领域实践经验的总结.以传统数据中心开篇,第1章介绍了传统数据中心的等级与分类.规划与设计.管理和运维的目标与范畴.运营要求,目的是指导读者构建规范化的数据中心.第2章着重介绍了云计算的理念.优势,以及因地制宜的云选型,并对广大读者关注的云风险.云怀疑论进行批

【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)

算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<vector> 5 #include<cmath> 6 #include<sstream> 7 #include<iostream> 8 using namesp

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青