Linkedlist
Linkedlist
Linkedlist
h>
#include <stdlib.h>
#include <string.h>
newNode->next = NULL;
return newNode;
}
if (current == NULL) {
printf("Record not found!\n");
return;
}
prev->next = current->next;
free(current);
printf("Record deleted successfully!\n");
}
int main() {
Node* head = NULL;
char name[100];
int regNumber, marks;
char choice;
char grade[3];
do {
printf("Menu:\n");
printf("1. Search student by name\n");
printf("2. Search students by grade\n");
printf("3. Delete student record\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf(" %c", &choice);
switch (choice) {
case '1':
printf("Enter student name to search: ");
scanf("%s", name);
Node* result = searchNodeByName(head, name);
if (result != NULL) {
printf("Record found!\n");
printf("Name\t\tReg. Number\tMarks\tGrade\n");
printf("%s\t\t%d\t\t%d\t%s\n", result->name, result->regNumber,
result->marks, result->grade);
} else {
printf("Record not found!\n");
}
break;
case '2':
printf("Enter grade to search: ");
scanf("%s", grade);
searchStudentsByGrade(head, grade);
break;
case '3':
printf("Enter student name to delete: ");
scanf("%s", name);
deleteNode(&head, name);
break;
case '4':
printf("Exiting program.\n");
break;
default:
printf("Invalid choice!\n");
}
printf("\n");
return 0;
}