I hate to bring this over here, but I need some C++ help
Posted: Sun Jun 13, 2004 10:59 pm
My instructor has us writing a thing to write skeleton programs. It takes input from the user in the form of library/header names, class names, ect. and outputs it in the correct format to a separate source file in the same directory. It looks like this
Excuse the quotes at the bottom, I had tried putting everything in a class but it wouldn't let me open an output file in the class for the class to use.
Anyway, it compiles and runs fine on the first selection, but when it get's back to the menu and you make a second selection it starts cycling through the menu over and over and won't go down to the switch statement.
I don't understand why it's doing this unless there is something wrong with my switch statement/menu system, in which case I'll primitize even more and switch it to $$$$ing "if" statements.
Any help would be appreciaed. Thanks in advance!
Code: Select all
//John Mynard
//CS-318
//Purpose: This program interacts with the programmer
// to generate the skeleton of a second program
// that the programmer with complete and debug.
//Date Created: Monday, June 7, 2004
//Date Last Edited: Monday, June 11, 2004
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{
//initialization of output file
ofstream out_stream;
out_stream.open ("sourcegen.cpp");
int menuchoice;
string name;
string type;
char loopcon = 'y';
//interactivity
while (menuchoice !=0)
{
cout << "Welcome to Code Generator" << endl;
cout << "Please enter a selection" << endl << endl;
cout << "Select 1 to add C++ Library/Header files" << endl;
cout << "Select 2 to add C++ Class declarations" << endl;
cout << "Select 3 to add C++ Structure declarations" << endl;
cout << "Select 4 to add constant variable declarations" << endl;
cout << "Select 5 to add variable declarations" << endl;
cout << "Select 0 to exit Code Generator" << endl;
cin >> menuchoice;
switch (menuchoice)
{
case 1:
{
while (loopcon == 'y' || loopcon == 'Y')
{
cout << "Enter the Library/Header name" << endl;
cin >> name;
out_stream << "#include <" << name << ">" << endl;
cout << "Are there any other Library/Header file you wish to include?" << endl;
cin >> loopcon;
}
out_stream << "using namespace std;" << endl << endl;
break;
}
case 2:
{
while (loopcon == 'y' || loopcon == 'Y')
{
cout << "Enter the Class name" << endl;
cin >> name;
out_stream << "struct " << name << endl;
cout << "Are there any other classes you wish to include?" << endl;
cin >> loopcon;
}
out_stream << endl << endl;
break;
}
case 3:
{
while (loopcon == 'y' || loopcon == 'Y')
{
cout << "Enter the Structure name" << endl;
cin >> name;
out_stream << "class " << name << endl;
out_stream << "{" << endl << "public:" << endl << "private:" << endl << endl;
cout << "Are there any other structures you wish to include?" << endl;
cin >> loopcon;
}
out_stream << endl << endl;
break;
}
case 4:
{
// Choice.ConstantQuery();
break;
}
case 5:
{
// Choice.VariableQuery();
break;
}
}
}
}
Anyway, it compiles and runs fine on the first selection, but when it get's back to the menu and you make a second selection it starts cycling through the menu over and over and won't go down to the switch statement.
I don't understand why it's doing this unless there is something wrong with my switch statement/menu system, in which case I'll primitize even more and switch it to $$$$ing "if" statements.
Any help would be appreciaed. Thanks in advance!
