Answer:
I am writing a C program for the first part and Python program for the second part of the question.
<h2>1st program:</h2>
#include <stdio.h> //to use input output functions
#include <stdlib.h> // used here to access exit function
void main()
{ //start of the main() function body
char fname[100], character;
// fname is the name of the input file which contains characters and character //variable is used to store characters
FILE *original, *temporary;
/* two pointers of File type: original is used for the original input file and temporary is used for a temporary file name aux.txt */
printf("Enter the name of the text file to encrypt : ");
//prompts the user to enter the name of the file to be encrypted
scanf("%s",fname); //reads the name of the file from user
original=fopen(fname, "r");
//open the input file in read mode
if(original==NULL) {
//displays the following message if the file is empty or does not exists
printf("Cannot open original file");
exit(1); } //program exits
temporary=fopen("aux.txt", "w");
//creates a temporary file named aux.txt and open that file in write mode
if(temporary==NULL) {
//if temporary file could not be created
printf("Cannot create a temporary file");
fclose(original);
//closes the original input file
exit(2); } //program exits
while(1) {
character=fgetc(original);
/*pointer original moves through the input file and gets input from original input file one character at a time and store it in character variable */
if(character==EOF)
//when all characters are obtained and pointer is at end of file {
break; //the loop breaks }
else { //if EOF is not yet reached
character=character+100;
//add 100 to each character to encrypt the characters
fputc(character, temporary);
// fputc() writes a single character at a time to aux file } }
fclose(original); //closes input file
fclose(temporary);
//closes aux file
original=fopen(fname, "w"); //opens input file in write mode
if(original==NULL)
{
//if file does not exist display following message
printf("Cannot open the original file to write");
exit(3); }
//program exits
temporary=fopen("aux.txt", "r");
//open aux.txt file in read mode
if(temporary==NULL) {
//if pointer temporary is NULL
printf(" Cannot open temporary file to read");
fclose(original); //closes input file
exit(4); }
//program exits
while(1) {
character=fgetc(temporary);
//obtains every character from aux file pointed by temporary
if(character==EOF) //if end of file is reaced {
break; }
//the loop breaks
else {
//if end of file is not reached
fputc(character, original);
//puts every character to input file } }
printf(" %s is encrypted \n", fname);
//displays this message when input file is successfully encrypted
//closes input and aux text files
fclose(original);
fclose(temporary);
}
Explanation:
The program first asks the user to enter the name of the file. Then the program uses two pointers original for input file and temporary for aux text file. It first opens the file whose name is entered by the user and reads that file by getting each single character using fgetc() until the pointer reaches the end of the file. While reading each character of the input file, it encrypts every character using and puts that encrypted content in temporary file names aux.txt using fputc() until the pointer reaches the end of the file. Lastly all the encrypted strings of the are placed in the original input text file.
<h2>Second program:</h2>
# bool function that accepts character as parameter and returns true if its a #vowel and false otherwise
def isVowel(character):
if character.lower() in 'aeiou': #converts uppercase char to lowercase
return True #return true if character is a vowel
else:
return False #returns false if input character is not a vowel
The program has a function isVowel() which takes a character as a parameter to check if that character is a vowel. If character is in uppercase letters, it handles these characters using lower() method to convert the character to lowercase and then returns true if that character is a vowel otherwise returns false. To check the working of the function you can replace True and False with print statement such as:
if character.lower() in 'aeiou':
print("It is a vowel")
else:
print("It is not a vowel")
And after that you can call this function and pass a character to it as:
isVowel('i')