用结构体数组做计算、

/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:score.cpp                           
* 作    者:                            
* 完成日期: 2013 年 3 月 9  日
* 版本号: v1.0      
* 输入描述:
*/
#include <fstream>   //操作文件必写
#include<iostream>
using namespace std;
struct Student
{
	char num[14];
	char name[30];
	int cpp;
	int math;
	int english;
	int score;
};
void sort(Student [],int );
void output(Student [],int );
void obtain(Student [],int );
int main( )
{ 
	Student student[200];
	int i; 
	int stuNum=0;
	//以输入的方式(ios::in)打开文件,注意f1.dat必须在文件夹中存在
	ifstream infile("score.txt",ios::in);
	//测试是否成功打开,打开失败时(如要读的数据文件不存在)退出
	if(!infile)       
	{
		cerr<<"open error!"<<endl;
		exit(1);
	}
	while (!infile.eof())  
    {  
		infile>>student[stuNum].num>>student[stuNum].name>>student[stuNum].cpp>>student[stuNum].math>>student[stuNum].english; 
		++stuNum;//从文件中读取数据,类似cin>>a,只不过来源是打开的文件
		
	}
	for(i=0;i<stuNum-1;i++)
	{
		student[i].score=student[i].cpp+student[i].math+student[i].english;
		cout<<student[i].num<<'\t'<<student[i].name<<'\t'<<student[i].cpp<<'\t'<<student[i].math<<'\t'<<student[i].english<<'\t'<<student[i].score<<endl; 
	}
	cout<<"学号"<<'\t'<<'\t'<<"姓名"<<'\t'<<"c++"<<'\t'<<"高数"<<'\t'<<"英语"<<'\t'<<"总分"<<endl;
	sort(student,stuNum);//按总成绩排序
	output(student,stuNum);//输出排序后的成绩
	obtain(student,stuNum);
	infile.close();    //读入完毕要关闭文件
	return 0;
}  
void sort(Student student[],int stuNum)
{
	int i,j;
	int t;
	for(j=0;j<stuNum-1;j++)
		for(i=0;i<stuNum-j;i++)
			if(student[i].score<student[i+1].score)
			{
				t=student[i].score;
				student[i].score=student[i+1].score;
				student[i+1].score=t;
			}
}
void output(Student student[],int stuNum)
{
	int i;
	cout<<"按总成绩排序后为:"<<endl;
	for(i=0;i<stuNum-1;i++)
	{
	  cout<<student[i].num<<'\t'<<student[i].name<<'\t'<<student[i].cpp<<'\t'<<student[i].math<<'\t'<<student[i].english<<'\t'<<student[i].score<<endl;
	}
}
void obtain(Student student[],int stuNum)
{
	int i,count;
	cout<<"获得奖学金的同学有:"<<endl;
    for(i=0;i<stuNum;i++)
	{
		if(student[i].cpp>=60 && student[i].english>=60 && student[i].math>=60)
			count++;
	}
	for(i=0;i<30;i++)
		cout<<student[i].name<<'\t';
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值