/* TMA02 q3c */ /* Author: Chan Chi Ming, s93504843, Date of authoring: 29/1/2001 this program is used to decrypt a message according to a key entered by user.*/ #include <condefs.h> #pragma hdrstop #include <stdio.h> #include <string.h> //--------------------------------------------------------------------------- #pragma argsused void decrypt(char* message, int length, int key) { /*function body of decrypt*/ int i, diff; /*index*/ char demessage[100]; /*string holds the decrypted message*/ for(i = 0; i < length; i++){ if((message[i] >= 'A') && (message[i] <= 'Z')) { /*check the character whether in range 'A' to 'Z' or not*/ demessage[i] = message[i] - key; } /*decrypt action*/ else { demessage[i] = message[i]; } /*no action to char out of range*/ } for(i = 0; i < length; i++){ /*rearrange the character out of range after decryption*/ if((demessage[i] < 'A')&&(demessage[i]!= ' ')) { diff = 'A' - demessage[i]; demessage[i] = '[' - diff; } } printf("\n"); printf("The message decrypted is: "); /*print out the decrypted message*/ puts(demessage); } int main(int argc, char **argv) /*Main program*/ { char message[100]; /*variable declaration*/ int key; int length = 0; printf("Enter a message to be decrypted: \n"); /*ask user to input*/ gets(message); printf("Enter the key: "); scanf("%d", &key); length = strlen(message); /*find out the length of message by function strlen*/ decrypt(message, length, key); /*call function decrypt*/ fflush(stdin); getchar(); return 0; }