Question
C++ help Xcode #include iostream.h #include fstream.h #include iomanip.h #include #include conio.h #include using namespace std; fstream dataFile; char Anual[5]=; char *monthSelect(int in) { switch(in){
C++ help Xcode
#include "iostream.h"
#include "fstream.h"
#include "iomanip.h"
#include
#include "conio.h"
#include
using namespace std;
fstream dataFile;
char Anual[5]="";
char *monthSelect(int in)
{
switch(in){
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("Not a Valid Choice");
}
int readFile()
{
if(dataFile==NULL){
cout
getch();
return(1);
}
return(0);
}
class AppWeath
{
public:
double meanTemp[12];
char inMonths[12][20];
AppWeath();
void dataRetrive(int in)
{
strcpy(inMonths[in],monthSelect(in));
cout
cin>>meanTemp[in];
}
void showData(int in)
{
cout
}
void displaytemp(int vi)
{
cout
}
double returntemp(int vi){
return(meanTemp[vi]);
}
void loadfile();
void displaytempscale();
void updatedata(int in,double vt)
{
strcpy(inMonths[in],monthSelect(in));
meanTemp[in]=vt;
}
int validate(double vt){
if(vt>55 || vt
return(1);
else
return(0);
}
};
AppWeath :: AppWeath(){
for(int vi=0;vi
{
meanTemp[vi]=0;
inMonths[vi][0]=NULL;
}
}
void AppWeath :: loadfile()
{
dataFile.close();
char myFile[20]="";
cout
cin>>Anual;
strcat(myFile,"c:\\");
strcat(myFile,"data");
strcat(myFile,Anual);
strcat(myFile,".dat");
dataFile.open(myFile,ios::ate|ios::nocreate|ios::in|ios::out|ios::binary);
if(dataFile==NULL){
char ans;
cout
ans=getche();
if(ans=='y'|| ans=='Y'){
dataFile.open(myFile,ios::ate|ios::in|ios::out|ios::binary);
cout
}
else{
dataFile;
cout
}
}
else if(dataFile!=NULL){
cout
}
getch();
}
void AppWeath :: displaytempscale(){
int vi,c=0;
for(vi=1;vi
{
if(vi
cout
else if(vi
cout
else if(vi
cout
else if(vi
cout
else if(vi
cout
else if(vi
cout
else if(vi
cout
}
cout
for(vi=1;vi
{
for(c=0;c
cout
}
cout
}
void top()
{
clrscr();
cout
getch();
}
void main(){
char choice='1';
int num,vi,j,iNum,totstars=0,state,in;
double numDec,dNum,tempHigh=0,tempLow=99999,meanTemp=0,vt;
char c;
AppWeath mySoftware;
dataFile.close();
do{
clrscr();
cout
cout Select a Anual to work with "
Display data as Table "
Display data as horizontal histogram "
Display Yearly Statistics to date "
Record Data "
Change Data "
Save Data "
Exit "
";
choice=getche();
switch(choice){
case '0' : top();
goto out;
case '1' : mySoftware.loadfile();
break;
case '2' : clrscr();
cout
if(readFile()){
goto endtable;
}
cout
cout
dataFile.seekg(0,ios::end);
num=dataFile.tellg();
num=num/sizeof(mySoftware); /um contains how many records previously recorded
dataFile.seekg(0,ios::beg);
for(vi=1;vi
{
if(vi==1)
cout
else if(vi==4)
cout
else if(vi==7)
cout
else if(vi==10)
cout
dataFile.read((char *)&mySoftware, sizeof(mySoftware));
if(!dataFile.eof()){
mySoftware.displaytemp(vi);
}
dataFile.clear();
}
getch();
endtable:
break;
case '3' : clrscr();
cout
if(readFile()){
goto endhistogram;
}
cout
mySoftware.displaytempscale();
dataFile.seekg(0,ios::end);
num=dataFile.tellg();
num=num/sizeof(mySoftware);
dataFile.seekg(0,ios::beg);
for(vi=1;vi
{
cout
dataFile.read((char *)&mySoftware, sizeof(mySoftware));
if(!dataFile.eof()){
numDec=mySoftware.returntemp(vi);
iNum=floor(numDec);
dNum=numDec-iNum;
totstars=iNum;
if(dNum >= 0.5)
totstars++;
for(j=1;j
cout
cout
}
dataFile.clear();
}
mySoftware.displaytempscale();
getch();
endhistogram:
break;
case '4' : clrscr();
cout
if(readFile()){
goto endstatus;
}
cout
num=dataFile.tellg();
num=num/sizeof(mySoftware);
dataFile.seekg(0,ios::beg);
tempHigh=meanTemp=0;
tempLow=99999;
for(vi=1;vi
{
dataFile.read((char *)&mySoftware, sizeof(mySoftware));
double tmp=mySoftware.returntemp(vi);
if(!dataFile.eof()){
if(tempHigh
tempHigh=tmp;
if(tempLow > tmp)
tempLow=tmp;
meanTemp=meanTemp+tmp;
}
dataFile.clear();
}
meanTemp=meanTemp/double(num);
cout
cout
cout
getch();
endstatus:
break;
case '5' : clrscr();
cout
if(readFile()){
goto endRecord;
}
else{
num=dataFile.tellg();
num=num/sizeof(mySoftware);
if(num==12)
cout
for(vi=num+1;vi
{
enteragain:
cout
c=getche();
if(c=='n' || c=='N')
goto endRecord;
mySoftware.dataRetrive(vi);
if(mySoftware.validate(mySoftware.returntemp(vi)))
{
cout
goto enteragain;
}
cin.get(c);
dataFile.write((char *) &mySoftware, sizeof(mySoftware));
}
}
getch();
endRecord:
break;
case '6' : clrscr();
cout
if(readFile()){
goto endchange;
}
else{
num=dataFile.tellg();
num=num/sizeof(mySoftware);
tryagain:
cout
cin>>in;
if(in num){
cout
getch();
goto tryagain;
}
tempagain:
cout
cin>>vt;
if(mySoftware.validate(vt))
{
cout
goto tempagain;
}
dataFile.seekg(0,ios::beg);
state= (in-1) * sizeof(mySoftware);
dataFile.seekp(state);
mySoftware.updatedata(in,vt);
cin.get(c);
dataFile.write((char *) &mySoftware, sizeof(mySoftware))
}
endchange:
break;
case '7' : clrscr();
cout
if(readFile()){
goto endsave;
}
flush(dataFile);
cout
getch();
endsave:
break;
default : cout
getch();
}
}while(choice!='0');
flush(dataFile);
dataFile.close();
clrscr();
out:
}
v asd Ge main.cpp G conio.cpp h conio.h G. iomanip.cpp h iomanip.h fstream.cpp h fstream h iostream.cpp h iostream.h Products #include "iostream.h #include "fstream.h" #include "iomanip.h" #include math.h> #include "conio.h" #include
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started