第17周 任务二
来源:互联网 发布:虚拟机流畅运行mac 编辑:程序博客网 时间:2024/06/05 09:09
实验目的:学会建立动态链表实验内容:学会建立动态链表* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称: 动态链表 * 作 者: 薛广晨 * 完成日期: 2011 年 12 月 15 日* 版 本号: x1.0 * 对任务及求解方法的描述部分* 输入描述:数据来自score.txt* 问题描述:(1)结构体中的成员多些;(2)从文件中读入数据;(3)一边读数据一边得计算总分,为计算总分的平均值也得做些准备;(4)并不是输出所有的节点* 程序输出:所有的节点* 程序头部的注释结束(此处也删除了斜杠)//下面是程序#include <fstream>#include"iomanip"#include<string>#include<iostream>using namespace std;struct Student{ string num; char name[12]; double grade[3]; double score; struct Student *next;};int num=180; Student *head=NULL,*p,*q;int main(){ //从文件读入学生成绩的结构体数组; //下面的程序建立起一个有180个节点的动态链表 ifstream infile("score.txt",ios::in); for(int i=0;i<num;i++) { p = new Student; if(!infile) { cerr<<"open error!"<<endl; exit(1); } { infile>>p->num>>p->name>>p->grade[0]>>p->grade[1]>>p->grade[2]; p->score=p->grade[0]+p->grade[1]+p->grade[2]; } p->next=NULL; if (i==0) head=p; else q->next=p; q=p; } infile.close(); //输出所有的节点 p=head; cout<<"学号"<<'\t'<<'\t'<<setiosflags(ios::left)<<setw(9)<<"姓名"<<setw(7)<<"C++"<<setw(8)<<"高数"<<setw(8)<<"英语"<<setw(8)<<"总分"<<endl; while(p!=NULL) { cout<<p->num<<" "<<setw(8)<<p->name<<": "<<p->grade[0]<<"\t"<<p->grade[1]<<"\t"<<p->grade[2]<<"\t"<<p->score<<endl; p=p->next; } return 0;}
运行结果:
(贴图)
经验积累:
1.动态链表把所有的数都连了起来,只用找到头所有的都出来啦
2.链表就像是螳螂捕蝉黄雀在后啊
上机感言:链表很爽啊,只要是找到头谁都跑不了啊
- 第17周 任务二
- 第17周 任务二(完整版)
- 第6周实验报告任务二
- 第6周实验报告任务二
- 第8周实验报告任务二
- 第10周实验报告任务二
- 第4周任务二-三角形类
- 第14周项目一任务二
- 第16周项目2-任务二
- 第一周任务二
- 第四周 任务二
- 第四周任务二
- 第四周任务二
- 第四周 任务二
- 第四周任务二
- 第四周任务二
- 第四周任务二
- 第四周 任务二
- Python Collection 小技巧
- 使用android中drawline函数无法绘制水平线的解决办法
- 第17周 任务一
- 虚函数的学习
- MySQL batch 命令与transcation
- 第17周 任务二
- Fatal error: Call to undefined function mysql_connect()
- HTML5 移动开发框架
- 利用交叉测试提升软件测试效率
- 讨论:GUID与int自增列的问题
- android2.3 电话接听解决方法
- iOS5新开发的API总述——WWDC 2011
- 第17周 任务二(完整版)
- 2012/2/3 《C++ Primer Plus》第十四章:C++中的代码重用 学习笔记