`
java-mans
  • 浏览: 11452637 次
文章分类
社区版块
存档分类
最新评论

第17周报告1---学会利用结构数组

 
阅读更多

第17周报告1:
实验目的:学会利用结构数组

实验内容:定义一个结构数组,并对学生成绩进行排序。
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br> * 作<wbr><wbr><wbr><wbr><wbr><wbr> 者:<wbr><wbr><wbr><wbr>雷恒鑫<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br> * 完成日期:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>2011<wbr><wbr> 年<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>12 月<wbr><wbr>15<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 日<br> * 版本号:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> V1.2<br><br> * 对任务及求解方法的描述部分<br> * 输入描述:从文件中读入学生数据</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

* 问题描述:如何利用结构数组对学生成绩进行排序。

* 程序输出:排序后的结果
* 程序头部的注释结束(此处也删除了斜杠)

#include <fstream>
#include <iostream>
#include "string"
using namespace std;
struct subject
{
<wbr>double chinese;<br><wbr>double math;<br><wbr>double english;<br> };<br> struct student<br> {<br><wbr>char num[13];<br><wbr>string name;<br><wbr>subject grade;<br><wbr>double score;<br> };<br> student stu[180];<br> void bubble_sort (student stu[], int num);<br> void output_array (student stu[], int num);<br> int main()<br> {<br><wbr>int i;<br><wbr>ifstream infile("score.txt",ios::in);<br><wbr>if (!infile)<br><wbr>{<br><wbr> cerr&lt;&lt;"open error!"&lt;&lt;endl;<br><wbr> exit(1);<br><wbr>}<br><wbr>for(i=0;i&lt;180;i++)<br><wbr>{<br><wbr> infile&gt;&gt;stu[i].num&gt;&gt;stu[i].name&gt;&gt;stu[i].grade.chinese&gt;&gt;stu[i].grade.math&gt;&gt;stu[i].grade.english;<br><wbr> stu[i].score=stu[i].grade.chinese+stu[i].grade.math+stu[i].grade.english;<br><wbr>}<br><wbr>infile.close();<br><wbr>bubble_sort (stu,180);<br><wbr>cout&lt;&lt;endl;<br><wbr>output_array (stu,30);<br><wbr>cout&lt;&lt;"<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ";<br><wbr>return 0;<br> }<br> void bubble_sort(student stu[], int num)<br> {student student1;<br> int i,j;<br> for(j=0;j&lt;num-1;j++)<br> for(i=0;i&lt;num-1-j;i++)<br> if(stu[i].score&lt;stu[i+1].score)<br> {<br><wbr><br><wbr>student1=stu[i];<br><wbr>stu[i]=stu[i+1];<br><wbr>stu[i+1]=student1;<br> }<br> cout&lt;&lt;"<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ****** 排序后的成绩单 ******<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> "&lt;&lt;endl;<br> cout&lt;&lt;endl;<br> cout&lt;&lt;"       "&lt;&lt;"学号"&lt;&lt;"<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> "&lt;&lt;"姓名"&lt;&lt;"  <wbr> "&lt;&lt;"C++"&lt;&lt;"<wbr><wbr><wbr> "&lt;&lt;"语文"&lt;&lt;"<wbr><wbr><wbr> "&lt;&lt;"英语"&lt;&lt;"<wbr><wbr><wbr> "&lt;&lt;"总分"&lt;&lt;endl;<br> cout&lt;&lt;endl;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

for(i=0;i<180;i++)
{
<wbr><wbr><wbr><br><wbr>cout&lt;&lt;"<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> "&lt;&lt;stu[i].num&lt;&lt;"<wbr><wbr><wbr><wbr><wbr> "&lt;&lt;stu[i].name&lt;&lt;'\t'&lt;&lt;stu[i].grade.chinese&lt;&lt;'\t'&lt;&lt;stu[i].grade.math&lt;&lt;'\t'&lt;&lt;stu[i].grade.english&lt;&lt;'\t'&lt;&lt;stu[i].score&lt;&lt;endl;<br> }<br> return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

void output_array(student stu[], int num)
{
<wbr>int i=0,j=0;<br><wbr>cout&lt;&lt;"<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ****** 获得奖金同学的名单 ******"&lt;&lt;endl;<br><wbr>cout&lt;&lt;endl;<br><wbr>do<br><wbr>{<br><wbr> if(stu[i].grade.chinese&gt;=60 &amp;&amp; stu[i].grade.math&gt;=60 &amp;&amp; stu[i].grade.english&gt;=60)<br><wbr> {<br><wbr><wbr><br><wbr><wbr> cout&lt;&lt;stu[i].name&lt;&lt;'\t';<br><wbr><wbr> j++;<br><wbr> }<br><wbr> i++;<br><wbr> if(i&gt;180)<br><wbr> {<br><wbr><wbr> cout&lt;&lt;"按学校规定,获得奖金的同学不足30人,只有"&lt;&lt;j&lt;&lt;"人";<br><wbr><wbr> exit(1);<br><wbr> }<br><wbr>}while(j&lt;num);<br><wbr>cout&lt;&lt;endl;<br><wbr>return;<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

运行结果:

第17周报告1---学会利用结构数组

第17周报告1---学会利用结构数组


经验积累:
1.如果想要对结构数组stu[i]排序需定义一个结构体变量student student1。

2.

3.

上机感言:
原来表格可以用结构数组做出来,

结构数组功能挺强大的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics