资源简介
一.问题描述
对2006年度全国80多个城市的每天空气质量状况进行查询、排序等操作。
空气质量状况对象包括城市代码、城市名称、首要污染物、污染指数、污染物级别、空气状况、年、月、日
二、实验要求
1. 普通查询:输入城市名称和城市代码,分别查询该城市每天、每周、每月、每季度和全年的空气质量状况
例子:查询太原市2006年第8周的空气质量状况
2.统计查询:
(1)输入城市名称和城市代码,分别查询该城市每周、每月、每季度和全年的空气质量为优、良、轻微污染、轻度污染、重污染的天数
例子:查询石家庄市2006年第2季度空气质量为轻微污染的总天数
(2)根据时间查询空气质量状况:输入周编号、月编号、季度编号或年编号,以及空气质量为优、良、轻微污染、轻度污染、重污染的天数,查找相应的城市名称
例子:查询2006年5月,空气被轻度污染3天以上的城市有哪些?
3.排序查询
(1)输入周编号、月编号、季度编号或年编号,查询城市空气质量的排行榜
例子:查询2006年第6周,全国空气平均质量最好的前20个城市为哪些?
代码片段和文件信息
#include
#include
#include
using namespace std;
//变量定义
int data_sum=0cmd;
int mstmeddstded;
struct airData{
string city_numcity_name;
string pul_namepul_rank;
string air_state;
int pul_numyearmonthday;
}data[30000];
string City[100]CityN[100];
int city_sum=0;
//程序
void CountWeek(int week){
int add[13]={0312831303130313130313031};
mst=med=1;
dst=1;ded=7;
week--;
while(week--){
mst=med;
dst=ded;
ded+=6;
if(ded>add[med]){
ded-=add[med];
med++;
}
}
}
void Print(int p){
cout< cout< cout<<“首要污染物 [“< cout<<“污染物级别 [“<}
void ReadData(){//从“data.txt“读入原始数据
int imark;
ifstream fin;
fin.open(“data.txt“);
cout<<“数据读入中请稍候……“<
while(! fin.eof()){
fin>>data[data_sum].city_num>>data[data_sum].city_name;
fin>>data[data_sum].pul_name>>data[data_sum].pul_num;
fin>>data[data_sum].pul_rank>>data[data_sum].air_state;
fin>>data[data_sum].year>>data[data_sum].month>>data[data_sum].day;
mark=0;
for(i=0;i if(City[i]==data[data_sum].city_name){
mark=1;
break;
}
if(!mark){
City[city_sum]=data[data_sum].city_name;
CityN[city_sum]=data[data_sum].city_num;
city_sum++;
}
if(data[data_sum].year==data[data_sum-1].year &&
data[data_sum].month==data[data_sum-1].month &&
data[data_sum].day==data[data_sum-1].day);
else
data_sum++;
}
fin.close();
cout<<“数据读入完毕!“< }
void PrintData(){//数据输出(读入测试)
int i;
for(i=0;i<=data_sum;i++){
cout< cout< cout< cout< }
}
void help(){
cout<<“操作代码如下:“< cout<<“1.普通查询“< cout<<“2.统计查询“< cout<<“3.排序查询“< cout<<“4.退出“< }
int CheckCity(string str){
int i;
for(i=0;i if(data[i].city_name==str || data[i].city_num==str)
return i;
return -1;
}
void Search_Common(){//普通查询
string str;
int ijwayddmmwwssfind;
cout< cout< cin>>str;
cout<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1198521 2010-11-29 17:01 data.txt
文件 903 2011-03-08 18:25 problem.txt
文件 27463 2010-12-21 22:41 Air_Quality.cpp
文件 650666 2010-12-21 22:41 Air_Quality.exe
----------- --------- ---------- ----- ----
1877553 4
- 上一篇:垃圾邮件数据集
- 下一篇:C51与ADXL345通信外加上位机显示程序
评论
共有 条评论