第十四周项目 2 带姓名的成绩单(从文件中输入成绩,成绩姓名排序)
2014-11-27 16:51
274 查看
/* *Copyright (C) 2014,烟台大学计算机学院 *All rights reserved. *文件名称 :mian.cpp *作 者 :韩娟 *完成日期 :2014年11月27日 *版 本 号 :v1.0 * *问题描述 : 从文件中读入成绩,按成绩高低输出,和按姓名排序输出 *输入描述 :略 *程序输出 :按成绩高低输出,和按姓名排序输出 */ #include <fstream> //操作文件必写 #include<cstdlib> //调用exit(1)需要包含cstdlib #include<iostream> #include<string> using namespace std; const int num=94; int main() { int i=0,j=0,t,a=0; string temp,name[num]; double score[num]; ifstream infile("score.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } for(i=0; i<num; i++) { infile>>name[i]; infile>>score[i]; if(name[i]=="") break; a++; } infile.close(); cout<<"同学们按成绩排名为:"<<endl; for(i=0; i<a-1; ++i) { for(j=0; j<a-i-1; ++j) if(score[j]>score[j+1]) { t=score[j]; score[j]=score[j+1]; score[j+1]=t; temp=name[j]; name[j]=name[j+1]; name[j+1]=temp; } } for(j=0; j<num; ++j) { cout<<name[j]<<":"<<score[j]<<endl; } cout<<endl; cout<<"同学们按姓名排序为:"<<endl;//(2)按姓名排序并输出结 for(i=0; i<a-1; ++i) { for(j=0; j<a-i-1; ++j) if(name[j]>name[j+1]) { temp=name[j]; name[j]=name[j+1]; name[j+1]=temp; t=score[j]; score[j]=score[j+1]; score[j+1]=t; } } for(j=0; j<num; ++j) { cout<<name[j]<<":"<<score[j]<<endl; } }
知识点总结 :
这个程序用到了读入程序的知识点,一开始是要现在前面把所有的文件数据都读入,然后才开始写后面的程序,主要是前面的文件读入,要用一个for循环语句来进行会比较容易,其他的和上一个程序没有什么区别。
学习心得 :
写这个程序的时候明白了温故而知新的重要性,一定要及时复习前面的知识点,才能更好的写出程序。
相关文章推荐
- 第十四周 项目2.3 带姓名的成绩单(从文件中读取数据然后经过成绩排序姓名排序处理)
- 第十四周项目二 带姓名的成绩单(按成绩排序与按姓名排序)
- 第十四周项目2-带姓名的成绩单(按成绩从大到小排序)
- 第十四周项目2.1带姓名的成绩单按成绩排序输出
- 求助!!!第十四周项目二(3)从文件读入带姓名的成绩单
- 第14周项目2.3 从文件中读取成绩按成绩排序的成绩单
- 第十四周项目 2 带名字的成绩单(按成绩和姓名输出)
- 第十四周 【项目2-用文件保存的学生名单】若干名学生的学号 姓名和C++课、高数和英语成绩
- 第十四周项目2-带姓名的成绩单(按姓名排序)
- 第十四周项目2-从文件中读取姓名成绩
- 第十四周项目二(3)从文件读取成绩,并输出成绩单
- 第十四周上机项目2--(2) 带姓名的成绩单 按同学姓名排序
- 第十四周项目2--成绩处理(改进版,能输入,输出学生姓名)
- 第十四周上机项目2--(1) 带姓名的成绩单 按成绩排序
- c语言学习之结构篇代码演示样例-输入n个同学的姓名,数学英语成绩,依照平均分从低到高排序并输出
- 第十四周项目3-多科成绩单(1求总分、2输出各科成绩)
- 第十四周项目二——带姓名的成绩单
- 第十四周 项目二:带姓名的成绩单(2.1&2.2)
- 第十四周项目二—带姓名的成绩单