第二周(项目三)——文件+结构体实现实用系统。<总是不对,求大神指点迷津!!>
2014-03-11 21:02
225 查看
/* 02.烟台大学计算机学院学生 03.*All rights reserved. 04.*文件名称:文件+结构体实现实用系统 05.*作者:王洪海 06.*完成日期:2013年3月8日 07.*版本号:v1.0 08.*对任务及求解方法的描述部分::文件+结构体实现实用系统 09. 10.我的程序: 11.*/ #include <iostream> #include <fstream> #include<cstdlib> using namespace std; struct Student { char num[13]; char name[10]; int cpp; int math; int english; int score; double average; }; Student stu[100]; void sort(Student [],int ); void output(Student [],int); void outputExcellent(Student [],int); int main () { int i,stunum=0; ifstream infile("score.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } i=0; while(infile>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english) { stu[i].score=stu[i].cpp+stu[i].math+stu[i].english; stu[i].average=stu[i].score/3; i++; stunum++; } cout<<"各位同学的总分:"<<endl; sort(stu,stunum); cout<<"下面是成绩单:"<<endl; cout<<"学号"<<"\t"<<"\t"<<"姓名"<<"\t"<<"c++"<<"\t"<<"高数"<<"\t"<<"英语"<<"\t"<<"总分"<<"\t"<<"平均分"<<endl; output( stu,stunum); cout<<"优秀者名单:"<<endl; outputExcellent(stu,stunum); return 0; } void sort (Student s[],int n) { int i,j; Student t; for(j=0;j<n-1;j++) for(i=0;i<n-j-1;i++) if(s[i].score<s[i+1].score) { t=s[i]; s[i]=s[i+1]; s[i+1]=t; } for(i=0;i<n;i++) cout<<s[i].name<<"\t"<<s[i].score<<endl; } void output(Student s[],int n) { int i; for(i=0;i<n;i++) cout<<s[i].num<<"\t"<<s[i].name<<"\t"<<s[i].cpp<<"\t"<<s[i].math<<"\t"<<s[i].english<<"\t"<<s[i].score<<"\t"<<s[i].average<<endl; } void outputExcellent(Student s[],int n) { int num=0,i; sort(s,n); for(i=0;i<n;i++) { if(s[i].cpp>=60&&s[i].math>=60&&s[i].english>=60) { num++; cout<<s[i].num<<"\t"<<s[i].name<<"\t"<<s[i].cpp<<"\t"<<s[i].math<<"\t"<<s[i].english<<"\t"<<s[i].score<<"\t"<<s[i].average<<endl; if(num=30) break; } } }
文件照片如下:
运行结果,如下图:
大神大神,拜托了!!!!
相关文章推荐
- 第二周上机实践项目——文件+结构体实现实用系统
- 第九周【项目1】在第8周项1的基础上(1)再定义一目运算符 -,-c相当于0-c(2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然
- <项目开发>简单的题库管理系统
- 写一个MyList<T>的类,内部用T[]实现(不能使用系统的List<T>类),需要实现的接口如下:
- <2015年大一C++实训项目>银行储蓄系统
- (&lt;虚拟项目&gt;广告管理投放系统-2)Sql Server 2008 R2主数据管理系统的安装和配置
- <为知更新>Android系统如何实现UI的自适应
- 面试项目<一>_交通灯管理系统
- 两步实现Log4j记录java控制台输出的系统所有异常信息和自定义记录日志---->非常实用,强烈推荐阅读
- Android实战简易教程<四十七>(ListView多选-实现点餐系统)
- 项目day02--<客户上下线时间程序实现>(中)
- <Unity UGUI> 在Unity5 的UGUI系统上实现图片的遮罩
- 面试项目<二>_银行业务调度系统
- (&lt;虚拟项目&gt;广告管理投放系统-1)技术体系结构
- 项目day01--<客户上下线时间程序实现>(上)
- [转载]使用Express3.0实现<Node.js开发指南>中的微博系统
- Spring AOP的实现原理之<aop:aspectj-autoproxy />的解析
- Grub2Dos开机无法进入系统,总是grub>
- Linux学习笔记_系统输入输出标准(重定向,>,>>,<,2>&1,xargs)
- <项目日志1001>ipcamera for android项目准备更新