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!
