Codes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

LAST GROUP EXERCISES

#include <stdio.h>

#include <ctype.h> // Include the ctype.h library for toupper() function

#define MAX_SIZE 1000 // Maximum string size

int main() {

char str[MAX_SIZE];

// Read string from user

printf("Enter a string: ");

fgets(str, MAX_SIZE, stdin); // Use stdin to read from the standard input

// Remove newline character if it's there (which fgets() reads)

size_t len = strlen(str); // Include the string.h library for strlen function

if (len > 0 && str[len - 1] == '\n') {

str[len - 1] = '\0';

// Convert string to uppercase using toupper() function

for (int i = 0; str[i]; i++) {

str[i] = toupper(str[i]);

// Print the converted string

printf("Uppercase String: %s\n", str); // Use %s to print a string

return 0;

#include <stdio.h>

#include <stdbool.h>

#include <ctype.h>

// Structure to store employee information

struct Employee {

char full_name[100];

char sex;
char cellphone_number[15];

int employee_id;

char marital_status;

};

// Function to validate and get employee information

void getEmployeeInfo(struct Employee *employee) {

printf("Enter Full Name: ");

fgets(employee->full_name, sizeof(employee->full_name), stdin);

do {

printf("Enter Sex (M/F): ");

scanf(" %c", &employee->sex);

employee->sex = toupper(employee->sex); // Convert input to uppercase

} while (employee->sex != 'M' && employee->sex != 'F');

printf("Enter Cellphone Number: ");

scanf("%s", employee->cellphone_number);

do {

printf("Enter Employee ID: ");

if (scanf("%d", &employee->employee_id) != 1) {

printf("Invalid input. Please enter a valid employee ID.\n");

while (getchar() != '\n'); // Clear input buffer

} while (employee->employee_id < 1000); // Assuming employee IDs must be at least 1000

do {

printf("Enter Marital Status (S for Single, M for Married): ");

scanf(" %c", &employee->marital_status);

employee->marital_status = toupper(employee->marital_status); // Convert input to uppercase

} while (employee->marital_status != 'S' && employee->marital_status != 'M');

// Function to display employee information


void displayEmployeeInfo(struct Employee employee) {

printf("\nEmployee Information:\n");

printf("Full Name: %s", employee.full_name);

printf("Sex: %c\n", employee.sex);

printf("Cellphone Number: %s\n", employee.cellphone_number);

printf("Employee ID: %d\n", employee.employee_id);

printf("Marital Status: %c\n", employee.marital_status);

int main() {

struct Employee employee;

printf("Welcome to the Employee Registration Page\n");

getEmployeeInfo(&employee); // Get employee information

displayEmployeeInfo(employee); // Display the entered information

return 0;

#include <stdio.h>

#include <ctype.h> // Include the ctype.h library for character type checking

void determineInputType(char input);

int main() {

char input;

// Request user input

printf("Enter a single character or digit: ");

scanf(" %c", &input); // Use %c to read a single character, and add a space before %c to skip leading

whitespace

// Determine the type of input

determineInputType(input);

return 0;

void determineInputType(char input) {


if (isdigit(input)) {

printf("You entered an integer.\n");

} else if (isalpha(input)) {

printf("You entered a character.\n");

} else {

printf("You entered a special character.\n");

#include <stdio.h>

#include <string.h>

// Function to provide responses based on user queries

void respondToUserQuery(const char* query) {

if (strstr(query, "programs") != NULL) {

printf("CPUT offers a wide range of programs in the faculties of engineering, computing, and

architecture.\n");

} else if (strstr(query, "registration") != NULL) {

printf("To register at CPUT, please visit our official website and follow the registration

instructions.\n");

} else if (strstr(query, "bursary") != NULL) {

printf("CPUT provides bursary opportunities to eligible students. You can find more information on

our financial aid office's website.\n");

} else {

printf("I'm sorry, I couldn't understand your query. Please ask about EBE programs, registration, or

bursary opportunities.\n");

int main() {

printf("Welcome to the CPUT Chatbot. How can I assist you today? (Type 'exit' to quit)\n");

char user_input[100];
while (1) {

printf("You: ");

fgets(user_input, sizeof(user_input), stdin);

user_input[strcspn(user_input, "\n")] = '\0'; // Remove the newline character

if (strcmp(user_input, "exit") == 0) {

printf("CPUT Chatbot: Goodbye!\n");

break;

respondToUserQuery(user_input);

return 0;

#include <stdio.h>

union Data {

int i;

float f;

char str[20]; // Use a character array to store a string

};

int main() {

union Data data;

data.i = 10;

printf("Data as integer: %d\n", data.i);

data.f = 3.14;

printf("Data as float: %f\n", data.f); // Use %f to print a float

strcpy(data.str, "Hello, Union!"); // Use the strcpy function to copy a string

printf("Data as string: %s\n", data.str);

return 0;

#include <stdio.h>
// Define a structure named "Person" to represent a person's information

struct Person {

char name[50];

int age;

float height;

};

int main() {

// Declare a variable of type "struct Person"

struct Person person1;

// Assign values to the members of the structure

strcpy(person1.name, "John");

person1.age = 30;

person1.height = 5.9;

// Access and display the structure members

printf("Name: %s\n", person1.name);

printf("Age: %d\n", person1.age);

printf("Height: %.1f feet\n", person1.height);

return 0;

Algorithm for Implementing Access Control on Registration Page:

Start

Define constants for username length limit and special characters.

Prompt the user to enter a username.

Read and store the username.

Check the length of the username.

If the length of the username is greater than 6 characters, display an error message and ask the user to

provide a valid username.

If the length is within the limit, prompt the user to enter a password.

Read and store the password.


Check the password for the presence of at least one special character.

If the password does not contain a special character, display an error message and ask the user to

provide a password with a special character.

If both the username length and password meet the criteria, display a success message and proceed

with the registration process.

End

#include <stdio.h>

#include <string.h>

#include <stdbool.h>

#define MAX_USERNAME_LENGTH 6

// Function to check if a character is a special character

bool isSpecialCharacter(char ch) {

// You can define your own set of special characters here

char specialCharacters[] = "!@#$%^&*()-_=+[]{}|;:',.<>?/";

for (int i = 0; specialCharacters[i] != '\0'; i++) {

if (ch == specialCharacters[i]) {

return true;

return false;

int main() {

char username[MAX_USERNAME_LENGTH + 1]; // +1 for the null terminator

char password[100]; // Assuming maximum password length is 100

printf("Registration Page\n");

// Get the username

printf("Enter a username (max 6 characters): ");

scanf("%s", username);
if (strlen(username) > MAX_USERNAME_LENGTH) {

printf("Username is too long. Please provide a username with a maximum of 6 characters.\n");

return 1; // Exit with an error code

// Get the password

printf("Enter a password (must contain at least one special character): ");

scanf("%s", password);

bool containsSpecialCharacter = false;

for (int i = 0; password[i] != '\0'; i++) {

if (isSpecialCharacter(password[i])) {

containsSpecialCharacter = true;

break;

if (!containsSpecialCharacter) {

printf("Password must contain at least one special character.\n");

return 1; // Exit with an error code

printf("Registration successful. Username: %s\n", username);

return 0; // Exit with success code

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define NUMBER_OF_ASSESSMENTS 5

#define PASSING_SCORE 50

#define TOTAL_STUDENTS 100000

// Macro to calculate the probability of failing the subject

#define PROBABILITY_OF_FAILURE(desired_outcomes, total_events) ((double)(desired_outcomes) /


(double)(total_events))

int main() {

srand(time(NULL)); // Seed the random number generator with the current time

int studentsBelowPassing = 0;

for (int student = 0; student < TOTAL_STUDENTS; student++) {

int totalScore = 0;

for (int assessment = 0; assessment < NUMBER_OF_ASSESSMENTS; assessment++) {

int assessmentScore = rand() % 101; // Generate a random score between 0 and 100

totalScore += assessmentScore;

int averageScore = totalScore / NUMBER_OF_ASSESSMENTS;

if (averageScore < PASSING_SCORE) {

studentsBelowPassing++;

double probability = PROBABILITY_OF_FAILURE(studentsBelowPassing, TOTAL_STUDENTS);

printf("Probability of failing the subject: %.2f\n", probability);

return 0;

#include <stdio.h>

#define VBE 0.7

#define BETA_DC 150

// Structure to store circuit components

struct CircuitComponents {

double VCC;

double RB;

double RC;

};

// Union to store calculated results


union CircuitOutput {

double IB;

double IE;

double IC;

double VCB;

double VCE;

};

// Function to calculate parameters based on user's choice

void calculateParameters(struct CircuitComponents components, union CircuitOutput *output, int

choice) {

double VB = (components.VCC * components.RB) / (components.RB + components.RC);

double VE = VB - VBE;

switch (choice) {

case 1:

output->IB = VE / components.RB;

break;

case 2:

output->IE = BETA_DC * output->IB;

break;

case 3:

output->IC = BETA_DC * output->IB;

break;

case 4:

output->VCB = VCB - VB;

break;

case 5:

output->VCE = VCB - VE;

break;

default:
printf("Invalid choice.\n");

// Function to print the calculated results

void printResult(const union CircuitOutput *output, int choice) {

switch (choice) {

case 1:

printf("Base Current (IB): %.6f A\n", output->IB);

break;

case 2:

printf("Emitter Current (IE): %.6f A\n", output->IE);

break;

case 3:

printf("Collector Current (IC): %.6f A\n", output->IC);

break;

case 4:

printf("Collector-to-Base Voltage (VCB): %.2f V\n", output->VCB);

break;

case 5:

printf("Collector-to-Emitter Voltage (VCE): %.2f V\n", output->VCE);

break;

default:

break;

int main() {

struct CircuitComponents components;

union CircuitOutput output;

printf("Enter circuit components:\n");


printf("VCC (Collector Voltage): ");

scanf("%lf", &components.VCC);

printf("RB (Base Resistor): ");

scanf("%lf", &components.RB);

printf("RC (Collector Resistor): ");

scanf("%lf", &components.RC);

printf("Choose an option to calculate:\n");

printf("1. Base Current (IB)\n");

printf("2. Emitter Current (IE)\n");

printf("3. Collector Current (IC)\n");

printf("4. Collector-to-Base Voltage (VCB)\n");

printf("5. Collector-to-Emitter Voltage (VCE)\n");

int choice;

scanf("%d", &choice);

calculateParameters(components, &output, choice);

printResult(&output, choice);

return 0;

#include <stdio.h>

struct Date {

unsigned int day;

unsigned int month;

unsigned int year;

};

int compareDates(struct Date date1, struct Date date2) {

if (date1.year > date2.year) return 1;


else if (date1.year < date2.year) return -1;

else {

if (date1.month > date2.month) return 1;

else if (date1.month < date2.month) return -1;

else {

if (date1.day > date2.day) return 1;

else if (date1.day < date2.day) return -1;

else return 0; // dates are equal

int main() {

struct Date date1 = {10, 11, 2023};

struct Date date2 = {12, 10, 2023};

int result = compareDates(date1, date2);

if (result > 0) {

printf("Date 1 is more recent.\n");

} else if (result < 0) {

printf("Date 2 is more recent.\n");

} else {

printf("Both dates are equal.\n");

return 0;

}
#include <stdio.h>

#include <string.h>

struct Employee {

char name[50];

int id;

float salary;

};

int main() {

struct Employee employees[3];

for (int i = 0; i < 3; ++i) {

printf("Enter name: ");

scanf("%s", employees[i].name);

printf("Enter ID: ");

scanf("%d", &employees[i].id);

printf("Enter salary: ");

scanf("%f", &employees[i].salary);

int highestSalaryIndex = 0;

for (int i = 1; i < 3; ++i) {

if (employees[i].salary > employees[highestSalaryIndex].salary) {

highestSalaryIndex = i;

}
printf("Employee with highest salary:\n");

printf("Name: %s\n", employees[highestSalaryIndex].name);

printf("ID: %d\n", employees[highestSalaryIndex].id);

printf("Salary: %.2f\n", employees[highestSalaryIndex].salary);

return 0;

Write a program to store the roll no. (starting from 1), name and age of 5 students and then print the
details of the student with roll no. 2.

#include <stdio.h>

int main()

int i;

struct student

int roll_no;

char name[30];

int age;

};

struct student stud[5];

for(i=0; i<=4; i++)

printf("Student %d\n",i+1);

stud[i].roll_no = i+1;

printf("Enter name :\n");

scanf("%s",stud[i].name);
printf("Enter age :\n");

scanf("%d", &stud[i].age);

for(i=0; i<=4; i++)

if(stud[i].roll_no == 2)

printf("Student %d\n",i+1);

printf("Roll no. : %d\n", stud[i].roll_no);

printf("Name : %s\n", stud[i].name);

printf("Age. : %d\n", stud[i].age);

return 0;

#include <stdio.h>

#include <string.h>

struct Customer {

char name[50];

int accountNumber;

float balance;

};

void printCustomersWithLowBalance(struct Customer customers[], int numCustomers) {

printf("Customers with balance less than $200:\n");


for (int i = 0; i < numCustomers; ++i) {

if (customers[i].balance < 200) {

printf("%s\n", customers[i].name);

void addBalanceForRichCustomers(struct Customer customers[], int numCustomers) {

printf("Updated balances for customers with more than $1000:\n");

for (int i = 0; i < numCustomers; ++i) {

if (customers[i].balance > 1000) {

customers[i].balance += 100;

printf("%s: $%.2f\n", customers[i].name, customers[i].balance);

int main() {

struct Customer customers[15] = {

{"Alice", 1001, 150.50},

{"Bob", 1002, 2200.75},

{"Charlie", 1003, 180.20},

{"David", 1004, 1200.00},

// Add more customers as needed

};

int numCustomers = 4; // Number of customers in the array

// Task 1: Print names of customers with balance less than $200


printCustomersWithLowBalance(customers, numCustomers);

// Task 2: Add $100 to balance of customers with more than $1000 and print updated balances

addBalanceForRichCustomers(customers, numCustomers);

return 0;

#include <stdio.h>

#include <string.h>

struct Customer {

char name[50];

int accountNumber;

float balance;

};

void printCustomersWithLowBalance(struct Customer customers[], int numCustomers) {

printf("Customers with balance less than $200:\n");

for (int i = 0; i < numCustomers; ++i) {

if (customers[i].balance < 200) {

printf("%s\n", customers[i].name);

void addBalanceForRichCustomers(struct Customer customers[], int numCustomers) {

printf("Updated balances for customers with more than $1000:\n");

for (int i = 0; i < numCustomers; ++i) {


if (customers[i].balance > 1000) {

customers[i].balance += 100;

printf("%s: $%.2f\n", customers[i].name, customers[i].balance);

int main() {

struct Customer customers[15] = {

{"Alice", 1001, 150.50},

{"Bob", 1002, 2200.75},

{"Charlie", 1003, 180.20},

{"David", 1004, 1200.00},

// Add more customers as needed

};

int numCustomers = 4; // Number of customers in the array

// Task 1: Print names of customers with balance less than $200

printCustomersWithLowBalance(customers, numCustomers);

// Task 2: Add $100 to balance of customers with more than $1000 and print updated balances

addBalanceForRichCustomers(customers, numCustomers);

return 0;

}
#include<stdio.h>

int main()

printf("\n\n\t\tStudytonight - Best place to learn\n\n\n");

int n,i = 3, count, c;

printf("\nEnter the number of prime numbers required : ");

scanf("%d", &n);

if(n >= 1)

printf("\n\nFirst %d prime numbers are : ", n);

printf("2 ");

// iteration for n prime numbers

// i is the number to be checked in each iteration starting from 3

for(count = 2; count <= n; i++)

// iteration to check c is prime or not

for(c = 2; c < i; c++)

if(i%c == 0)

break;

if(c == i) // c is prime

{
printf("%d ", i);

count++; // increment the count of prime numbers

printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");

return 0;

#include<stdio.h>

int main()

printf("\n\n\t\tStudytonight - Best place to learn\n\n\n");

float a, b, c;

printf("Enter 3 numbers:\n\n");

scanf("%f%f%f", &a, &b, &c);

if(a >= b && a >= c)

/*

%.3f prints the floating number

upto 3 decimal places

*/

printf("\n\nLargest number = %.3f ", a);

else if(b >= a && b >= c)

{
printf("\n\nLargest number is = %.3f", b);

else

printf("\n\nLargest number is = %.3f", c);

printf("\n\n\t\t\tCoding is Fun !\n\n\n");

return 0;

#include <stdio.h>

struct Date {

int day;

int month;

int year;

};

void addDaysToDate(struct Date *date, int daysToAdd) {

date->day += daysToAdd;

// Update month and year if the day exceeds the maximum days in a month

while (date->day > 31) {

if ((date->month == 4 || date->month == 6 || date->month == 9 || date->month == 11) && date-


>day > 30) {

date->day -= 30;

date->month++;
} else if (date->month == 2) {

// Check for leap year

if ((date->year % 4 == 0 && date->year % 100 != 0) || (date->year % 400 == 0)) {

if (date->day > 29) {

date->day -= 29;

date->month++;

} else {

if (date->day > 28) {

date->day -= 28;

date->month++;

} else {

date->day -= 31;

date->month++;

// Update year if the month exceeds December

if (date->month > 12) {

date->month -= 12;

date->year++;

int main() {

struct Date currentDate = {5, 11, 2023}; // Assuming current date is November 5, 2023

int daysToAdd = 45;


// Add 45 days to the current date

addDaysToDate(&currentDate, daysToAdd);

printf("Current Date: %d/%d/%d\n", currentDate.day, currentDate.month, currentDate.year);

return 0;

#include <stdio.h>

#include <string.h>

int main() {

char sentence[100];

int vowelCount = 0;

printf("Enter a sentence: ");

fgets(sentence, sizeof(sentence), stdin);

for (int i = 0; i < strlen(sentence); i++) {

char ch = sentence[i];

// Check if the character is a vowel (lowercase or uppercase)

if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||

ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {

vowelCount++;

}
printf("Number of vowels in the sentence: %d\n", vowelCount);

return 0;

#include <stdio.h>

struct Person {

char name[50];

int age;

float height;

};

int main() {

struct Person person[3];

for(int i = 0; i < 3; i++) {

printf("Enter name: ");

scanf("%s", person[i].name);

printf("Enter age: ");

scanf("%d", &person[i].age);

printf("Enter height: ");

scanf("%f", &person[i].height);

int tallestPersonIndex = 0;

for(int i = 1; i < 3; i++) {


if(person[i].height > person[tallestPersonIndex].height) {

tallestPersonIndex = i;

printf("Details of the tallest person:\n");

printf("Name: %s\n", person[tallestPersonIndex].name);

printf("Age: %d\n", person[tallestPersonIndex].age);

printf("Height: %.2f\n", person[tallestPersonIndex].height);

return 0;

// C program to demonstrate

// example of toupper() function.

#include <ctype.h>

#include <stdio.h>

int main()

int j = 0;

char str[] = "geekforgeeks\n";

char ch;

while (str[j]) {

ch = str[j];

putchar(toupper(ch));

j++;

}
return 0;

#include<stdio.h>

#include<math.h>

#include "rlc.h"

#define pi 3.142

#define pi 3.142

#ifndef RLC_H_INCLUDED

#define RLC_H_INCLUDED

double Cal_impedance(double fc,double fl,double r,double *Xc,double *Xl,double *z);

double Cal_RMS_current(double z,double v);

double Cal_series_voltage(double r,double Xc,double Xl,double rms_i);

double Cal_Res_frequency(double l,double c);

double Cal_power(double rms_i, double r);

#endif // RLC_H_INCLUDED

void Cal_impedance(double fc,double fl,double r,double *Xc,double *Xl,double *z)

double Xz;

*Xc = 1/(2*pi*fc);

*Xl = 2*pi*fl;

Xz = *Xl-*Xc;

*z = sqrt((r*r)+(Xz*Xz));

double Cal_power(double rms_i, double r)


{

double P = rms_i*rms_i*r;

return P;

#define pi 3.142

double Cal_Res_frequency(double l,double c)

double f;

double s,result;

s=l*c;

result=sqrt(s);

f=1/(2*pi*result);

return f;

double Cal_RMS_current(double z,double v)

double rms_i;

rms_i=v/z;

return rms_i;

double Cal_series_voltage(double r,double Xc,double Xl,double rms_i)

double Vr = r*rms_i; double Vl = Xl*rms_i; double Vc = Xc*rms_i;

double Vz = Vl-Vc;

double Vs = sqrt((Vr*Vr)+(Vz*Vz));

return Vs;

}
int main(void)

// declare variable list

double r,l,c,f,v;

double Xc,Xl,z,rms_i,res_f,Vs,P;

// prompt user to enter circuit information

printf("Enter the value of Resistor(unit in ohm): ");

scanf("%lf",&r);

printf("Enter the value of Inductor(unit in henry): ");

scanf("%lf",&l);

printf("Enter the value of Capacitor(unit in farad): ");

scanf("%lf",&c);

printf("Enter the value of Source Voltage(unit in volt): ");

scanf("%lf",&v);

printf("Enter the value of AC Frequency(unit in Hertz): ");

scanf("%lf",&f);

// call function to perform RLC circuit calculation

Cal_impedance(f*c,f*l,r,&Xc,&Xl,&z);

rms_i=Cal_RMS_current(z,v);

Vs=Cal_series_voltage(r,Xc,Xl,rms_i);

P=Cal_power(rms_i,r);

res_f=Cal_Res_frequency(l,c);

printf("\n");

printf("************************ SOLUTION ************************\n\n");


// Print out the solution

printf("the value of XC, capacitive reactance:%f ohms\n",Xc);

printf("the value of XL, inductance reactance:%f ohms\n",Xl);

printf("the value of Z, impedance:%f ohms\n",z);

printf("the value of Irms, rms current:%f ampere\n",rms_i);

printf("the value of Vs, series voltage:%f volt\n",Vs);

printf("the value of P, power consumed:%f watts\n",P);

printf("the value of res_F, resonant frequency:%f hertz\n",res_f);

printf("\n**********************************************************\n");

#include <stdio.h>

#include <stdbool.h>

void printPrimes(int n) {

bool primes[n+1];

for(int i = 0; i <= n; i++) {

primes[i] = true;

for(int p = 2; p * p <= n; p++) {

if(primes[p] == true) {

for(int i = p * p; i <= n; i += p) {

primes[i] = false;

printf("Prime numbers between 2 and %d are: ", n);


for(int i = 2; i <= n; i++) {

if(primes[i]) {

printf("%d ", i);

printf("\n");

int main() {

int n;

printf("Enter the upper limit to find prime numbers: ");

scanf("%d", &n);

printPrimes(n);

return 0;

You might also like