Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

image text in transcribed

image text in transcribed

#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 A using namespace std A fstream data File: A char Anual 5 char monthselect nt in switch in case 1 return "January" case 2 eturn "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() data File NULL) if cout

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases A Beginners Guide

Authors: Andy Oppel

1st Edition

007160846X, 978-0071608466

More Books

Students also viewed these Databases questions