I just created a new file for C++ Source, not C/C++ Header. here my code doesn't work. i appreciate your help. thanks
#include <stdio.h>
#include <ctype.h>
void
PrintUsage()
{
printf("Usage: vignere [ -e | -d ] key \n");
}
main(int argc, char** argv)
{
char* key;
char next, vignere;
int keylength, vigindex, i = 0;
if(argc < 3) { PrintUsage(); exit(1);}
if((keylength=strlen(argv[2])) > 26 || keylength <= 0)
{ printf("Key must be between 1 - 26 characters\n"), exit(1); }
key = argv[2];
if(strcmp(argv[1], "-d") == 0)
{
while( ((next = toupper(getchar())) != EOF))
{
if(next >= 64 && next <= 91)
{
vigindex = (int)(toupper(key[i]) - 'A');
if((int)(next-'A') >= vigindex)
{vignere = (char)(next - vigindex);}
else
{vignere = (char)((char)('Z' - vigindex - 'A' + 1) + (char)next); }
next = toupper(vignere);
i = (i+1) % keylength;
printf("%c", next);
}
}
}
else if (strcmp(argv[1], "-e") == 0)
{
while( ((next = tolower(getchar())) != EOF))
{
if(next >= 97 && next <= 122)
{
vigindex = ((next-'a') + (tolower(key[i] - 'a'))) % 26;
i = (i+1) % keylength;
next = 'a' + vigindex;
printf("%c", next);
}
}
}
}