c++ - Replacing the goto Statement -


i have limited experience c++ , wanted replace "goto" construct code. suggestion refactoring too

int main() {      int count;     int countsub = 0;     int usercount = 0;     int rolecount = 0;     int parentgroup;     cout<<"enter number of parentgroup"<< endl;     cin>> parentgroup;     int subgroup;     cout<<"enter number sub group"<< endl;     cin>> subgroup;     int rolepergroup;     cout<<"enter number role per sub group"<< endl;     cin>> rolepergroup;     int userpergroup;     cout<<"enter number user per role"<< endl;     cin>> userpergroup;          {         if (parentgroup == 0)          {              cout<<"error"<<endl;             exit(exit_failure);         }         else         {              for(count=1;count <= parentgroup; count ++)             {                                 {                     if(subgroup == 0) goto hello;                      else                     {                         for(countsub = 1;countsub<=subgroup; countsub ++)                         {                                                          {                                 hello:                                  if (rolepergroup == 0)                                 {                                     cout<<"error"<<endl;                                     exit(exit_failure);                                 }                                  else                                 {                                      for(rolecount = 1; rolecount<=rolepergroup; rolecount ++)                                     {                                                                                   {                                             if(userpergroup == 0) goto print;                                             else                                             {                                                      for(usercount = 1; usercount<=userpergroup; usercount ++)                                                 {                                                          print:     cout<<"parent groups are: "<< count <<" | "<<"sub group : "<<countsub<<" | "<<"role per sub group : "<< rolecount <<" | "<<"user per role : "<< usercount <<endl;                                                 }}                                             usercount --;                                         }while(usercount < 0);                                     }}                                 rolecount --;                             }while(rolecount < 0);                         }}                     countsub --;                 }while(countsub < 0);             }}         count --;     }while(count < 0); } 

please let me know if missed something

#include "stdafx.h" #include <iostream>  using namespace std;   void print(int count, int countsub, int rolepergroup, int usercount, int userpergroup) { for(int rolecount = 1; rolecount<=rolepergroup; rolecount ++) {      if(userpergroup == 0)      {         cout<<"parent groups are: "<< count <<" | "<<"sub group :     "<<countsub<<" | "<<"role per sub group : "<< rolecount <<" | "<<"user per role : "<< usercount <<endl;         continue;     }      for(usercount = 1; usercount<=userpergroup; usercount ++)         cout<<"parent groups are: "<< count <<" | "<<"sub group : "<<countsub<<" | "<<"role per sub group : "<< rolecount <<" | "<<"user per role : "<< usercount <<endl; } }  int main() {  int usercount = 0; int rolecount = 0; int parentgroup; cout<<"enter number of parentgroup"<< endl; cin>> parentgroup;  if (parentgroup == 0)  {      cout<<"parent group should not zero"<<endl;     exit(exit_failure); }  int subgroup; cout<<"enter number sub group"<< endl; cin>> subgroup; int rolepergroup; cout<<"enter number role per sub group"<< endl; cin>> rolepergroup;  if (rolepergroup == 0) {     cout<<"role per group should not zero"<<endl;     exit(exit_failure); }  int userpergroup; cout<<"enter number user per role"<< endl; cin>> userpergroup;   for(int count=1;count <= parentgroup; count ++) {     if(subgroup == 0)      {         print( count, 0, rolepergroup, usercount, userpergroup);         continue;     }      for(int countsub = 1;countsub<=subgroup; countsub ++)     {          print( count, countsub, rolepergroup, usercount, userpergroup);     } } } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -