• 0

create if...elseif statement Visual basic


Question

Write an If..ElseIf  statement (or Select Case if you prefer) given the following:

 

decTicketPrice                    ?ticket price

intAge                                  ?age of customer   

 

If customer's age is less than 6, ticket price is Free

 

If customer's age is 6 to 12, ticket price is $3.50

 

If customer's age is 13 to 19, ticket price is $4.50

 

If customer's age is over 62, ticket price is $5.50

 

Otherwise, ticket price is $7.50

Recommended Posts

  • 0
  On 24/08/2013 at 03:30, soccerstar206 said:

I do know how to do them I just need to do them quickly and I take awhile when I write my code

Just copy and paste, then modify, the examples at my link above.

  • 0
  On 24/08/2013 at 10:11, lunamonkey said:

He wanted it quick, but the time between posts was longer than it would have taken, like 2 minutes.

 

Not even that... In fact, it would have taken longer to type up the OP than write the elseif clause he wanted...

  • 0
  On 24/08/2013 at 16:55, jake1eye said:

Anyone who can not use If statements, case select, or for if loops should not

be in a programming class.

Programming classes are there to teach, are they not? 

 

Although I think if someone has trouble with something this simple, they might want to take up another skill. Like knitting. 

  • 0
  On 24/08/2013 at 23:11, adrynalyne said:

Programming classes are there to teach, are they not? 

 

Although I think if someone has trouble with something this simple, they might want to take up another skill. Like knitting. 

 

Yep, I learned LONG ago that programming was not for me.

  • 0

10 price = 7.50
20 if age > 62 then price = 5.50
30 if age < 20 then price = 4.50
40 if age < 12 then price = 3.50
50 if age < 6 then price = 0

 

Wait, was this supposed to be in Commodore 64 BASIC?

 

