Hi
1: One way to the end the name is to input "0" once you have entered your name but this "0" would appear at the end of your name which doesn't look good. Is there some simple way to get over it? Please let me know.
Code:
// learning_example_arrays_and_strings.cpp
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
const int LEN = 20;
int main()
{
char name[LEN] = {0}; //twenty zeros
for(int i = 0; i < (LEN-1); i++)
{
cout << "enter letter " << (i+1) << " of your name: ";
cin >> name[i];
if (name[i] == '0')
{
break;
}
}
cout << "Your name: " << name << endl;
system("pause");
return 0;
}
[/code]
OUTPUT
Code:
Enter letter 1 of your name: j
Enter letter 2 of your name: a
Enter letter 3 of your name: c
Enter letter 4 of your name: k
Enter letter 5 of your name: s
Enter letter 6 of your name: o
Enter letter 7 of your name: n
Enter letter 8 of your name: 0
Your name: jackson0
Process returned 0 (0x0) execution time : 12.040 s
Press any key to continue.
2: I have changed the (LEN - 1) to just (LEN). It still works. I can input 20 characters instead of 19. But I get a weird looking character at 21st position at the end.
OUTPUT
Code:
Enter letter 1 of your name: j
Enter letter 2 of your name: a
Enter letter 3 of your name: c
Enter letter 4 of your name: k
Enter letter 5 of your name: s
Enter letter 6 of your name: o
Enter letter 7 of your name: n
Enter letter 8 of your name: 1
Enter letter 9 of your name: 1
Enter letter 10 of your name: 1
Enter letter 11 of your name: 1
Enter letter 12 of your name: 1
Enter letter 13 of your name: 1
Enter letter 14 of your name: 1
Enter letter 15 of your name: 1
Enter letter 16 of your name: 1
Enter letter 17 of your name: 1
Enter letter 18 of your name: 1
Enter letter 19 of your name: 1
Enter letter 20 of your name: 1
Your name: jackson1111111111111¶
Process returned 0 (0x0) execution time : 18.399 s
Press any key to continue.