Note that there are some explanatory texts on larger screens.

plurals
  1. POError: Jump to case label
    primarykey
    data
    text
    <p>I wrote a program which involves use of switch statements... However on compilation it shows:</p> <blockquote> <p>Error: Jump to case label.</p> </blockquote> <p>Why does it do that?</p> <pre><code>#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; class contact { public: string name; int phonenumber; string address; contact() { name= "Noname"; phonenumber= 0; address= "Noaddress"; } }; int main() { contact *d; d = new contact[200]; string name,add; int choice,modchoice,t;//Variable for switch statement int phno,phno1; int i=0; int initsize=0, i1=0;//i is declared as a static int variable bool flag=false,flag_no_blank=false; //TAKE DATA FROM FILES..... //We create 3 files names, phone numbers, Address and then abstract the data from these files first! fstream f1; fstream f2; fstream f3; string file_input_name; string file_input_address; int file_input_number; f1.open("./names"); while(f1&gt;&gt;file_input_name){ d[i].name=file_input_name; i++; } initsize=i; f2.open("./numbers"); while(f2&gt;&gt;file_input_number){ d[i1].phonenumber=file_input_number; i1++; } i1=0; f3.open("./address"); while(f3&gt;&gt;file_input_address){ d[i1].address=file_input_address; i1++; } cout&lt;&lt;"\tWelcome to the phone Directory\n";//Welcome Message do{ //do-While Loop Starts cout&lt;&lt;"Select :\n1.Add New Contact\n2.Update Existing Contact\n3.Display All Contacts\n4.Search for a Contact\n5.Delete a Contact\n6.Exit PhoneBook\n\n\n";//Display all options cin&gt;&gt;choice;//Input Choice from user switch(choice){//Switch Loop Starts case 1: i++;//increment i so that values are now taken from the program and stored as different variables i1++; do{ cout&lt;&lt;"\nEnter The Name\n"; cin&gt;&gt;name; if(name==" "){cout&lt;&lt;"Blank Entries are not allowed"; flag_no_blank=true; } }while(flag_no_blank==true); flag_no_blank=false; d[i].name=name; cout&lt;&lt;"\nEnter the Phone Number\n"; cin&gt;&gt;phno; d[i1].phonenumber=phno; cout&lt;&lt;"\nEnter the address\n"; cin&gt;&gt;add; d[i1].address=add; i1++; i++; break;//Exit Case 1 to the main menu case 2: cout&lt;&lt;"\nEnter the name\n";//Here it is assumed that no two contacts can have same contact number or address but may have the same name. cin&gt;&gt;name; int k=0,val; cout&lt;&lt;"\n\nSearching.........\n\n"; for(int j=0;j&lt;=i;j++){ if(d[j].name==name){ k++; cout&lt;&lt;k&lt;&lt;".\t"&lt;&lt;d[j].name&lt;&lt;"\t"&lt;&lt;d[j].phonenumber&lt;&lt;"\t"&lt;&lt;d[j].address&lt;&lt;"\n\n"; val=j; } } char ch; cout&lt;&lt;"\nTotal of "&lt;&lt;k&lt;&lt;" Entries were found....Do you wish to edit?\n"; string staticname; staticname=d[val].name; cin&gt;&gt;ch; if(ch=='y'|| ch=='Y'){ cout&lt;&lt;"Which entry do you wish to modify ?(enter the old telephone number)\n"; cin&gt;&gt;phno; for(int j=0;j&lt;=i;j++){ if(d[j].phonenumber==phno &amp;&amp; staticname==d[j].name){ cout&lt;&lt;"Do you wish to change the name?\n"; cin&gt;&gt;ch; if(ch=='y'||ch=='Y'){ cout&lt;&lt;"Enter new name\n"; cin&gt;&gt;name; d[j].name=name; } cout&lt;&lt;"Do you wish to change the number?\n"; cin&gt;&gt;ch; if(ch=='y'||ch=='Y'){ cout&lt;&lt;"Enter the new number\n"; cin&gt;&gt;phno1; d[j].phonenumber=phno1; } cout&lt;&lt;"Do you wish to change the address?\n"; cin&gt;&gt;ch; if(ch=='y'||ch=='Y'){ cout&lt;&lt;"Enter the new address\n"; cin&gt;&gt;add; d[j].address=add; } } } } break; case 3 : { cout&lt;&lt;"\n\tContents of PhoneBook:\n\n\tNames\tPhone-Numbers\tAddresses"; for(int t=0;t&lt;=i;t++){ cout&lt;&lt;t+1&lt;&lt;".\t"&lt;&lt;d[t].name&lt;&lt;"\t"&lt;&lt;d[t].phonenumber&lt;&lt;"\t"&lt;&lt;d[t].address; } break; } } } while(flag==false); return 0; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload