1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Stells [14]
3 years ago
10

You will write a program that reads a binary file that contains records of creatures. Each record can be stored in a Creature st

ruct. You should present the user with a menu of three options: display a specific creature, display all the creatures sorted by name, or quit. If the user chooses to display a specific creature, you should ask the user which creature to display
Computers and Technology
1 answer:
yuradex [85]3 years ago
5 0

Answer:

Explanation:

main.cpp file

/******************************

Name

Date

PA1_Starter.cpp

Description

********************************/

// Headers

#include <iostream>

#include <cstdlib>

#include <string>

#include <vector>

#include <fstream>

#include <algorithm>

using namespace std;

// Global variables

const int CREATURE_NAME_SIZE = 30; // Max length of a creature name

const int CREATURE_TYPE_SIZE = 26; // Max length of a creature type

const string FILENAME = "creatures.dat"; // Name of file that contains the data

// struct used to create records in file

struct Creature

{

char name[CREATURE_NAME_SIZE]; // Name of the creature

char creatureType[CREATURE_TYPE_SIZE]; // Type of creature

int hp; // Hit points for creature

int armor; // Armor class for creature

int speed; // Speed of creature

};

// This function returns true if the name of the left creature is less than the name of the right creature

// Use this function when running the sort function

bool sortByName(const Creature &lhs, const Creature &rhs)

{

string name1(lhs.name), name2(rhs.name);

return name1 < name2;

}

// Function declarations

// You will need to code the definitions for each of these functions

int getCreatureNumber(int numCreatures);

void displayCreature(fstream& file, int num);

void displaySorted(fstream& file);

int main()

{

char choice; // choice made by user for menu

fstream creatureFile; // file stream for input file

int numCreatures; // the number of creatures saved to the file

 

// Open the creatureFile for input and binary (one statement of code)

 

// Get the number of creatures in the file (two statements of code)

// The number of creatures should be assigned to numCreatures

do

{

cout << "Menu" << endl;

cout << "1. Display a specific creature\n";

cout << "2. Display all creatures sorted by name\n";

cout << "3. Quit\n";

cout << "Enter your choice (1, 2, 3): ";

cin >> choice;

while (cin.get() != '\n');

switch (choice)

{

case '1': // Display a specific creature

displayCreature(creatureFile, getCreatureNumber(numCreatures));

break;

case '2': // Display all the creatures in order

displaySorted(creatureFile);

break;

case '3': // Quit

break;

default:

cout << "Invalid option.\n";

break;

}

if (choice != '3')

{

system("PAUSE");

system("CLS");

}

} while (choice != '3');

creatureFile.close();

 

 

// Make sure we place the end message on a new line

cout << endl;

// The following is system dependent. It will only work on Windows

system("PAUSE");

/*

// A non-system dependent method is below

cout << "Press any key to continue";

cin.get();

*/

return 0;

}

/*******************************************************************

getCreatureNumber gets and returns the record number from the file that the user would like to be displayed

PARAM: numCreatures should be the value of the total number of records (creatures) in the file

PRE: numCreatures contains a value that is equal to the number of records in the file

POST: A value between 1 and numCreatures is returned as selected by the user

NOTE: Do not allow a value less than 1 or greater than numCreatures to be returned

********************************************************************/

int getCreatureNumber(int numCreatures)

{

 

}

/*******************************************************************

displayCreature displays record number num from file

PARAM: file is a fstream that should be open for input and binary

num contains the record number that is to be read in file

PRE: file is a fstream that is open for input and binary

num is a value between 1 and the number of records in file

POST: The record number num is displayed to the monitor

********************************************************************/

void displayCreature(fstream& file, int num)

{

 

}

/*******************************************************************

displaySorted should read file into a vector. It should then sort the vector by

the name of the creature. Last it should display the vector

PARAM: file is a fstream that should be open for input and binary

PRE: file is open for input and binary

POST: Each record is displayed sorted by the name of the creature

********************************************************************/

void displaySorted(fstream& file)

{

 

}

You might be interested in
What is the GCF of 48mn and 81mn??<br> O 3mn<br> O 3m?n<br> O 48mºn<br> O 129mn
vitfil [10]

Answer:

A. 3mn

Explanation:

48 divides by 2 48 = 24 x 2

then =2 x 2 x 12

then = 2 x 2 x 2 x 2 x 3

greatest factorization is 3 therefore,

3mn is the answer

8 0
3 years ago
What is one thing we should avoid doing when summarizing a storyline or event in a review?
Rashid [163]
Don't use the same words in the passage or story
6 0
3 years ago
The landscape layout is more appropriate for leaflet. <br> TRUE OR FALSE
Reptile [31]
False im very sure its false
4 0
3 years ago
Put the steps you would use to insert and label an endnote in order.
Sholpan [36]

Answer:

2nd- step 1, 3rd- step 2, 1st- step 3, 4th- step 4

Explanation:

1. locate the reference tab

2. click the insert endnote option

3. type your endnote label

4. type the text you want the endnote to follow

3 0
3 years ago
What are the arguments both for and against the exclusive use of boolean expressions in the control statements in java (as oppos
sineoko [7]

Reliability is the major argument for the exclusive use of Boolean expressions (expressions that result to either true or false) inside control statements (i.e. if…else, for loop). Results from control statements become reliable because Java has disallowed other types to be used. Other types, like arithmetic expressions in C++ oftentimes include typing errors that are not detected by the compiler as errors, therefore causing confusion.

7 0
3 years ago
Other questions:
  • What is the primary reason that companies use third party tracking cookies?
    12·1 answer
  • Is there any level after genius?
    8·1 answer
  • Need help . business and technology
    11·1 answer
  • Which of the following lists contains the five essential elements of a computer? Group of answer choices: 1. inputs, returns, pr
    11·1 answer
  • Which of the following statements is used to terminate the program when closing the frame?
    5·1 answer
  • Which type of RAM is used exclusively in laptops?<br> a) SODIMM<br> b) DDR3<br> c) DDR<br> d) DDR4
    15·1 answer
  • HELP WILL GIVE BRAINLIEST
    5·1 answer
  • There are 4 fruits apples,oranges,bananas and grapes. Each student can pick up 2 fruits.There are some conditions which have to
    5·1 answer
  • Which of the following are good ways to keep your information and your computer secure?
    10·2 answers
  • WILL GIVE BRAILIST IF ANSWER RIGHT
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!