| | |
Problem with string variable in void prnt function
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Mar 2005
Posts: 4
Reputation:
Solved Threads: 0
I'm writing a c++ program for a class I'm taking. I'm having a problem getting the string variable into the void print_results function. Basically, at the beginning of the main function, I ask the user for their name. I can use the name variable in the main function and it works fine, but I have to display all the results in a void print_results function, and I'm not quite sure how to get a string type variable into that function. I'm using Visual Studio .net. I initialialize it in main-String *name. I've looked in my book, and notes, but no info on it. If anyone could help me out a bit, by telling me how to put strings into the function call, that'd be great.
Thanks in advance
Jay
Thanks in advance
Jay
•
•
Join Date: Mar 2005
Posts: 36
Reputation:
Solved Threads: 1
C++ Syntax (Toggle Plain Text)
#include <iostream> using namespace std; void Print(); int main() { Print(); } void Print() { char Name[] //Your code }
If I understand what you asked right...
•
•
Join Date: Mar 2005
Posts: 4
Reputation:
Solved Threads: 0
Well this is what I have for the program. Don't laugh, I'm new at this. I'm want to make a line in the output (void print_results) function to output the user's name, but I keep getting error messages.
Thank you again
Jay
C++ Syntax (Toggle Plain Text)
/******************************************************************************** *FILENAME : Project.cpp * *PROGRAMMER : JMS * *PURPOSE : Compute and display commission rate and commission amt * *********************************************************************************/ #include "stdafx.h" #using <mscorlib.dll> using namespace System; //FUNCTION PROTOTYPES double calc_comm_rate(char, double); double calc_comm_amt(double, double); void print_results(char, double, double, double, double); int _tmain() { String *name; char status; double sales, commRate, commAmt, salesMinusComm; Console::WriteLine("________________________________________________________________________________"); Console::WriteLine("Hello, welcome to ACME Hammers Commission Calculator v1.0!\n"); Console::WriteLine("________________________________________________________________________________"); Console::WriteLine("Please enter your name: "); name = Console::ReadLine(); Console::Write("Please enter your status (P)art time or (F)ull time (letter only): "); status = Convert::ToChar(Console::ReadLine()); Console::Write("Please enter your sales: "); sales = Convert::ToDouble(Console::ReadLine()); Console::WriteLine("\nThank you, please hold while I compute your information and"); //function calls commRate = calc_comm_rate(status, sales); commAmt = calc_comm_amt(commRate, sales); salesMinusComm = sales - commAmt; print_results(status, sales, commRate, commAmt, salesMinusComm); return 0; }//END MAIN /******************************************************************************** *PURPOSE : Compute the commission rate * *PASSED IN : The employee's status and sales * *RETURNED : The commission rate * *********************************************************************************/ double calc_comm_rate(char status, double sales) { double commRate; if (status == 'p' || status == 'P') commRate = .035; else if (status == 'f' && sales < 10000 || status == 'F' && sales < 10000) commRate = .05; else commRate = .075; return commRate; }//END CALC_COMM_RATE /******************************************************************************** *PURPOSE : Compute the commission amount * *PASSED IN : The commission rate and amount of sales * *RETURNED : The amount of the commission * *********************************************************************************/ double calc_comm_amt(double commRate, double sales) { double commAmt; commAmt = commRate * sales; return commAmt; }//END CALC_COMM_AMT /******************************************************************************** *PURPOSE : Display results * *PASSED IN : All user information and computed information * *RETURNED : Nothing * *********************************************************************************/ void print_results(char status, double sales, double commRate, double commAmt, double salesMinusComm) { system("pause"); system("cls"); Console::WriteLine("Status: {0}\n", Convert::ToString(__box(status))); Console::WriteLine("Sales: {0}\n", sales.ToString("C2")); Console::WriteLine("Commission Rate: {0}\n", commRate.ToString("P1")); Console::WriteLine("Commission Amount: {0}\n", commAmt.ToString("C2")); Console::WriteLine("Sales Minus Commission: {0}\n", salesMinusComm.ToString("C2")); return; }//END PRINT_RESULTS
Thank you again
Jay
•
•
Join Date: Mar 2005
Posts: 53
Reputation:
Solved Threads: 1
Hi,
following shud work for you.
Modify the main function as
print_results(name, status, sales, commRate, commAmt, salesMinusComm);
instead of
print_results(status, sales, commRate, commAmt, salesMinusComm);
Change the print_results as follows.
void print_results(String*name, char status, double sales, double commRate, double commAmt, double salesMinusComm)
{
system("pause");
system("cls");
Console::WriteLine("Report for: {0}\n", name );
Console::WriteLine("Status: {0}\n", Convert::ToString(__box(status)));
Console::WriteLine("Sales: {0}\n", sales.ToString("C2"));
Console::WriteLine("Commission Rate: {0}\n", commRate.ToString("P1"));
Console::WriteLine("Commission Amount: {0}\n", commAmt.ToString("C2"));
Console::WriteLine("Sales Minus Commission: {0}\n", salesMinusComm.ToString("C2"));
return;
}//END PRINT_RESULTS
Let me know if you face some issues.
cheers,
aj.wh.ca
following shud work for you.
Modify the main function as
print_results(name, status, sales, commRate, commAmt, salesMinusComm);
instead of
print_results(status, sales, commRate, commAmt, salesMinusComm);
Change the print_results as follows.
void print_results(String*name, char status, double sales, double commRate, double commAmt, double salesMinusComm)
{
system("pause");
system("cls");
Console::WriteLine("Report for: {0}\n", name );
Console::WriteLine("Status: {0}\n", Convert::ToString(__box(status)));
Console::WriteLine("Sales: {0}\n", sales.ToString("C2"));
Console::WriteLine("Commission Rate: {0}\n", commRate.ToString("P1"));
Console::WriteLine("Commission Amount: {0}\n", commAmt.ToString("C2"));
Console::WriteLine("Sales Minus Commission: {0}\n", salesMinusComm.ToString("C2"));
return;
}//END PRINT_RESULTS
Let me know if you face some issues.
cheers,
aj.wh.ca
![]() |
Similar Threads
- how to enable/disable ToolStripMenuItem Name using String variable (VB.NET)
- Better Solution? String Builder? Censor List Function (ASP.NET)
- small problem in the string (C++)
Other Threads in the C++ Forum
- Previous Thread: Need a little hint
- Next Thread: Global char returns numbers instead of text
| Thread Tools | Search this Thread |
api array based beginner binary bitmap c++ c/c++ calculator char char* class code coding compile compiler console conversion count database delete deploy desktop developer dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelp homeworkhelper iamthwee ifstream input int integer java lib linkedlist linker list loop looping loops map math memory multiple news node number numbertoword output parameter pointer problem program programming project python random read recursion recursive reference rpg sorting string strings struct temperature template test text text-file tree unix url variable vector video visualstudio win32 windows winsock word wordfrequency wxwidgets





