program to make an marksheet of student
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <dos.h>
void main_menu();
void create_marksheet();
void delete_marksheet();
void view_marksheet();
void switch_case(int);
typedef struct
{
long roll;
int marks[6], total,i;
float p;
char fname[20],lname[10], result[6];
}student;
FILE *fp, *tfp;
student s;
char cont;
int i;
void main()
{
clrscr();
main_menu();
}
void main_menu()
{
int ch;
textcolor(9);
for(i=0;i<42;i++)
{
gotoxy(25+i,5);
printf("%c",254);
}
printf("nttt Sagarmatha Engineering College");
printf("nttt Department of Computer Engineering");
for(i=0;i<42;i++)
{
gotoxy(25+i,8);
printf("%c",254);
}
printf("nntttt Select Operationn");
for(i=0;i<18;i++)
{
gotoxy(35+i,11);
printf("%c",254);
}
printf("ntttt 1. Create Marksheetntttt 2. View Marksheetntttt 3. Delete Marksheetntttt 4. Exit");
printf("nnnnnttt Enter your choice (1-2-3-4):");
scanf("%d", &ch);
switch_case(ch);
}
void create_marksheet()
{
int i,j;
char cont1;
clrscr();
textcolor(9);
fp=fopen("data.txt","a+");
if(fp==NULL)
{
printf("nnFile could not be created !!");
printf("nnPress any key to continue.....");
getch();
exit(0);
}
printf("Enter Your First Name:");
scanf("%s",s.fname);
printf("Enter Your Last Name:");
scanf("%s",s.lname);
printf("Enter Your Roll Number:");
scanf("%ld",&s.roll);
printf("Enter your marks in Computer Programming:");
scanf("%d", &s.marks[0]);
printf("Enter your marks in Engineering Mathematics I:");
scanf("%d", &s.marks[1]);
printf("Enter your marks in Basic Electrical Engineering:");
scanf("%d", &s.marks[2]);
printf("Enter your marks in Engineering Physics:");
scanf("%d", &s.marks[3]);
printf("Enter your marks in Engineering Drawing I:");
scanf("%d", &s.marks[4]);
printf("Enter your marks in Applied Mechanics:");
scanf("%d", &s.marks[5]);
for(i=0;i<6;i++)
{
s.total+=s.marks[i];
}
for(i=0;i<6;i++)
{
if(s.marks[i]<40)
{
s.total=0;
s.p=0.0;
strcpy(s.result,"FAILED");
break;
}
else
{
s.p= (float) s.total/6.0;
strcpy(s.result,"PASSED");
}
}
fwrite(&s,sizeof(s),1,fp);
printf("nnnnnnnnnnttt Record successfully entered!");
printf("nnntttPress any key to continue.......n");
fflush(stdin);
fclose(fp);
getch();
clrscr();
main_menu();
}
void delete_marksheet()
{
int i,j,k;
char name_d[10];
clrscr();
textcolor(9);
textbackground(0);
printf("Enter name to delete:");
scanf("%s", name_d);
fp=fopen("data.txt", "r+");
tfp=fopen("temp","wb+");
if(fp==NULL|| tfp==NULL)
exit(0);
while(fread(&s,sizeof(s),1,fp)==1)
{
if(strcmp(s.fname, name_d)==0)
{
continue;
}
else
{
fwrite(&s, sizeof(s),1,tfp);
}
}
remove("data.txt");
rename("temp", "data.txt");
fclose(fp);
fclose(tfp);
clrscr();
main_menu();
}
void view_marksheet()
{
int i,j, found=0;
long vroll;
char cont2, name_v[10];
fp=fopen("data.txt","r+");
if(fp==NULL)
exit(0);
clrscr();
textcolor(9);
textbackground(0);
printf("Enter name to view the marksheet:");
scanf("%s",name_v);
while(fread(&s,sizeof(s),1,fp)==1)
{
if(strcmp(s.fname,name_v)==0)
{
s.fname[0]=toupper(s.fname[0]);
s.lname[0]=toupper(s.lname[0]);
printf("nName: %s %sn", s.fname, s.lname);
printf("nRoll Number: %ldn", s.roll);
printf("nt==============================================================n");
printf("ttSubject ttt Marks Obtained");
printf("nt==============================================================nn");
printf("ttComputer Programming ttt %dn", s.marks[0]);
printf("ttEngineering Mathematics Itt %dn", s.marks[1]);
printf("ttBasic Electrical Engineeringtt %dn",s.marks[2]);
printf("ttEngineering Physics ttt %dn", s.marks[3]);
printf("ttEngineering Drawing I ttt %dn", s.marks[4]);
printf("ttApplied Mechanics ttt %dn", s.marks[5]);
printf("nt==============================================================nn");
if(s.total==0)
printf("tTotal Marks: --n");
else
printf("tTotal Marks: %dn", s.total);
if(s.p==0.0)
printf("ntPercentage: -- n");
else
printf("ntPercentage: %.2fn", s.p);
printf("ntResult: %s", s.result);
printf("nntttPress any key to continue.....");
fclose(fp);
getch();
found=1;
clrscr();
main_menu();
break;
}
}
if(found==0)
{
clrscr();
printf("nnntttt %s not found!n", name_v);
printf("nttt Press any key to continue....");
getch();
clrscr();
main_menu();
}
}
void switch_case(int x)
{
switch(x)
{
case 1:
create_marksheet();
break;
case 2:
view_marksheet();
break;
case 3:
delete_marksheet();
break;
case 4:
exit(0);
break;
default:
clrscr();
textcolor(9);
textbackground(0);
printf("nnInvalid Choice!");
printf("nPress any key to continue....");
getch();
clrscr();
main_menu();
break;
}
}
