나는 프로그램을 실행하고 프리미엄을 선택하면 프로그램을 실행 한 다음 정기적 인 서비스를위한 기능도 실행합니다. 문제는 줄에서 int main에 있습니다. 내가 뭘 잘못 했니? IT 부서는 문제를 분명히 설명하지 못했다고 말합니다. 이유는 여기에서 왜 그렇게 많은 텍스트가 있는지 알아야합니다.스위치와 기능
/************************************************/
/* Author: Sam LaManna */
/* Course: CSC 135 Lisa Frye */
/* Assignment: Program 3 Cell Phone Bill */
/* Due Date: 10/20/2011 */
/* Filename: program3.cpp */
/* Purpose: This program calculates and */
/* prints the bill for a cellular */
/* telephone company */
/************************************************/
//TODO:
//Fix account number issue: large numbers cause intfinte loop. Maybe use string?
//Complete premium and regular service calculation functions
//Output function - Figure out how to print
#include <iostream> //Basic input/output
#include <iomanip> //Manipulators
using namespace std;
void instruct(); //Function declaration for printing instructions
int accnum(); //Function declaration for account number
char servcode(); //Function declaration for service code
float regserv(); //Function declaration for regular service
float premserv (int& daymin, int& nightmin); //Function declaration for premium service
void output (float premiumserv, float regularserv); //Function declaration for printing results
int main()
{
int accountnum = 0; //Var for account number
char servicecode = 'a'; //Var for service code
float premiumserv = 0; //Var for premium service total
float regularserv = 0; //Var for regular service total
int daymin = 0;
int nightmin = 0;
instruct(); //Function call to print instructions
accountnum = accnum(); //Function call to input account number
servicecode = servcode(); //Function call to get service code
switch(servicecode) //Switch to determine which calc to use
{
case 'r':
break;
case 'R':
regserv();
break;
case 'p':
break;
case 'P':
premserv (daymin, nightmin);
break;
}
premiumserv = premserv (daymin, nightmin); //Function call for regular service
regularserv = regserv(); //Function call for premium service
cout <<"total" << premiumserv <<"day" << daymin << "night " << nightmin;
return 0;
}
/************************************************/
/* Name: instruct */
/* Description: Prints instructions to user */
/* Parameters: N/A */
/* Return Value: N/A */
/************************************************/
void instruct()
{
cout << "\n" << "This program will calculate the cellular telephone bill for a given customer when " << "\n"
<< "given the correct inputs. ";
//Prints instructions to user
return;
}
/************************************************/
/* Name: accnum */
/* Description: Get user account number */
/* Parameters: N/A */
/* Return Value: accnum */
/************************************************/
int accnum()
{
int accnum = 0; //Define var for account number
char accyn = 'n'; //Define char for user verify
int i = 1; //Define var for sentinel loop
do {
cout << "\n" << "\n" << "Please enter your account number: ";
cin >> accnum;
while ((accnum < 0) && (i<3))
{
cout << "\n" << "Error - invalid number, please try again.";
cout << "\n" << "Please enter your account number: ";
cin >> accnum;
i++;
if (i == 3)
{
cout << "\n" << "Too many invalid attempts, program terminating." << "\n"
<< "Have a nice day. " << "\n" << "\n";
exit (0);
} //end if
} //end while
cout << "\n";
cout << "Your account number is: " << accnum << "\n"
<< "Is this correct? [y/n] ";
cin >> accyn;
} while (accyn != 'y'); //end do/while loop
return accnum;
}
/************************************************/
/* Name: servcode */
/* Description: Get service type */
/* Parameters: N/A */
/* Return Value: servcode */
/************************************************/
char servcode()
{
char servcode = 'a'; //Define var for service code
char serviceyn = 'n'; //Define var for user verify
int i = 1; //Define var for sentinel loop
do {
cout << "\n" << "Please enter your service code, [R]egular or [P]remium:" << "\n";
cin >> servcode;
while ((servcode != 'R' && servcode != 'P' && servcode != 'r' && servcode != 'p') && (i < 3))
{
cout << "\n" << "Error - invalid service code, please try again. ";
cout << "\n" << "Please enter your service code: ";
cin >> servcode;
i++;
if (i == 3)
{
cout << "\n" << "Too many invalid attempts, program terminating." << "\n"
<< "Have a nice day. " << "\n" << "\n";
exit (0);
} //end if
} //end while
cout << "\n" << "You entered: " << servcode << "\n"
<< "Is that correct? [y,n]";
cin >> serviceyn;
} while (serviceyn != 'y'); // end do/while loop
return servcode;
}
/************************************************/
/* Name: regserv */
/* Description: Calculations for regular serv */
/* Parameters: N/A */
/* Return Value: regserv */
/************************************************/
float regserv()
{
int regmin = 0; //Var for number of minutes used
float regserv = 0; //Var for cost for regular service
cout << "\n" "Please enter the minutes used: " << "\n";
cin >> regmin;
regserv = (regmin - 50) * 0.2 + 10;
return regserv;
}
/************************************************/
/* Name: premserv */
/* Description: Calculations for premium serv */
/* Parameters: N/A */
/* Return Value: premserv */
/************************************************/
float premserv (int& daymin, int& nightmin)
{
float daytotal = 0; //Var for day total
float nighttotal = 0; //Var for night total
float premserv = 0; //Var for premium service cost
cout << "\n" << "Please enter the number of minutes used durring the day (6AM - 6PM): " << "\n";
cin >> daymin;
cout << "\n" << "Please enter the number of minutes used durring the night (6PM - 6AM): " << "\n";
cin >> nightmin;
daytotal = (daymin - 75) * 0.1;
nighttotal = (nightmin - 100) * 0.05;
premserv = 25 + daytotal + nighttotal;
return premserv;
}
IT가 맞았습니다 ... – Nate
어떻게 그렇게 문제를 나열하고 문제가 있다고 생각했습니다. 나는 전체 코드도 포함시켰다. 또 뭐야? –
부수적으로, 나는 프리미엄 서비스를 실행하기 위해 'P'와 'p'를 원하고 일반 서비스를 실행하려면 'R'과 'r'을 원한다고 가정합니다. 이게 니가 원하는거야? 현재 'r'또는 'p'를 입력하면 작동하지 않으므로 '중단'에 도달하고 즉시 종료됩니다. 당신이 원하는 것은 다음과 같이 그 휴식을 제거하는 것입니다 : case 'r': case 'R': regserv(); 대소 문자 구분 'p': 대소 문자 구분 'P': premserv (daymin, nightmin); –