1 Page

CppHeaderFileGuidelines

Course: EECS 381, Fall 2007
School: Michigan
Rating:
 
 
 
 
 

Word Count: 2250

Document Preview

Header C++ File Guidelines David Kieras, EECS Dept., University of Michigan Prepared for EECS 381, Fall 2006 This document is similar to the corresponding document for C, but includes some material specic to C++. What should be in the header les for a complex project? C and C++ programs normally take the form of a collection of separately compiled modules. Thanks to the separate compilation concept, as a big...

Register Now

Unformatted Document Excerpt

Coursehero >> Michigan >> Michigan >> EECS 381

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Header C++ File Guidelines David Kieras, EECS Dept., University of Michigan Prepared for EECS 381, Fall 2006 This document is similar to the corresponding document for C, but includes some material specic to C++. What should be in the header les for a complex project? C and C++ programs normally take the form of a collection of separately compiled modules. Thanks to the separate compilation concept, as a big project is developed, an new executable can be built rapidly if only the changed modules need to be recompiled. In C++, the contents of a module consist of structure type (struct) declarations, class declarations, global variables, and functions. The functions themselves are normally dened in a source le (a .cpp le). Except for the possible exception of the main module, each source (.cpp) le has a header le (a .h le) associated with it that provides the declarations needed by other modules to make use of this module. The idea is that other modules can access the functionality in module X simply by #including the X.h header le, and the linker will do the rest. The code in X.cpp needs to be compiled only the rst time or if it is changed; the rest of the time, the linker will link Xs code into the nal executable without needing to recompile it, which enables the Unix make utility and IDEs to work very efciently. A well organized C++ program has a good choice of modules, and properly constructed header les that make it easy to understand and access the functionality in a module. Furthermore, well-designed header les reduce the need to recompile the source les for components whenever changes to other components are made. The trick is reduce the amount of coupling between components by minimizing the number of header les that a modules header le itself #includes. On very large projects (where C++ is often used), minimizing coupling can make a huge difference in build time. The following guidelines summarize how to set up your header and source les for the greatest clarity and compilation convenience. Guideline #1. Each module with its .h and .cpp le should correspond to a clear piece of functionality. Conceptually, a module is a group of declarations and functions can be developed and maintained separately from other modules, and perhaps even reused in entirely different projects. Dont force together into a module things that will be used or maintained separately, and dont separate things that will always be used and maintained together. The Standard Library modules <cmath> and <string> are good examples of clearly distinct modules. Guideline #2. Always use include guards in a header le. The most compact form uses ifndef. Choose a guard symbol based on the header le name, since these symbols are easy to think up and the header le names are almost always unique in a project. Follow the convention of making the symbol all-caps. For example Geometry_base.h would start with: #ifndef GEOMETRY_BASE_H #define GEOMETRY_BASE_H and end with: #endif Guideline #3. All of the declarations needed to use a module must appear in its header le, and this le is always used to access the module. Thus #including the header le provides all the information necessary for code using the module to compile and link correctly; the header le contains the public interface for the module. Furthermore, if module A needs to use module Xs functionality, it should always #include X.h, and never contain hard-coded declarations for structs, classes, globals, or functions that appear in module X. Why? If module X is changed, but you forget to change the hard-coded declarations in module A, module A could easily fail with subtle run-time errors that wont be detected by either the compiler or linker. This is a violation of the One-Denition Rule which C++ compilers and linkers cant detect. Always referring to a module through its header le ensures that only a single set of declarations needs to be maintained, and helps enforce the One-Denition Rule. Guideline #4. No using statements are allowed in a header le. See the Handout Using using for an explanation and guidelines. You should be using fully qualied names in a header le, such as std::ostream. 1 Guideline #5. The header le contains only declarations, templates, and inline function denitions, and is included by the .cpp le for the module. Put structure and class declarations, function prototypes, and global variable extern declarations, in the .h le; put the function denitions and global variable denitions and initializations in the .cpp le. The .cpp le for a module must include the .h le; the compiler will detect any discrepancies between the two, and thus help ensure consistency. Note that for templates, unless you are using explicit instantiations (rare) or the export facility (at this time even more rare), the compiler must have the full denitions available in order to instantiate the template, and so all templated function denitions must appear in the header le. Similarly, the compiler must have the full denitions available for ordinary (nonmember) functions that need to be inlined, so the function denitions will also appear (declared inline) in the header le (this is unusual, and normally wont happen until late in project development during performance tuning). For global variables, the declaration in the .h le should be an extern declaration, as in: extern int g_number_of_entities; The other modules #include only the .h le. The .cpp le for the module must include the .h le, and dene and initialize the global variables, as in: int g_number_of_entities = 3; It is a common custom is to explicitly initialize a global variable to zero, even though in the case of zero it is technically redundant. Note that different C compilers and linkers will allow other ways of setting up global variables, but this is the accepted C++ method for dening global variables and it works for C as well. Guideline #6. Keep a modules internal declarations out of the header le. Sometimes a module uses strictly internal components that are not supposed to be accessed by other modules, or are not needed by other modules. The header le is supposed to contain the public interface for the module, and everything else is supposed to be hidden from outside view and access. Thus, if you need class or struct declarations, global variables, templates, or functions that are used only in the code in the .cpp le, put their denitions or declarations at points convenient in the .cpp le and do not mention them in the .h le. One common example is special-purpose function object class declarations for use with the Standard Library algorithms. Often these have absolutely no value outside the module, and so should not be simply tossed into the header le with other class declarations. It is better is to place their declarations in the .cpp le just ahead of the function that uses them. Furthermore, declare globals and functions static in the .cpp le to give them internal linkage (or put them into the unnamed namespace). Constants declared as const variables with initialization automatically get internal linkage (even if they appear in a header le), so static is not necessary. This way, other modules do not (and can not) know about these declarations, globals, or functions that are internal to the module. The internal linkage will enable the linker to help you enforce your design decision. Guideline #7. Every header le A.h should #include every other header le that A.h requires to compile correctly, but no more. What is needed in A.h: If another class or structure type X is used as a member variable of a class or structure type A, then you must #include X.h in A.h so that the compiler knows how large the X member is. Similarly, if a class A inherits from class X which is declared in X.h, then you must #include X.h in A.h, so that the compiler knows the full contents of an A object. Do not include header les that only the .cpp le code needs. E.g. <cmath> or <algorithm> is usually needed only by the function denitions - #include it in .cpp le, not in the .h le. Guideline #8. If an incomplete declaration of a type X will do, use it instead of #including its header X.h. If another struct or class type X appears only as a pointer or reference type in the contents of a header le, then you should not #include X.h, but just place an incomplete declaration of X (also called a "forward" declaration) near the beginning of the header le, as in: class X; See the handout Incomplete Declarations for more discussion of this powerful and valuable technique. Note that the Standard library includes a header of incomplete declarations that often sufces for the <iostream> library, named <iosfwd>. #include <iosfwd> whenever possible, because the <iostream> header le is extremely large (giant templates!). 2 Guideline #9. A header le should compile correctly by itself. A header le should explicitly #include or forward declare everything it needs. Failure to observe this rule can result in very puzzling errors when other header les or #includes in other les are changed. Check your headers by compiling, all by itself, a test.cpp that contains nothing more than #include A.h. It should not produce any compilation errors. If it does, then something has been left out - something else needs to be included or forward declared. Test all the headers in a project by starting at the bottom of the include hierarchy and work your way to the top. This will help to nd and eliminate any accidental dependencies between header les. Guideline #10. The A.cpp le should rst #include its A.h le, and then any other headers required for its code. Always #include A.h rst to avoid hiding anything it is missing that gets included by other .h les. Then, if A's implementation code uses X, explicitly #include X.h in A.cpp, so that A.cpp is not dependent on X.h accidentally being #included somewhere else. There is no clear consensus on whether A.cpp should also #include header les that A.h has already included. Two suggestions: If the X.h le is a logically unavoidable requirement for the declaration in A.h to compile, then #including it in A.cpp is redundant, since it is guaranteed to be included by A.h. So it is OK to not #include X.h in A.cpp, and will save some compiler time (the compiler wont have to nd and open the .h le twice). Always #including X.h in A.cpp is a way of making it clear to the reader that we are using X, and helps make sure that Xs declarations are available even if the contents of A.h changes due to the design changes. E.g. maybe we had a Thing member of a class at rst, then changed it to a Thing *, but still used members of Things in the implementation code. The #include of Thing.h saves us a compile failure. So it is OK to redundantly #include X.h in A.cpp. Of course, if X becomes completely unnecessary, all of the #includes of X.h should be removed. Guideline #11. Explicitly #include the headers for all Standard Library facilities used in a .cpp le. The Standard does not say which Standard Library header les must be included by which other Standard Library headers, so if you leave one out, the code may compile successfully in one implementation, but then fail in another. This is a gap in the Standard, justied weakly as giving implementers more freedom to optimize. Avoid future compile failures by always #including <algorithm>, <functional>, <iomanip>, etc. whenever your code uses these components of the Standard Library. Guideline #12. Never #include a .cpp le for any reason! This happens occasionally and it is always a mess. Why does it happen? Sometimes you need to bring in a bunch of code that really should to be shared between .cpp les for ease of maintenance, so you put it in a le by itself. Because the code does not consist of "normal" declarations or denitions, you know that putting it in a .h le is misleading, so you are tempted to call it a .cpp le instead, and then write #include stuff.cpp. But this causes instant confusion for other programmers and interferes with convenience in using IDEs, because .cpp les are normally separately compiled, so you have to somehow tell people not to compile this one .cpp le out of all the others. Furthermore, if they miss this hard-to-document point, they get really confused because compiling this sort of odd le typically produces a million error messages, making people think something mysterious is fundamentally wrong with your code or how they installed it. Conclusion: If it cant be treated like a normal header or source le, don't name it like one! If you think you need to do something like this, rst make sure that there isn't a more normal way to share the code (such as simply creating another module). If not, then name the special #include le with a different extension like ".inc" or ".inl". 3
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Michigan - EECS - 381
Using C+ File StreamsDavid Kieras, EECS Dept., Univ. of MichiganRevised for EECS 381, 1/4/2004File streams are a lot like cin and coutIn Standard C+, you can do I/O to and from disk files very much like the ordinary console I/O streams cin andcout. T
Michigan - EECS - 381
Filler Up: Winners and Losers forFilling an Ordered ContainerDavid Kieras &amp; Steve Plaza, EECS Department, University of MichiganA handy and common component is an ordered container, one that contains items maintained in some order such asalphabetical.
Michigan - EECS - 381
Formatting Numbers with C+ Output StreamsDavid Kieras, EECS Dept., Univ. of MichiganRevised for EECS 381, Winter 2004.Using the output operator with C+ streams is generally easy as pie, with the only hard part being controlling the format ofthe output
Michigan - EECS - 381
Handy Handouts about C and C+GuidelinesC Header File Guidelines (pdf)C+ Header File Guidelines (pdf)Using &quot;using&quot;: How to Use the std Namespace (pdf)Sample Code Quality Checklist (pdf)When your code is evaluated for quality, it will be done using a
Michigan - EECS - 381
How the Adapters and Binders WorkDavid KierasPrepared for EECS 381, Fall 2004What code gets generated when we write#include &lt;vector&gt;#include &lt;algorithm&gt;#include &lt;functional&gt;using namespace std;.vector&lt;int&gt; v;void foo(char, int);for_each(v.begin
Michigan - EECS - 381
How Inserters WorkDavid KierasPrepared for EECS 381, Fall 2004A back_inserter allows you to copy into an empty vector using the copy algorithm as follows:#include &lt;vector&gt;#include &lt;iterator&gt;#include &lt;algorithm&gt;vector&lt;int&gt; src, dest;/ fill src with
Michigan - EECS - 381
Using Incomplete (Forward) DeclarationsDavid Kieras, EECS Dept., Univ. of MichiganPrepared for EECS 381, Fall 2004An incomplete declaration is the keyword &quot;class&quot; or &quot;struct&quot; followed by the name of a class or structure type. It tells the compilerthat
Michigan - EECS - 381
Selected Math Library FunctionsThe following are declared in &lt;math.h&gt; (for C) or &lt;cmath&gt; (for C+)double exp(double x)returns the value of e raised to the x powerdouble log(double x)returns natural log of x; x must be zero or positivedouble log10(dou
Michigan - EECS - 381
Using using - How to Use the std NamespaceDavid KierasEECS Department, University of MichiganPrepared for EECS 381, Fall 2006Why Namespaces?When programs get very large and complex, and make heavy use of libraries from a variety of sources, the possi
Michigan - EECS - 381
A Summary of Operator Overloading and Conversion FunctionsDavid Kieras, EECS Dept., Univ. of MichiganPrepared for EECS 381, Fall 2007Basic ideaYou overload an operator in C+ by defining a function for the operator. Every operator in thelanguage has a
Michigan - EECS - 381
Using Pointers to Member FunctionsDavid Kieras, EECS Dept.Prepared for EECS 381, Winter 2001Pointers to member functions are not like regular pointers to functions, because member functionshave a hidden &quot;this&quot; parameter, and so can only be called if y
Michigan - EECS - 381
EECSE ECS 3 81 E xample C ode Q uality C heck L ist - C v ersionExplanation and guidance for some items is shown in italicsStudent:Student:A G s core:_General c ode q uality(2) Appropriate commenting.Function prototypes first, functions in readabl
Michigan - EECS - 381
Static (Class-wide) MembersDavid KierasPrepared for EECS 381, Fall 2004Non-static (ordinary) member variablesRegular member variables of a class exist in every object. That is, when you declare a class and listthe member variables, you are saying tha
Michigan - EECS - 381
Using TR1s bind with Containers and AlgorithmsDavid Kieras, EECS Department, University of MichiganFebruary, 2007Since the rst C+ Standard was approved in 1998, a group of C+ wizards have been working on the opensource Boost library (www.boost.org), wi
Michigan - EECS - 381
Basic UML Class Diagram NotationAbstract classClassNameNameattributesNamecfw_Abstractvirtual method()method()(member variables)Inheritance (is-a) relationshipBaseDerived2 is-a Basemethods(member functions)+ public_method()# protected_meth
Prairie View A & M - ENGL - 1123
Aaron Preston4/4/12Engl.1123Prof. VarnerHomework Assignment1. Wheatley stated when he feels that technology is a necessity is whenever that personsjob requires it. Examples: photographers using digital cameras, marketers using handheldphones.2. Do
Baylor - CSS - 1302
Speech 5 An International Problem and SolutionOverviewSpeech describing an international problem, its cause, and offering a solutionPersuasive5-7 minutesNo visual aid required, but can be used. (let me know)7 sources requiredBe well reasoned, and t
Baylor - CSS - 1302
Speech 6 Checklist_ Speech outline with title of presentation and subject sentence labeled._ Annotated speech bibliography_ Confirmation that your outline and bibliography have been submitted to TurnItIn.Com(I would recommend taking a screenshot, copy
Baylor - CSS - 1302
Auburn - ACCT - 1311
Page 1EXAM 3 REVIEW: PROBLEMSComplete these sample exam problems and check your answers with the solutions at the end of the reviewfile, and identify where you need additional study before the exam.I.Property, Plant, and EquipmentKleener Co. acquire
Oregon State - H - 312
HIV/AIDS:- Human Immunodeficiency Virus (HIV) that causes Acquired Immunodeficiency Syndrome (AIDS).- Immune System:o A network of cells, tissues and organs that work together to defend the body against foreigninvaders.o Comprised of specific organs
Oregon State - H - 312
The focus of public health is on prevention of disease (vs. treatment) and reduction ofhealth inequalities in populations (vs. individuals). The STIs are among those 1524.Definitions:Is a state of complete physical, mental and social well-being and n
Oregon State - H - 312
Vocabulary and concepts you want make yourself aware of.Note of Caution: This list does not preclude you from reading the book as part of the preparation forthis exam. Readings assigned will also be sources of test questions. That includes all PowerPoin
Oregon State - H - 312
Viral STIs-Viruses have no metabolismTotal dependence on living cells (HOST) for reproductionViral STIs are difficult to eradicate - the virus remain in the body even after symptoms subside.Over 70 types of HSV existSTIGenital Herpes(Herpes Simple
UConn - ACCT - 5123
Financial ProblemThe Sippican Corporation is losing profitability. The March 2006 data from theiroperating results, profitability analysis, product data and monthly production statistics helpsto support this. We believe that Sippicans current accountin
University of Texas - MATH - 408 L
adamo (aa29988) HW01 kalahurka (55230)This print-out should have 24 questions.Multiple-choice questions may continue onthe next column or page nd all choicesbefore answering.0014. limit = 4x + 25. limit = 6x + 2 correct10.0 points6. limit does no
Waterloo - STAT - 443
STAT 443: Assignment 2: SolutionsOnly mark the parts of the assignments which are indicated in this markscheme. The total mark for this assignment is 62.Please indicate to the students where they are losing marks and put yourinitials at the top of eac
Waterloo - STAT - 443
STAT 443: Assignment 3:SolutionsOnly mark the parts of the assignments which are indicated in this markscheme. The total mark for this assignment is 60.Please indicate to the students where they are losing marks and put yourinitials at the top of eac
mpc.edu - ENG - 18
HolderChristen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Reading Response Paper #1 (Option 2: Interview of Joseph)In an effort to better understand the Abraham's family and dependants' migration intoEgypt prior to their
mpc.edu - ENG - 18
English 18: The Bible as LiteratureLiterary Analysis Essay, due 9/25Essay One GuidelinesFall 201150 pointsYour literary analysis essay is due on Sunday, 9/25, and must be based on English 18selected readings in the textbook The Bible as Literature a
mpc.edu - ENG - 18
Holder 1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Hagar and Ishmael: A story of Merciful Faith (Option 2)The Biblical story of Hagar and Ishmael reinforce a consistent theme about faith and theperils of disobed
mpc.edu - ENG - 18
Holder 1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Ecclesiastes Chapter 3: (Option 3)Ecclesiastes Chapter 3 conveys a more temporal idea that while God is eternal andomnipotent humankind is mortal left to a diff
mpc.edu - ENG - 18
8: OPTIONAL: Discussion Forum Review for the Midterm ExamThe Forum this week is designed to give you an opportunity to share questions,reflections and observations about the readings so far this semester; you could add aquestion that you are curious ab
mpc.edu - ENG - 18
4) One key passage in Jeremiah is Ch. 31: 31-34; review this passage and reflectback on the discussion of the Mosaic covenant (from Exodus and Deuteronomy) andthe Davidic covenant. What does this passage suggest about a change in theunderstanding of th
mpc.edu - ENG - 18
Christen HolderDr. Anita JohnsonEnglish 18: The Bible as LiteratureReading Response Paper #315 April 2012TOPIC #2: Ezekiel 38I chose Ezekiel 38 because it is a significant passage in one of the propheticworks from Ezekiel. I read the passage in 3 d
mpc.edu - ENG - 18
English 18: The Bible as LiteratureReading Response Paper #3: Due 10/3020 pointsTOPIC #2:2)Choose a chapter or significant passage in one of the prophetic works (from Jonah,Amos, Isaiah, Jeremiah, or Ezekiel) and read the passage in 3 or more differ
mpc.edu - ENG - 18
TheGospels:TheirNarratives,Parables,andEventsChristopher MortonGTW Falls Session 2: Week 1Similarities and Differences in the Four GospelsChristians love Paul. They enjoy books like 1 John, Psalms, and Isaiah. But if you look aroundtown on any given
mpc.edu - ENG - 18
3. The book of Acts is a narrative, historical, and explanatory book; there is a cast ofcharacters and a carefully organized series of events designed by Luke toemphasize the concepts, as noted above, the challenges for the early Christiancommunity, de
mpc.edu - ENG - 18
Holder p.1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Research Paper Proposal (Topic 10)TheI propose to prepare a Research Project that explores, analyzes and describes what thesymbol of &quot;the word&quot; and &quot;the ligh
mpc.edu - ENG - 18
English 18: The Bible as LiteratureReading Response Paper #4: Due 11/28Art and the Bible20 pointsThe Reading Response papers are designed to focus your attention on a specific literaryor interpretive aspect of the selected texts. Please choose a resou
mpc.edu - ENG - 18
Christen HolderDr. Anita JohnsonEnglish 18: The Bible as LiteratureReading Response Paper #415 April 2012Option 1: Biblical storytelling as a Visual ArtI visited the Vatican Museums' online collection to study &quot;The Flood&quot; painting onthe ceiling's c
mpc.edu - ENG - 18
Holder p.1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Annotated BibliographyBraden, Gregg. The Lost Mode of Prayer: The Hidden Power of Beauty, Blessing, Wisdom,and Hurt. Hay House, 2006, CDThis audio book was v
University of Phoenix - COM - 156
CHAPTER11Writing from Research1. THE PURPOSE OF RESEARCH WRITING: ASKINGQUESTIONS AND SHARING THE ANSWERSLEARNINGOBJECTIVES1. Identify reasons for researching writing projects2. Outline the steps of the research writing processWhy was the Great W
University of Phoenix - COM - 156
Appendix GCOM/156 Version 5Associate Level MaterialAppendix GThesis StatementsWhat Is a Thesis Statement?If you have ever worked in an office with computers, your computer was probably connected to anetwork. In a network, there is one main computer
University of Phoenix - COM - 156
Ashley ClarkAppendix JCOM/156Revision AnalysisAppendix JWeek EightInstructor Feedback1. Instructorindicated that mypaper wouldbenefit with moredirect quotes.2. Make sure that allinformation fromoutside resourcesinclude an in-textcitation1
Buena Vista - MGMT - 408
CHAPTER 4: Example 1Forecasting Moving averages - 3 period moving averageEnter the past demands in the data areaData Period January February March April May June July August September October November DecemberDemand 10 12 13 16 19 23 26 30 28 18 16 14
Buena Vista - MGMT - 408
CHAPTER 4: Example 2Forecasting Weighted moving averages 3 period moving averageEnter the data in the shaded area. Enter weights in INCREASING order from top to bottom.Data Period January February March April May June July August September October Nove
Buena Vista - MGMT - 408
CHAPTER 4: Example 4 (alpha = 0.1)Enter alpha (between 0 and 1), enter the past demands in the shaded column then enter a startingforecast. If the starting forecast is not in the first period then delete the error analysis for all rows aboveForecasting
Buena Vista - MGMT - 408
CHAPTER 4: Example 4 (alpha = 0.5)Enter alpha (between 0 and 1), enter the past demands in the shaded column then enter a startingforecast. If the starting forecast is not in the first period then delete the error analysis for all rows aboveForecasting
Buena Vista - MGMT - 408
CHAPTER 4: Example 7ForecastingTrend adjusted exponential smoothingEnter alpha and beta (between 0 and 1), enter the past demands in the shaded column then enter astarting forecast. If the starting forecast is not in the first period then delete the e
Buena Vista - MGMT - 408
CHAPTER 4: Example 8Forecasting Regression/Trend analysisIf this is trend analysis then simply enter the past demands in the demand column. If this is causal regression then enter the y,x pairs with y first and enter a new value of x at the bottom in or
Buena Vista - MGMT - 408
CHAPTER 4: Example 9Forecasting12 seasonsDataPeriodPeriod 1Period 2Period 3Period 4Period 5Period 6Period 7Period 8Period 9Period 10Period 11Period 12Period 13Period 14Period 15Period 16Period 17Period 18Period 19Period 20Period 2
Buena Vista - MGMT - 408
TESTForecasting Multiple regressionEnter the data in the shaded area. To get a forecast use the shaded data area at the bottom left of the sheet.Data Period 1 Period 2 Period 3 Period 4 Period 5 Period 6 Coefficients ForecastYx 1Err:502 Err:502Err:
Buena Vista - MGMT - 408
CHAPTER 12: Example 1InventoryABC AnalysisEnter the unit costs and the unit volumes into the shaded data area. NOTE: The dollar volume in column F (but notin column L) is adjusted to prevent ties.DataDollarVolume Rank Item1 102862 115263 127604
Buena Vista - MGMT - 408
Chapter 12: Example 3InventoryEconomic Order Quantity ModelEnter the data in the shaded areaDataDemand rate, DSetup cost, SHolding cost, HUnit Price, PDaily demand rateLead time in days1000100.5 (fixed amount)Inventory: Cost vs Quantity2 50
Buena Vista - MGMT - 408
CHAPTER 12: Example 8InventoryProduction Order Quantity ModelEnter the data in the shaded area. You may have to do some work to enter thedaily production rate.DataDemand rate, DSetup cost, SHolding cost, HDaily production rate, pDaily demand rat
Buena Vista - MGMT - 408
Chapter 12: Example 9InventoryQuantity Discount ModelEnter the data in the shaded area. The minimum quantity is the minimum amount that needs to beordered in order to get the price that is in the same column.DataDemand rate, DSetup cost, SHolding
Buena Vista - MGMT - 408
YourResultsfor:&quot;MultipleChoice&quot;SiteTitle: OperationsManagement,10/eandPrinciplesofOperationsManagement,8/eBookTitle: OperationsManagement,10/eandPrinciplesofOperationsManagement,8/eBookAuthor: HeizerPrintthispageSummaryofResults40%Correctof15Sco
Buena Vista - MGMT - 408
YourResultsfor:&quot;MultipleChoice&quot;SiteTitle: OperationsManagement,10/eandPrinciplesofOperationsManagement,8/eBookTitle: OperationsManagement,10/eandPrinciplesofOperationsManagement,8/eBookAuthor: HeizerPrintthispageSummaryofResults29%Correctof17Sco
Buena Vista - MGMT - 408
CHAPTER 1DISCUSSION QUESTIONS8.The three classic functions are:(a)Marketing(b)Operations(c)Finance/Accounting10.Registration systems will differ, but will likely possess the following characteristics:Inputs:n Course offerings list:A list of
Buena Vista - MGMT - 408
CHAPTER 2DISCUSSION QUESTIONSHow do the following firms achieve competitive advantage? (Answer in terms of differentiation, lowcost, and response, and the six strategies in Figure 2.3 on page 37.)a. Wal-MartWal-Mart strives to be a low cost provider