Click here to Skip to main content
16,004,686 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I'm almost done with this homework problem, I just need to know the correct math to make this work. this program counts pennies in a loop by the number of days entered, and then the number of pennies start at 1 and proceed to double each day. I want to add an accumulator to the total amount of pennies at the end of each line. the accumulator is the last part I need to do.

What I have tried:

Here is what the code looks like at the moment:

VB
Module Module1

    Sub Main()
        Dim Pennies As Double = 0.01
        Dim NumberOfDays As Integer = 0
        Dim InvalidInput As Integer = 0
        Dim Accumulator As Double
        Dim Counter As Integer


        While InvalidInput <= 0
            Console.WriteLine("Enter number of days worked")
            NumberOfDays = Console.ReadLine
            Console.Write("Day ")
            Console.Write(vbTab & "Amount")
            Console.Write(vbTab & "Total")
            Console.WriteLine()


            Accumulator = Pennies + Pennies
            Accumulator = Pennies * 2 + Pennies
            Accumulator += Accumulator + Pennies
            Accumulator = Accumulator + Pennies


            If NumberOfDays >= 1 Then
                For Counter = 1 To NumberOfDays
                    Console.Write(Counter)
                    Console.Write(vbTab & "$" & Pennies)
                    Console.Write(vbTab & Accumulator)
                    Console.WriteLine()
                    Pennies = Pennies * 2
                Next
            ElseIf NumberOfDays = InvalidInput Then
                Console.WriteLine("Invalid input")
            End If
        End While
    End Sub
End Module


Here is what I tried:
The Four bold lines between different lines I've tried inserting individually to see what would happen none gave me the correct output.

VB
Module Module1
    Sub Main()
        Dim Pennies As Double = 0.01
        Dim NumberOfDays As Integer = 0
        Dim InvalidInput As Integer = 0
        Dim Accumulator As Double
        Dim Counter As Integer


           Accumulator = Pennies + Pennies
           Accumulator = Pennies * 2 + Pennies
           Accumulator += Accumulator + Pennies
           Accumulator = Accumulator + Pennies


        While InvalidInput <= 0
            Console.WriteLine("Enter number of days worked")
            NumberOfDays = Console.ReadLine
            Console.Write("Day ")
            Console.Write(vbTab & "Amount")
            Console.Write(vbTab & "Total")
            Console.WriteLine()
            Accumulator = Pennies + Pennies
            Accumulator = Pennies * 2 + Pennies
            Accumulator += Accumulator + Pennies
            Accumulator = Accumulator + Pennies
            If NumberOfDays >= 1 Then
                For Counter = 1 To NumberOfDays
                    Accumulator = Pennies + Pennies
                    Accumulator = Pennies * 2 + Pennies
                    Accumulator += Accumulator + Pennies
                    Accumulator = Accumulator + Pennies
                    Console.Write(Counter)
                    Console.Write(vbTab & "$" & Pennies)
                    Console.Write(vbTab & Accumulator)
                    Console.WriteLine()
                    Accumulator = Pennies + Pennies
                    Accumulator = Pennies * 2 + Pennies
                    Accumulator += Accumulator + Pennies
                    Accumulator = Accumulator + Pennies
                    Pennies = Pennies * 2
                    Accumulator = Pennies + Pennies
                    Accumulator = Pennies * 2 + Pennies
                    Accumulator += Accumulator + Pennies
                    Accumulator = Accumulator + Pennies
                Next
            ElseIf NumberOfDays = InvalidInput Then
                Console.WriteLine("Invalid input")
            End If
        End While
    End Sub
End Module
Posted
Updated 23-Feb-16 16:26pm
Comments
Patrice T 23-Feb-16 18:30pm    
Advice: run your program with the debugger.
Execute the program line by line, observe how variables evolve and what append and where.
Belive me, you will learn a lot with the debugger.
Sergey Alexandrovich Kryukov 23-Feb-16 21:51pm    
5ed :-)
—SA

1 solution

Fixed it myself, this one works for some reason it wasn't working earlier. I might have had a repeat line I cleaned up the code when I got home from school. Thank you Google.

VB
Module Module1


    Sub Main()
        Dim Pennies As Double = 0.01
        Dim NumberOfDays As Integer = 0
        Dim InvalidInput As Integer = 0
        Dim Accumulator As Decimal = 0
        Dim Counter As Integer


        While InvalidInput <= 0
            Console.WriteLine("Enter number of days worked")
            NumberOfDays = Console.ReadLine
            Console.Write("Day ")
            Console.Write(vbTab & "Amount")
            Console.Write(vbTab & "Total")
            Console.WriteLine()
            If NumberOfDays >= 1 Then
                For Counter = 1 To NumberOfDays
                    Accumulator = Accumulator + Pennies
                    Console.Write(Counter)
                    Console.Write(vbTab & "$" & Pennies)
                    Console.Write(vbTab & "$" & Accumulator)
                    Console.WriteLine()
                    Pennies = Pennies * 2
                Next
                Console.WriteLine("Press any key to exit...")
                Console.ReadKey()
                End

            ElseIf NumberOfDays = InvalidInput Then
                Console.WriteLine("Invalid input")
            End If
        End While
    End Sub
End Module
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900