亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? weather.cpp

?? This Project gives a complete idea for user to learn how to create live project with a specific user
?? CPP
字號:
//Weather Temperature Recording Project
//Programmed by : Vivek Patel


//For bugs plz. contact me ---->
//Email : vivek_patel9@rediffmail.com
//Website : www.vivekpatel.cjb.net


//Some facts about project
//->It stores a data file in c:\ (user can change it's to form relative but for sake of simplicity i have taken absolute path).
//->This project is strickly for novice to get familiar with file concepts.
//->Still it find difficulty than feel free to contact me.


#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
#include <string.h>


fstream file;
char year[5]="";

//Non-Member function to find month, to avoid user data-entry
char *returnMonth(int m){
	switch(m){
		case 1 : return("January");
		case 2 : return("February");
		case 3 : return("March");
		case 4 : return("April");
		case 5 : return("May");
		case 6 : return("June");
		case 7 : return("July");
		case 8 : return("August");
		case 9 : return("September");
		case 10 : return("October");
		case 11 : return("November");
		case 12 : return("December");
	}
	return("Invalid");
}

//Non-Member functions, checks for whether file is loaded or not
//it returns 1 if not loaded and 0 otherwise.
int checkFile(){
	if(file==NULL){
	   cout<<"\nThere is No Data to Display\n";
	   getch();
	   return(1);
	}
	return(0);
}

class weather
{
     public:
     double avgtemp[12];
     char month[12][20];
     weather();
     void getdata(int m){ //simple getdata...
	 strcpy(month[m],returnMonth(m)); //avoiding user to input
	 cout<<"\nEnter temperature for "<<month[m]<<" : ?\b";
	 cin>>avgtemp[m];
     }
     void displaydata(int m){ //simple displaydata
	 cout<<setw(20)<<setprecision(2)<<setiosflags(ios::left)
	     <<setiosflags(ios::showpoint)
	     <<month[m]<<setw(10)<<setiosflags(ios::right)<<avgtemp[m];
     }
     void displaytemp(int i){ //Display only Temperature data
	  cout<<setw(10)<<setprecision(2)<<setiosflags(ios::right)
	      <<setiosflags(ios::showpoint)<<avgtemp[i];
     }
     double returntemp(int i){
	  return(avgtemp[i]);
     }
     void loadfile();
     void displaytempscale(); //for displaying temperature scale
     void updatedata(int m,double t)
     {
	strcpy(month[m],returnMonth(m));
	avgtemp[m]=t;
     }
     int validate(double t){ //Validate entered temperature (change to suit ur requirement).
	if(t>55 || t < (-20))
	   return(1); //states that invalid entry
	else
	   return(0); //valid entry
     }
};

weather :: weather(){  //Constructor to intialize object
	for(int i=0;i<12;i++)
	{
		avgtemp[i]=0;
		month[i][0]=NULL;
	}
}

void weather :: loadfile(){  //for Selecting Year or creation of new year file.
	clrscr();
	file.close(); //It is required when trying to open different year files,
		     //while there is already loaded any year file.
	char filename[20]="";
	cout<<"\n*****Select a Year to Work With*****\n\n";
	cout<<"Enter Year (eg: 2001)  : ?\b";
	cin>>year;
	strcat(filename,"c:\\"); //Here i am assuming that path must be c:\
	strcat(filename,"data"); //if u wan't to skip that criteria just remove this lines.
	strcat(filename,year);
	strcat(filename,".dat");
	file.open(filename,ios::ate|ios::nocreate|ios::in|ios::out|ios::binary);
	if(file==NULL){
		char ans;
		cout<<"\nFile Dose Not Exist\n"
		    <<"Do you wan't to create it! (y or n) N : ?\b"; //By default No
		ans=getche();
		if(ans=='y'|| ans=='Y'){
		   file.open(filename,ios::ate|ios::in|ios::out|ios::binary);
		   cout<<"\n\nFile Created Successfully";
		}
		else{
		   file;
		   cout<<"\n\nFail to load data file";
		}
	}
       else if(file!=NULL){
		cout<<"\nData File is successfully loaded";
       }
       getch();
}

void weather :: displaytempscale(){
	int i,c=0;
	cout<<"\n\n";
	for(i=1;i<=70;i++)
	{
	   if(i<=10)
	      cout<<"0";
	   else if(i<=20)
	      cout<<"1";
	   else if(i<=30)
	      cout<<"2";
	   else if(i<=40)
	      cout<<"3";
	   else if(i<=50)
	      cout<<"4";
	   else if(i<=60)
	      cout<<"5";
	   else if(i<=70)
	      cout<<"7";
	}
	cout<<"\n";
	for(i=1;i<=7;i++)
	{
	  for(c=0;c<10;c++)
	    cout<<c;
	}
	cout<<"\n";
}

