第17周报告1:
实验目的:
实验内容:
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 于昊
* 完成日期: 2011 年 12 月 17
日
* 版 本号:
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:* 程序头部的注释结束(此处也删除了斜杠)
#include <fstream>
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
void cinscore(int num);
void selectsort(int num);
void printsort(int num);
void selectstu(int num);
struct Student
{char num[12];
string name;
int grade[4];
};
Student stu[180];
int main()
{
cinscore(180);
selectsort(180);
cout<<"排序之后的成绩是:"<<endl;
printsort(180);
selectstu(30);
return 0;
}
void cinscore(int num)
{int j;
ifstream infile("score.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(j=0;j<180;j++)
{
infile>>stu[j].num>>stu[j].name>>stu[j].grade[0]>>stu[j].grade[1]>>stu[j].grade[2];
stu[j].grade[3]=stu[j].grade[0]+stu[j].grade[1]+stu[j].grade[2];
}
infile.close();
}
void select(int num)
{
int i,k,t;
for(i=0;i<num;i++)
if(stu[i].grade[3]<stu[i+1].grade[3])
{
stu[i].grade[3]=t;
stu[i+1].grade[3]=stu[i].grade[3];
t=stu[i+1].grade[3];
{
}
void printsort(int num)
{
int j;
cout<<"学号"<<" "<<setiosflags(ios::left)<<setw(9)<<"姓名"<<setw(7)<<"C++"<<setw(8)<<"高数"<<setw(8)<<"英语"<<setw(8)<<"总分"<<endl;
for(j=0;j<180;j++)
{
cout<<stu[j].num<<" "<<setw(8)<stu[j].name<<": "<<stu[j].grade[0]
<<"\t"<<stu[j].grade[1]<<"\t"<<stu[j].grade[2]<<"\t"<<stu[j].grade[3]<<endl;
}
cout<<endl;
}
void selectstu(int num)
{
int i,j=0;
cout<<"获得奖学金的同学是:"<<endl;
for(i=1;i<=30;i++)
{
if(stu[j].grade[1]&&stu[j].grade[2]&&stu[j].grade[3]>=60)
{
cout<<setw(8)<<stu[j].name;
if(i%5==0)
cout<<endl;
}
j++;
}
}
运行结果:(贴图)
经验积累:
1.结构体可以定义为数组的形式 访问一个具体的变量是用“.”连接 逐级查找2.不需要再定义grade里的科目,直接定义就行
3.可以在接受数据时直接将数组中的元素相加
上机感言:感觉不大好