第十七周实验报告一(所有同学的成绩表等用结构体做)
2012-02-23 22:33
369 查看
实验目的:学会利用结构体
实验内容:所有同学的成绩表等用结构体做
* 程序头部注释开始
上级感言:这个程序对我来说真很难;
实验内容:所有同学的成绩表等用结构体做
* 程序头部注释开始
* 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者:冯珍珍 * 完成日期: 2011年 12 月 18日 * 版本号: #include <fstream> #include<iostream> #include <iomanip> #include <string> using namespace std; struct student { char num[12]; string name; int grade[3]; int sum; }; int main( ) { void open_file(student *p); //从文件中读取数据 void select_score(student *p); //对数据进行排序 void show_score(student *p);//输出降序后的数据 void school_reward(student *p);//输出获得奖学金的同学名单。 student student[180],score,*p; p=student; open_file(p); select_score(p); cout<<"学号为"<<setw(16)<<"人名"<<setw(8)<<"c++"<<setw(8)<<"高数"<<setw(8)<<"英语"<<setw(8)<<"总成绩"<<endl; show_score(p); cout<<"获得奖学金的同学名单为:"<<endl; school_reward(p); return 0; } //定义从文件输入函数; void open_file(student *p) { int j; ifstream infile("score.txt",ios::in); if(!infile) { cerr<<"open error!"<<endl; exit(1); } for(j=0;j<180;j++) { infile>>(p+j)->num>>(p+j)->name>>(p+j)->grade[0]>>(p+j)->grade[1]>>(p+j)->grade[2];//读入学生成绩; (p+j)->sum=((p+j)->grade[0]+(p+j)->grade[1]+(p+j)->grade[2]); } infile.close(); } //定义函数; void show_score(student *p) { for(int j=0;j<180;j++) { cout<<(p+j)->num<<" "<<setw(8)<<(p+j)->name<<setw(8)<<(p+j)->grade[0] <<" "<<(p+j)->grade[1]<<" "<<(p+j)->grade[2]<<"\t"<<(p+j)->sum<<endl; } cout<<endl; } //定义排序函数; void select_score(student *p) { int i,j; student score; for(i=0;i<179;i++) for(j=0;j<179-i;j++) { if((p+j)->sum<(p+j+1)->sum) { score=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=score; } } } //找出得奖学金的学生; void school_reward(student *p) { for(int j=0;j<30;j++) { if((p+j)->grade[0]>=60&&(p+j)->grade[1]>=60&&(p+j)->grade[2]>=60) { if(j%5==0) cout<<endl; cout<<setw(8)<<(p+j)->name<<" "<<setiosflags(ios::left); } else j--; } }
上级感言:这个程序对我来说真很难;
相关文章推荐
- 《C++第十七周实验报告1-1》---学生成绩处理:保存为二进制文件
- 《第十七周实验报告任务1——学生成绩处理:保存为二进制文件》
- 第十七周实验报告--学生成绩处理
- 第十七周实验报告二( 动态链表处理成绩 )
- 第十七周实验报告(任务二)
- 第十七周实验报告1
- 第十四周实验报告二(用循环控制语句编写程序 学生人数和成绩)
- 《第十七周实验报告》报告3---揭开你生世的秘密
- 第十七周实验报告(任务三)
- 编写一个程序,要求用户输入最多10个高尔夫成绩,并将其存储在一个数组中。 程序允许用户提早结束输入,并在一行上显示所有成绩,然后报告平均成绩。 请使用3个数组处理函数来分别进行输入、显示和计算
- 50个查询系列-第8个查询:查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;
- 第十七周实验报告(2)
- 第十七周实验报告
- C++程序设计实验报告(八十四) --- 第十七周任务一
- 第十七周实验报告(3)
- 第十七周实验报告1
- 第十七周C++【报告一】学生成绩处理:保存为二进制文件
- 第十七周项目4-日期结构体(2 两同学生日差几天?)
- 第十七周实验报告2
- 第12周实验报告1(1000以内的所有完数 )