void intro()
{
	clrscr();
	cout<<"\n\n\n\n\n\n\n\n\t\t\t";
	cout<<"Programmed By : Vivek Patel\n"
	    <<"\t\t\tEmail : vivek_patel9@rediffmail.com\n"
	    <<"\t\t\tWebsite : www.vivekpatel.cjb.net";
	cout<<"\n\n\t\t\t";
	cout<<"Thanks for using this software.";
	getch();
}


void main(){
	char choice='1';
	int cnt,i,j,iNum,totstars=0,location,m;
	double decNum,dNum,high=0,low=99999,avg=0,t;
	char c;
	weather obj;
	file.close();
	do{
		clrscr();
		cout<<"\n*****Main Menu*****\n";
		cout<<"1>  Select a year to work with\n"
		    <<"2>  Display data as Table\n"
		    <<"3>  Display data as horizontal histogram\n"
		    <<"4>  Display Yearly Statistics to date\n"
		    <<"5>  Record Data\n"
		    <<"6>  Change Data\n"
		    <<"7>  Save Data\n"
		    <<"0>  Exit\n"
		    <<"Please enter a number (0...7) => ";
		choice=getche();
		//again for sake of simplicity i have directly return code
		//in case brace rather than going for member-function.
		switch(choice){
			case '0' :  intro();
				    goto out;
			case '1' :  obj.loadfile();
				    break;
			case '2' :  clrscr();
				    cout<<"\n*****Display Data as a Table*****\n\n";
				    if(checkFile()){
				       goto endtable;
				     }
				    cout<<"\nTable of Temperature data for "<<year;
				    cout<<"\n\n";
				    file.seekg(0,ios::end);
				    cnt=file.tellg();
				    cnt=cnt/sizeof(obj); //cnt contains how many records previously recorded
				    file.seekg(0,ios::beg);
				    for(i=1;i<=cnt;i++)
				    {
				       if(i==1)
					    cout<<"\nQuater 1 : ";
				       else if(i==4)
					    cout<<"\nQuater 2 : ";
				       else if(i==7)
					    cout<<"\nQuater 3 : ";
				       else if(i==10)
					    cout<<"\nQuater 4 : ";
				       file.read((char *)&obj, sizeof(obj));
				       if(!file.eof()){
					       obj.displaytemp(i);
					}
					file.clear();
				    }
				    getch();
				    endtable:
				    break;
			case '3' :  clrscr();
				    cout<<"\n*****Display Data as a Horizontal Histogram*****\n\n";
				    if(checkFile()){
				       goto endhistogram;
				    }
				    cout<<"Histogram of Temperature data for "<<year;
				    obj.displaytempscale();
				    file.seekg(0,ios::end);
				    cnt=file.tellg();
				    cnt=cnt/sizeof(obj); //cnt contains how many records previously recorded
				    file.seekg(0,ios::beg);
				    for(i=1;i<=cnt;i++)
				    {
				       cout<<"\n"<<setw(15)<<setiosflags(ios::left)<<returnMonth(i);
				       file.read((char *)&obj, sizeof(obj));
				       if(!file.eof()){
					     decNum=obj.returntemp(i);
					     iNum=floor(decNum);
					     dNum=decNum-iNum; //for finding decimal part.
					     totstars=iNum;
					     if(dNum >= 0.5)
						totstars++;
					     for(j=1;j<=totstars;j++)
						cout<<"*";
					     cout<<"  "<<totstars;
					}
					file.clear();
				    }
				    obj.displaytempscale();
				    getch();
				    endhistogram:
				    break;
			case '4' :  clrscr();
				    cout<<"\n*****Display Yearly Statistics to Date*****\n\n";
				    if(checkFile()){
				       goto endstatus;
				    }
				    cout<<"Temperature Statistics data for "<<year;
				    cnt=file.tellg();
				    cnt=cnt/sizeof(obj); //cnt contains how many records previously recorded
				    file.seekg(0,ios::beg);
				    high=avg=0;
				    low=99999;
				    for(i=1;i<=cnt;i++)
				    {
				       file.read((char *)&obj, sizeof(obj));
				       double tmp=obj.returntemp(i);
				       if(!file.eof()){
					     if(high < tmp)
						high=tmp;
					     if(low > tmp)
						low=tmp;
					     avg=avg+tmp;
					}
					file.clear();
				    }
				    avg=avg/double(cnt);
				    cout<<"\n\nHighest Monthly Average : "<<high;
				    cout<<"\nLowest Monthly Average : "<<low;
				    cout<<"\nAverage Yearly Temperature : "<<avg;
				    getch();
				    endstatus:
				    break;
			case '5' :      clrscr();
					cout<<"\n*****Record Data*****\n\n";
					if(checkFile()){
						goto endRecord;
					    }
					else{
					cnt=file.tellg();
					cnt=cnt/sizeof(obj); //cnt contains how many records previously recorded
					if(cnt==12)
					    cout<<"\n\nData-Entry of "<<year<<" is already been done\n";
					for(i=cnt+1;i<=12;i++)
					{
						enteragain:
						cout<<"\nDo u wan't to enter data for "<<returnMonth(i)<<" (Y or N) Y : ?\b";
						c=getche();
						if(c=='n' || c=='N')
						   goto endRecord;
						obj.getdata(i);
						if(obj.validate(obj.returntemp(i)))
						{
						    cout<<"\nInvalid Data Entry\n";
						    goto enteragain;
						}
						cin.get(c);
						file.write((char *) &obj, sizeof(obj));
					}
				     }
				     getch();
				     endRecord:
				      break;
			case '6' :  clrscr();
				    cout<<"\n*****Change Data*****\n\n";
				    if(checkFile()){
				       goto endchange;
				    }
				    else{
					cnt=file.tellg();
					cnt=cnt/sizeof(obj); //cnt contains how many records previously recorded
					tryagain:
					cout<<"\nEnter Month (in digit) whose temperature is to be changed : ?\b";
					cin>>m;
					if(m <= 0 || m > cnt){
					    cout<<"\n\nInvalid Month\n";
					    getch();
					    goto tryagain;
					}
					tempagain:
					cout<<"\nEnter Temperature : ?\b";
					cin>>t;
					if(obj.validate(t))
					 {
					     cout<<"\nInvalid Data Entry\n";
					     goto tempagain;
					 }
					file.seekg(0,ios::beg);
					location= (m-1) * sizeof(obj);
					file.seekp(location);
					obj.updatedata(m,t);
					 cin.get(c);
					file.write((char *) &obj, sizeof(obj))<<flush;
				     }
				     endchange:
				     break;
			case '7' : clrscr();
				   cout<<"\n*****Store the Current Data*****\n\n";
				   if(checkFile()){
					goto endsave;
				    }
				   flush(file);
				   cout<<"\nData in Memory is Saved successfully\n";
				   getch();
				   endsave:
				   break;
			default  : cout<<"\n\nInvalid Input\n";
				   getch();
		}
	}while(choice!='0');
flush(file);
file.close();
clrscr();
out:
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久福利影院| 91在线小视频| 欧美变态口味重另类| 蜜桃视频免费观看一区| 精品理论电影在线| 国产福利91精品一区| 中文字幕国产一区| 91蜜桃在线免费视频| 亚洲国产cao| 日韩欧美一区二区三区在线| 国产米奇在线777精品观看| 亚洲另类色综合网站| kk眼镜猥琐国模调教系列一区二区 | 国产激情91久久精品导航 | 日韩午夜激情视频| 精一区二区三区| 久久久一区二区三区| 懂色中文一区二区在线播放| 亚洲精品写真福利| 欧美一区二区人人喊爽| 国产传媒欧美日韩成人| 亚洲私人影院在线观看| 日韩欧美三级在线| 国产一区二区三区观看| 亚洲天堂av老司机| 5566中文字幕一区二区电影| 国产一区二区h| 日韩1区2区3区| 在线电影一区二区三区| 国产一级精品在线| 一区二区三区 在线观看视频| 欧美精品久久天天躁| 国产精品一区二区在线观看网站| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 色欧美片视频在线观看在线视频| 欧美aaa在线| 中文字幕欧美日韩一区| 欧美日韩国产系列| 成人久久视频在线观看| 日韩精品福利网| 亚洲欧美综合在线精品| 精品日韩在线一区| 色综合欧美在线| 国产一区不卡精品| 天堂精品中文字幕在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品国产乱码久久久久久1区2区| 日本精品裸体写真集在线观看| 狠狠色丁香婷婷综合| 亚洲国产日韩一区二区| 中文无字幕一区二区三区| 日韩一区二区三区在线观看| 91丨九色丨蝌蚪富婆spa| 国产一区二区三区免费在线观看| 亚洲成人av一区二区三区| 国产精品每日更新| 精品国产乱码久久久久久闺蜜| 欧美日韩精品一二三区| av激情亚洲男人天堂| 国产一区二区三区不卡在线观看| 波多野结衣亚洲| 久久精品99久久久| 视频在线在亚洲| 亚洲永久精品国产| 亚洲免费在线观看| 亚洲欧洲三级电影| 欧美激情中文不卡| 久久久精品欧美丰满| 国产精品久久久久久久久久久免费看 | 中文字幕一区二区三区在线播放| 日韩欧美高清dvd碟片| 欧美视频在线播放| 一本到三区不卡视频| a亚洲天堂av| 成人app网站| 丁香另类激情小说| 成人黄色av电影| av电影天堂一区二区在线| 成人性生交大片免费看在线播放 | 亚洲国产成人tv| 一区二区三区产品免费精品久久75| 国产精品美女一区二区| 中文成人综合网| 日韩一区在线看| 一色屋精品亚洲香蕉网站| 中文字幕一区二区在线播放| 中文字幕亚洲区| 久久99热国产| 亚洲在线观看免费视频| 亚洲黄色小视频| 亚洲一区二区av电影| 亚洲成av人影院| 日韩精品亚洲专区| 麻豆精品视频在线观看视频| 久久国内精品自在自线400部| 狠狠色丁香婷综合久久| 国产福利一区二区三区视频| 成人a免费在线看| 欧美岛国在线观看| 国产欧美日产一区| 自拍偷拍国产精品| 午夜精品久久久久影视| 免费成人深夜小野草| 国产乱理伦片在线观看夜一区| 成人午夜私人影院| 91国产精品成人| 欧美一区二区视频在线观看2022| 日韩欧美亚洲国产精品字幕久久久| 久久理论电影网| 136国产福利精品导航| 亚洲第一av色| 国内成人免费视频| 丝袜诱惑亚洲看片| 美腿丝袜在线亚洲一区| 麻豆国产91在线播放| 国产黄人亚洲片| 在线免费观看日本一区| 91精品国产综合久久久久久久 | av在线播放成人| 欧美日韩在线播| 精品成人一区二区三区四区| 国产精品福利在线播放| 日日摸夜夜添夜夜添国产精品 | 亚洲成国产人片在线观看| 韩国三级在线一区| 精品国产乱码久久久久久图片 | 九九久久精品视频 | 久久久久久久一区| 日韩精品一区二| 亚洲视频在线观看三级| 日本最新不卡在线| 97se亚洲国产综合自在线不卡 | 99久久免费视频.com| 91精品国产福利在线观看| 国产精品女同互慰在线看| 午夜婷婷国产麻豆精品| 成人动漫av在线| 欧美成人三级在线| 亚洲精品国产一区二区精华液| 精品一区二区影视| 欧美日韩激情一区| 国产精品福利影院| 国产精品亚洲一区二区三区在线| 欧美视频在线不卡| 亚洲三级电影网站| 国产精品1024久久| 日韩欧美国产高清| 亚洲成av人影院| 在线这里只有精品| 国产精品久久久久久久久免费相片| 精品制服美女丁香| 欧美美女喷水视频| 亚洲综合无码一区二区| www.av亚洲| 国产精品久久免费看| 国产在线视频精品一区| 日韩视频一区二区三区在线播放| 亚洲最新视频在线观看| 91亚洲精华国产精华精华液| 中文字幕va一区二区三区| 国产一区二区三区在线观看免费| 日韩欧美区一区二| 免费不卡在线视频| 欧美一区二区三区四区高清| 午夜欧美大尺度福利影院在线看 | 一区二区三区欧美| 91老师片黄在线观看| 亚洲欧洲三级电影| 92国产精品观看| 亚洲男人天堂一区| 一本一道久久a久久精品| 亚洲欧洲99久久| 91农村精品一区二区在线| 中文字幕视频一区| 91丨porny丨在线| 亚洲美女视频在线观看| 色婷婷国产精品综合在线观看| 亚洲激情成人在线| 在线观看www91| 天天免费综合色| 欧美一区二区高清| 国产专区综合网| 久久久久一区二区三区四区| 高清不卡在线观看av| 国产精品麻豆视频| 色国产综合视频| 亚洲国产成人porn| 日韩精品中文字幕一区| 国产精品1区2区| 亚洲天堂a在线| 欧美日韩在线精品一区二区三区激情 | 亚洲靠逼com| 欧美久久久久久久久中文字幕| 欧美bbbbb| 国产丝袜在线精品| 日本高清不卡一区| 青草国产精品久久久久久| 久久亚洲二区三区| 99久久久国产精品免费蜜臀| 亚洲一区二区三区四区的|