209k views
5 votes
c++ 2.30 LAB: Phone number breakdown Given a long long integer representing a 10-digit phone number, output the area code, prefix, and line number, separated by hyphens. Ex: If the input is: 8005551212 the output is: 800-555-1212 Hint: Use % to get the desired rightmost digits. Ex: The rightmost 2 digits of 572 is gotten by 572 % 100, which is 72. Hint: Use / to shift right by the desired amount. Ex: Shifting 572 right by 2 digits is done by 572 / 100, which yields 5. (Recall integer division discards the fraction). For simplicity, assume any part starts with a non-zero digit. So 999-011-9999 is not allowed. LAB

1 Answer

6 votes

Answer:

#include <iostream>

using namespace std;

int main()

{

//declare variable to store phone numbers,its area code, prefix and line number.

long phone_number;

int area_code, prefix,line_number;

cout<<"Enter 10-digit phone number:"<<endl;

//input 10-digit phone number

cin>>phone_number;

//logic to find area_code, prefix, and line_number.

area_code = phone_number/10000000;

prefix = (phone_number/10000)%1000;

line_number = phone_number%10000;

//output phone number in asked format.

cout<<area_code<<"-"<<prefix<<"-"<<line_number<<endl;

return 0;

}

Output:

Enter 10-digit phone number:

8005551212

800-555-1212

Step-by-step explanation:

In the above program 10 digit phone number entered by user will be stored in the variable phone_number.

Then using this phone_number variable area_code, prefix, and line number are calculated using the following logic:

area_code = phone_number/10000000;

prefix = (phone_number/10000)%1000;

line_number = phone_number%10000;

Finally these area_code, prefix, and line_number are displayed with hyphen in between using cout statement.

User Manikanta B
by
5.5k points