Duplicating Output

I wanted to try using header files so I made this header:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//v1.1

#ifndef MATH_H
#define MATH_H

int add(int x, int y)
{
    return (x + y);
}

int sub(int x, int y)
{
    return (x - y);
}

int multi(int x, int y)
{
    return (x * y);
}

int divide(int x, int y)
{
    return (x / y);
}

#endif 


Which I then used in this program:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <string>
#include "math.h"

int main()
{
    using namespace std;
    
    int FirstInput, SecondInput, ChoiceInt;
    string Choice, ChoiceText;
    bool Error = false;
    
    cout << "Please enter the symbol of mathematical process you would like to use...\n";       
        
    do {
        cin >> Choice; 
        
        if (Choice == "*")
        {
               ChoiceText = "multiplied"; 
               ChoiceInt = 0;
               Error = false;
        }  
    
        else if (Choice == "+")
        {
               ChoiceText = "added";
               ChoiceInt = 1;
               Error = false;
        }
          
        else if (Choice == "-")
        {
               ChoiceText = "subtracted";
               ChoiceInt = 2;
               Error = false;
        }
         
        else if (Choice == "/")
        {
               ChoiceText = "divided";    
               ChoiceInt = 3;
               Error = false;
        }
        else
        {
               cout << "Please enter a valid symbol (+, -, *, /)\n";
               Error = true; 
        }    
       } while (Error == true);            
    
    cout << "Now enter a number to be " << ChoiceText << " by another number\n";
    cin >> FirstInput;
    
    cout << "Now enter another number...\n";
    cin >> SecondInput;
    
    switch (ChoiceInt)
    {
           case 0:    cout << FirstInput << " " << Choice << " " << SecondInput << " = " << multi(FirstInput, SecondInput) << endl;
           
           case 1:    cout << FirstInput << " " << Choice << " " << SecondInput << " = " << add(FirstInput, SecondInput) << endl;
           
           case 2:    cout << FirstInput << " " << Choice << " " << SecondInput << " = " << sub(FirstInput, SecondInput) << endl;
    
           case 3:    cout << FirstInput << " " << Choice << " " << SecondInput << " = " << divide(FirstInput, SecondInput) << endl;
    }
    
    cout << "\nPress ENTER to exit\n";
    cin.get();
    cin.get();
    return 0;
}


The program works as it should but when it outputs something it duplicates the answer with different answers (except dividing which works perfectly). Any help would be appreciated.

Thanks in advance.
missing breaks
Wow I feel stupid...

Thanks for that.
Topic archived. No new replies allowed.