need help putting my program in functions

i'm having trouble putting my program in functions

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
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

int main()
{
    char colon, answer;
    int hour, minute;
    string ampm;

    cout << "This program will convert a time in 12-hr notation to military time \n";

    do
    {
        cout << "Enter the time (ex. 11:11) \n";
        cin >> hour >> colon >> minute >> ampm;

        for(int i; i < ampm.length(); i++)
        {
            ampm[i] = toupper(ampm[i]); //makes the lower case input am or pm to upper case
        }

        if(ampm == "AM")
        {
            if(hour == 12)
                cout << "00" << minute << " hours \n";

            else if(hour == 10 || hour == 11)
                cout << hour << minute << " hours \n";

            else if(hour < 10)
                cout << "0" << hour << minute << " hours \n";
        }

        else if(ampm == "PM")
        {
            if(hour == 12)
                cout << hour << minute << " hours \n";

            else
                hour = hour + 12;
                cout << hour << minute << " hours \n";
        }

        cout << "Would you like to convert another time? (y/n) \n";
        cin >> answer;

    } while(answer == 'Y' || answer == 'y');

    cout << "Good-bye!";

    return 0;
}


this was my attempt, the program runs but nothing outputs after i input

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
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

void intro();
void input(char& colon, int& hour, int& minute, string& ampm);
void output(char& colon, int& hour, int& minute, string& ampm);

int main()
{
    char colon, answer;
    int hour, minute;
    string ampm;

    intro();

    do
    {
        input(colon, hour, minute, ampm);
        output(colon, hour, minute, ampm);

        cout << "Would you like to convert another time? (y/n) \n";
        cin >> answer;

    } while(answer == 'Y' || answer == 'y');

    cout << "Good-bye!";

    return 0;
}

void intro()
{
     cout << "This program will convert a time in 12-hr notation to military time \n";
}

void input(char& colon, int& hour, int& minute, string& ampm)
{
    cout << "Enter the time (ex. 11:11) \n";
    cin >> hour >> colon >> minute >> ampm;
}

void output(char& colon, int& hour, int& minute, string& ampm)
{
    for(int i; i < ampm.length(); i++)
        {
            ampm[i] = toupper(ampm[i]); //makes the lower case input am or pm to upper case
        }

        if(ampm == "AM")
        {
            if(hour == 12)
                cout << "00" << minute << " hours \n";

            else if(hour == 10 || hour == 11)
                cout << hour << minute << " hours \n";

            else if(hour < 10)
                cout << "0" << hour << minute << " hours \n";
        }

        else if(ampm == "PM")
        {
            if(hour == 12)
                cout << hour << minute << " hours \n";

            else
                hour = hour + 12;
                cout << hour << minute << " hours \n";
        }
}


thanks to anyone that helps
Last edited on
initialize the 'i' to 0:
1
2
3
4
5
for(int i = 0; i < ampm.length(); i++)
        {
            ampm[i] = toupper(ampm[i]); //makes the lower case input am or pm to upper case
        }
Topic archived. No new replies allowed.