/* Busses.java
   Craig Persiko
   CS 111A In-class exercise.
   In-class exercise: You're planning 
   a wedding, and you need to transport 
   all your wedding guests from the ceremony 
   to the reception. A bus can carry 40
   passengers. Your program should ask 
   the user how many guests are expected,
   and it should output how many busses
   are needed, and the number of extra people
   you could carry with those busses. 
*/

import java.util.Scanner;

public class Busses
{
  public static void main (String[] args)
  {
    Scanner scan = new Scanner (System.in);

    int numPeople, numBusses, extraSeats;
    final int BUS_CAPACITY = 40;
	 
    System.out.print("How many guests do you expect? ");
    numPeople = scan.nextInt();
	 
    numBusses = (int)Math.ceil((double)numPeople / BUS_CAPACITY);
    // or:  numBusses = numPeople / BUS_CAPACITY + 1;
    //      + 1 for people that don't fill a bus (an extra bus when all are full)
	 
    extraSeats = numBusses * BUS_CAPACITY - numPeople; 
    // or if +1 used above:  extraSeats = BUS_CAPACITY - (numPeople % BUS_CAPACITY);
	
    System.out.println("You need to rent " + numBusses + " busses.");
    System.out.println("You have space for " + extraSeats + " more guests.");
  }
}	 

/* Sample Output:

-bash-3.2$ java Busses
How many guests do you expect? 50
You need to rent 2 busses.
You have space for 30 more guests.
-bash-3.2$ java Busses
How many guests do you expect? 95
You need to rent 3 busses.
You have space for 25 more guests.
-bash-3.2$ java Busses
How many guests do you expect? 38
You need to rent 1 busses.
You have space for 2 more guests.
-bash-3.2$ java Busses
How many guests do you expect? 120
You need to rent 3 busses.
You have space for 0 more guests.
-bash-3.2$ 

If commented code is used, we get:

-bash-3.2$ java Busses
How many guests do you expect? 120
You need to rent 4 busses.
You have space for 40 more guests.
-bash-3.2$ 

*/



syntax highlighted by Code2HTML, v. 0.9