Support our Blind Hand Charity by donating at 9818291723. Your contribution has the potential to bring about significant positive change for humanity.

Search This Blog

Thursday, June 6, 2024

STUDENT RECORD KEEPER

 def add(n):

    f=open('result.txt','a')

    x=n.split('#')

    for i in range(len(x)):

        f.write(x[i])

        if i==9:

            f.write('$')

        else:

            f.write('@')

    f.close()


def srch(a):

    f=open('result.txt')

    fr=f.read()

    fr=fr.split('$')

    c=0

    x=''

    for i in range(0,len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(0,len(fr)-1):

        if int(fr[i][1])==a:

            x=fr[i]

            c=1

    f.close()

    return [c,x]


def edit(n,a,b):

    f=open('result.txt')

    fr=f.read()

    f.close()

    fn=open('result.txt','w')

    t=0

    fr=fr.split('$')

    for i in range(len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(len(fr)-1):

        if int(fr[i][1])==a:

            fr[i][n]=str(b)

            t=1

        for j in range(len(fr[i])):

            fn.write(fr[i][j])

            if j==len(fr[i])-1:

                fn.write('$')

            else:

                fn.write('@')

    fn.close()

    return t


def disp():

    f=open('result.txt')

    fr=f.read()

    fr=fr.split('$')

    l=[]

    m=[]

    for i in range(0,len(fr)-1):

        fr[i]=fr[i].split('@')

        l.append([i,float(fr[i][9])])

        m.append(float(fr[i][9]))

    m.sort()

    i=j=0

    x=len(l)

    r=[]

    while len(l)>0 and j<x:

        if i==len(l):

            i=0

        if l[i][1]==m[j]:

            r.append(fr[l[i][0]])

            j+=1

        i+=1

    f.close()

    return r

def dell(a):

    f=open('result.txt')

    fr=f.read()

    f.close()

    fn=open('result.txt','w')

    t=0

    fr=fr.split('$')

    for i in range(len(fr)-1):

        fr[i]=fr[i].split('@')

    for i in range(len(fr)-1):

        if int(fr[i][1])==a:

            fr.pop(i)

            t=1

        for j in range(len(fr[i])):

            fn.write(fr[i][j])

            if j==9:

                fn.write('$')

            else:

                fn.write('@')

    fn.close()

    return t


while True:

    print("""Choose the operation to perform:

[1]. Add a record

[2]. Search a record

[3]. Display data

[4]. Edit a record

[5]. Delete a record

[6]. Exit""")

    o=int(input("Enter the operation number to perform = "))

    if o==6:

        print("Would you like to share feedback?")

        s=input("y/n ? = ")

        if s.lower()=='y':

            f=open("feedback250524","a")

            d=input("Enter your feedback : ")

            f.write(d)

            print("Thank you, your feedback is very valuable.")

            f.close()

        else:

            break

    elif o==1:

        sn=input("Enter Student name = ")

        fn=input("Enter Father name = ")

        mn=input("Enter Mother name = ")

        r=int(input("Enter Roll no. ="))

        s1=int(input("Enter marks of first subject = "))

        s2=int(input("Enter marks of second subject = "))

        s3=int(input("Enter marks of third subject = "))

        s4=int(input("Enter marks of fourth subject = "))

        s5=int(input("Enter marks of fifth subject = "))

        t=(s1+s2+s3+s4+s5)/5

        if 33<t<=100:

            p='PASS'

        else:

            p='FAIL'

        if 90<t<=100:

            r='A1'

        elif 80<t<=90:

            r='A2'

        elif 70<t<=80:

            r='B1'

        elif 60<t<=70:

            r='B2'

        elif 50<t<=60:

            r='C1'

        elif 40<t<=50:

            r='C2'

        elif 30<t<=40:

            r='D1'

        elif 20<t<=30:

            r='D2'

        else:

            r='E'

        n=sn+'#'+str(r)+'#'+fn+'#'+mn+'#'+str(s1)+'#'+str(s2)+'#'+str(s3)+'#'+str(s4)+'#'+str(s5)+'#'+str(t)+'#'+r+'#'+p

        add(n)

        print("RECORD ADDED")

    elif o==2:

        r=int(input("Enter Roll no. = "))

        c=srch(r)

        if c[0]==1:

            if len(c[1])>=1:

                print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

                print("Student Name\tRoll no.\tFather name\tMother name\tSub1\tSub2\tSub3\tSub4\tSub5\tPercentage\tGrade")

                print(c[1][0],'\t',c[1][1],'\t\t',c[1][2],'\t',c[1][3],'\t',c[1][4],'\t',c[1][5],'\t',c[1][6],'\t',c[1][7],'\t',c[1][8],'\t',c[1][9],'\t\t',c[1][10],'\t',c[1][11])

                print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

            else:

                print("No data available")

        else:

            print("Data not found")

    elif o==3:

        z=disp()

        print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

        print("Student Name\tRoll no.\tFather name\tMother name\tSub1\tSub2\tSub3\tSub4\tSub5\tPercentage\tGrade")

        for i in range(0,len(z)):

            print(z[i][0],'\t',z[i][1],'\t\t',z[i][2],'\t',z[i][3],'\t',z[i][4],'\t',z[i][5],'\t',z[i][6],'\t',z[i][7],'\t',z[i][8],'\t',z[i][9],'\t\t',z[i][10],'\t',z[i][11])

            print("──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────")

    elif o==4:

        a=input("Enter roll no. = ")

        print("""What do you want to modify:

[1]. Student name

[2]. Roll no.

[3]. Father name

[4]. Mother name

[5]. Subject 1

[6]. Subject 2

[7]. Subject 3

[8]. Subject 4

[9]. Subject 5

[10].Exit""")

        n=int(input("Enter the data number = "))

        if n==1 or n==3 or n==4:

            b=int("Enter element = ")

        elif n==10:

            break

        else:

            b=int(input("Enter element = "))

        c=edit(n-1,a,b)

        if c==1:

            print("Record updated")

        else:

            print("Record Does not exist")

    elif o==5:

        a=input("Enter Roll no. = ")

        c=dell(a)

        if c==1:

            print("Record Deleted")

        else:

            print("Record Does not exist")

print("""---------Thank You for accesing the program--------""")