(Yes, this is a horrible example of coding, it's deliberate)

  • 0

Some more examples for your education:

 

REXX

/* REXX */
arg intAge .

select
when intAge <   6 then decTicketPrice = 0
when intAge <= 12 then decTicketPrice = 3.5
when intAge <= 19 then decTicketPrice = 4.5
when intAge >  62 then decTicketPrice = 5.5
otherwise              decTicketPrice = 7.5
end

return decTicketPrice

Cobol

01 DECTICKETPRICE			PIC S9(5)V99 COMP-3.
01 INTAGE				PIC 9(3) COMP-3.

EVALUATE TRUE
WHEN INTAGE <  6
	MOVE ZERO TO DECTICKETPRICE
WHEN INTAGE <= 12
	MOVE 3.5  TO DECTICKETPRICE
WHEN INTAGE <= 19
	MOVE 4.5 TO DECTICKETPRICE	
WHEN INTAGE >  62 
	MOVE 5.5 TO DECTICKETPRICE
WHEN OTHER
	MOVE 7.5 TO DECTICKETPRICE
END-EVALUATE.

Easytrieve Plus (v6.4 up)

DECTICKETPRICE				W	4 P 2
INTAGE					W	2 P

IF      INTAGE LT  6
	DECTICKETPRICE = 0
ELSE-IF INTAGE LE 12
	DECTICKETPRICE = 3.5
ELSE-IF INTAGE LE 19
	DECTICKETPRICE = 4.5
ELSE-IF INTAGE GT 62
	DECTICKETPRICE = 5.5
ELSE
	DECTICKETPRICE = 7.5
END-IF
  • 0
  On 24/08/2013 at 22:53, soccerstar206 said:

Thanks for all the help guys! Every one of your helpful comments contributed to me getting an A on the assignment!

 

Now there's a misrepresented grade if ever I saw one.

  • 0

Tbh it seems the OP didn't even try to do this.

if you pseudocode what is required for this you have pretty much written the code....especially considering its to be written in vb.

if x = x then

y = y

else

if x = z then

y = y1

else

'etcetceyc

if you are doing a programming course OP and your posting like this.......you wont get far im sorry.

  • 0
  On 25/08/2013 at 00:48, Joe USer said:

Needs more GOTO's.

 

Challenge accepted!

 

REXX

/* REXX */
arg intAge .

/* There is no 'GOTO' in REXX. The statement to use is 'SIGNAL'					 */
/* This is the unconditional form of 'SIGNAL ON' that is used to catch exceptions	*/

if intage < 6 then do
		decticketprice = 0
		signal my_ass
	end
  
if intage <= 12 then do
		decticketprice = 3.5
		signal my_ass
	end
	
if intage <= 19 then do
		decticketprice = 4.5
		signal my_ass
	end
	
if intage > 62 then do
		decticketprice = 5.5
		signal my_ass
	end
	
decticketprice = 7.5

my_ass.

return decticketprice

Cobol

01 DECTICKETPRICE			PIC S9(5)V99 COMP-3.
01 INTAGE					PIC 9(3) COMP-3.

SOME-BOLLOCKS-CODE SECTION.

	IF INTAGE < 6
		MOVE ZERO TO DECTICKETPRICE
		GO TO MY-ASS
	END-IF.
	
	IF INTAGE <= 12
		MOVE 3.5  TO DECTICKETPRICE
		GO TO MY-ASS
	END-IF.
	
	IF INTAGE <= 19
		MOVE 4.5 TO DECTICKETPRICE	
		GO TO MY-ASS
	END-IF.
	
	
	IF INTAGE > 62 
		MOVE 5.5 TO DECTICKETPRICE
		GO TO MY-ASS
	END-IF.

	MOVE 7.5 TO DECTICKETPRICE.

MY-ASS.
	EXIT.

Easytrieve Plus

DECTICKETPRICE				W	4 P 2
INTAGE						W	2 P

SOME-BOLLOCKS-CODE. PROC

	IF INTAGE LT 6
		DECTICKETPRICE = 0
		GO TO MY-ASS
	END-IF

	IF INTAGE LE 12
		DECTICKETPRICE = 3.5
		GO TO MY-ASS
	END-IF
	
	IF INTAGE LE 19
		DECTICKETPRICE = 4.5
		GO TO MY-ASS
	END-IF
	
	IF INTAGE GT 62
		DECTICKETPRICE = 5.5
		GO TO MY-ASS
	END-IF

	DECTICKETPRICE = 7.5

MY-ASS.

END-PROC
  • Like 2
  • 0

Challenge accepted (again)!

Echo off
set intAge=%1%
if %intAge% LSS  6 (
	SET decTicketPrice=0
	goto done
)
if %intAge% LEQ 12 (
	SET decTicketPrice=3.5
	goto done
)
if %intAge% LEQ 19 (
	SET decTicketPrice=4.5
	goto done
)
if %intAge% GTR 62 (
	SET decTicketPrice=5.5
	goto done
)
set decTicketPrice=7.5

:done
Echo Ticket price is %decTicketPrice%
  • Like 2
  • 0
  On 24/08/2013 at 03:17, soccerstar206 said:

Write an If..ElseIf  statement (or Select Case if you prefer) given the following:

 

decTicketPrice                    ?ticket price

intAge                                  ?age of customer   

 

If customer's age is less than 6, ticket price is Free

 

If customer's age is 6 to 12, ticket price is $3.50

 

If customer's age is 13 to 19, ticket price is $4.50

 

If customer's age is over 62, ticket price is $5.50

 

Otherwise, ticket price is $7.50

All values of age were covered in the criteria; so no need for any 'else' statements.

 

But if you insist:

 

float decTicketPrice = 7.50;   // default ticket price

if (intAge < 6) decTicketPrice = 0.00 // under 6 are free

     else decTicketPrice = 3.50; // 6 and over base price is 3.50

 

/* The above statement just screwed up the teacher's requirement */

/* of an 'otherwise' ticket price since the customer is either under 6 */

/* or 6 or above. Dumb teacher giving dumb assignment fails.         */

 

if (intAge > 12) decTicketPrice += 1.00; // over 12 adds a dollar

if (intAge > 62) decTicketPrice += 1.00; // over 62 adds another dollar

  • 0
  On 29/08/2013 at 21:56, abecedarian paradoxious said:

All values of age are covered; no need for any 'else' statements.

 

float decTicketPrice = 0.00;

if (intAge >= 6) decTicketPrice += 3.50;

if (intAge >= 12) decTicketPrice += 1.00;

if (intAge >= 62) decTicketPrice += 1.00;

VB doesn't use semicolons to end a line ;)

  • 0
  On 29/08/2013 at 21:56, abecedarian paradoxious said:

All values of age are covered; no need for any 'else' statements.

 

float decTicketPrice = 0.00;

if (intAge >= 6) decTicketPrice += 3.50;

if (intAge >= 12) decTicketPrice += 1.00;

if (intAge >= 62) decTicketPrice += 1.00;

 

Doesn't cover the $7.50 cost if they are between 19 and 62.

  • 0
  On 29/08/2013 at 21:59, Lord Method Man said:

Doesn't cover the $7.50 cost if they are between 19 and 62.

Okay.

unsigned int intAge

// should be unsigned because negative ages aren't possible

// char is also permissible since people aren't likely to be > 255 years old

 

float decTicketPrice = 7.50   // default ticket price

 

if (intAge < 6) decTicketPrice = 0.00 // under 6 and you're in for free!

if (intAge > 5) and (intAge < 13) decTicketPrice += -4.00 // nice discount.

if (intAge > 12) and (intAge < 20) decTicketPrice += -3.00 // decent discount

if (intAge > 62) decTicketPrice += -2.00 // why the hate for senior citizens?

 

 

Still, no real reason for "else" conditions.

Start with the default and go.

  • 0
  On 29/08/2013 at 22:25, abecedarian paradoxious said:

Okay.

 

float decTicketPrice = 7.50

if (intAge <6 ) decTicketPrice = 0.00

if (intAge >5 ) and (intAge < 13) decTicketPrice += -4.00

if (intAge > 12) and (intAge <20) decTicketPrice += -3.00

if (intAge > 62) decTicketPrice += -2.00

 

 

Still, no real reason for "else" conditionals.

The reason is the assignment called for it.

 

Assignments are rarely designed to be the most efficient, but rather to teach a concept.

 

Not that it matters, the OP is clueless and wanted a handout.  And got it.

  • 0
  On 29/08/2013 at 22:31, adrynalyne said:

The reason is the assignment called for it.

 

Assignments are rarely designed to be the most efficient, but rather to teach a concept.

 

Not that it matters, the OP is clueless and wanted a handout.  And got it.

True, I suppose.

I always received 'extra credit' for thinking beyond the assignment though.

  • 0
  On 29/08/2013 at 22:40, abecedarian paradoxious said:

True, I suppose.

I always received 'extra credit' for thinking beyond the assignment though.

Heh, where I went, the instructors weren't allowed to give you extra credit.

This topic is now closed to further replies.
  • Posts

    • I am low-key enjoying the new start menu of 25H2 build. Looks like the management team who shoved the Recommended Section down our throats up till now got fired in recent gommage at MS. Also loving the 6Ghz Hotspot feature. I only enabled these 2 features and I am happy. I keep an eye on MDL forums for 26200.xxxx updates once a week to stay up to date manually. I downloaded the latest build from https://uupdump.net selected Dev Channel tab and downloaded amd64 build. Let the script ripp. Then I used vivetool to enable the above 2 features • 25H2 New Start Menu ViVeTool.exe /enable /id:47205210,49221331,49381526,49402389,49820095,55495322,48433719 • Enable Wifi 6Ghz Hotspot ViVeTool.exe /enable /id:40466470,48433719 Reboot and enjoy. Almost all the above info was provided by Neowin at some point.
    • Indeed, I do think its sad in some ways a corporation can never be content with "performing well across every metric" and having over £59 billion cash on hand.
    • They've been focusing on security and quality? Could have fooled me. Their own paying customers literally just got breached because they failed to push SharePoint updates downstream to on prem servers operating outside of their "365" ecosystem.
    • The animosity is unnecessary, when I opened the page I only saw one response which never mentioned your other steps, and when I hit reply it jumped straight to the bottom and again, I saw no other responses.  I was simply agreeing with the first comment that said yes, you should be fine if you erase its current operating system. Using another PC, or the copy of Windows that comes on that PC (former option is more trustworthy), download and run the Windows Media Creation tool.  It will walk you thru the process of downloading Windows and writing it to a USB stick.  It will even ask you at one point whether you're reinstalling it to the current machine or installing it on another machine. Then just boot the PC in question from that USB stick.  Usually spamming Esc, Del, F-8, F-9, F-10, F-11, F-12 or F-2 immediately after power on will bring up a boot menu, it varies by manufacturer.  If Windows starts booting you either missed your window or hit the wrong key. Follow the on-screen instructions.  When it gets to the disk formatting part I usually just delete all the partitions on the destination drive, then select the unpartitioned space as my destination.  The Windows installer will then automatically partition the drive as needed. Be prepared to download drivers from the PC manufacturer's website, they may not come bundled with Windows and you may not be able to use things like WiFi or ethernet until you have them.  They "might" work straight away, but they also might not.  Better to be prepared with a spare PC and a USB stick to transfer them over.
    • Wise Disk Cleaner 11.2.5 by Razvan Serea Wise Disk Cleaner is a free disk utility designed to help you keep your disk clean by deleting any unnecessary files. Usually, these unnecessary, or junk files appear as a result of program's incomplete uninstalls, or Temporary Internet Files. It is best if these files are wiped out from time to time, since they may, at some point, use a considerable amount of space on your drives. Wise Disk Cleaner, with its intuitive and easy to use interface, helps you quickly wipe out all the junk files. Using the program is indeed easy. It also works fast when both scanning for files and deleting files. The new Wise Disk Cleaner has more advantages: improved performance, better interface and scans/cleans more thoroughly. Wise Disk Cleaner Free provides lifetime free update service and Unlimited Free technical support. The first Slimming System software Wise Disk Cleaner is the first system slimming tool, which will help you to remove Windows useless files that you don't need, such as Korean IME, Windows Sample music, videos, pictures, Installers and Uninstallers of Updates Patches etc. Wise Disk Cleaner 11.2.5 Build 845 changelog: Added cleaning rules for Legacy Games Launcher, Letasoft Sound Booster, Macrium Reflect, MagicLine4NX, MAGIX Photostory, MakeHuman, Max Recorder, Maxprog iCash, Lexware, LG PC Suite, Lightworks, LINE, Listary, and LockHunter. Improved cleaning rules for Xunlei, PowerToys, Meitu, OneDrive, and Tencent Video. For security reasons, users can no longer delete the latest system restore point in the Restore Center. Enhanced System Slimming. Fixed minor bugs from the previous version. Download: Wise Disk Cleaner 11.2.5 | 6.9 MB (Freeware) Download: Portable Wise Disk Cleaner 11.2.5 | 7.3 MB View: Wise Disk Cleaner Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Year In
      armandointerior640 earned a badge
      One Year In
    • One Month Later
      armandointerior640 earned a badge
      One Month Later
    • One Month Later
      Itbob513626 earned a badge
      One Month Later
    • Week One Done
      Itbob513626 earned a badge
      Week One Done
    • Rookie
      EdwardFranciscoVilla went up a rank
      Rookie
  • Popular Contributors

    1. 1
      +primortal
      615
    2. 2
      ATLien_0
      236
    3. 3
      Xenon
      156
    4. 4
      +FloatingFatMan
      122
    5. 5
      Michael Scrip
      115
  • Tell a friend

    Love Neowin? Tell a friend!