-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStudent Management System
186 lines (180 loc) · 4.3 KB
/
Student Management System
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#include <stdio.h>
#include <string.h>
#include <conio.h>
FILE *fp;
struct students {
char firstname[30];
char lastname[30];
char roll_no[20];
char s_class[30];
char address[50];
char percentage[20];
} s ;
void addstudent();
void allstudent();
void search();
void delete();
int main() {
system("cls");
int ch, co ;
printf("\t\t\t\t\t<== Welcome to Student Management System ==> \n\n");
printf("1. Add Student \n");
printf("2. All Students \n");
printf("3. Reover Student \n");
printf("4. Search Student \n");
printf("Choose Your Choice --> ");
scanf("%d",&ch);
switch(ch) {
case 1 :
addstudent();
break;
case 2 :
allstudent();
break;
case 3 :
delete();
break;
case 4 :
search();
break;
default :
printf("\t\t\t\t\t\n<== Please Choose a Correct Option Please ==> \n");
printf("Do you Want To Do It Again \n Press [ 1 ] ---> \t ");
scanf("%d",&co);
if(co==1) {
main();
} else {
printf("\t\t\t\t\t\n <== Thanks For Usinf Our Student Management System ==> \n");
}
}
}
void addstudent() {
FILE *fp;
struct students s;
int an;
do {
system("cls");
fp=fopen("Student.txt","a+");
printf("\t\t\t\t\t\n <== Add Student ==> \n");
printf("Enter First Name -- > \t");
scanf("%s",&s.firstname);
printf("Enter Second Name --> \t");
scanf("%s",&s.lastname);
printf("Enter Roll Number --> \t");
scanf("%s",&s.roll_no);
printf("Enter Class --> \t");
scanf("%s",&s.s_class);
printf("Enter Address --> \t");
scanf("%s",&s.address);
fflush(stdin);
printf("Enter Percentage --> \t");
scanf("%s",&s.percentage);
if(fp==NULL) {
fprintf(stderr,"\t\t\t\t\t\n<== Unable To Store Record ==> \n");
} else {
printf("\t\t\t\t\t\t\n<== Student Added Successfully ==> \n");
}
fwrite(&s,sizeof(struct students),1,fp);
fclose(fp);
printf("Do you Want To Add Another Student PRESS [ 1 ] --> \t");
scanf("%d",&an);
} while(an==1);
main();
}
void allstudent() {
FILE *fp;
struct students s;
system("cls");
fp=fopen("student.txt","r");
printf("\t\t\t\t\t\n<== All Student Record ==> \n\n");
if(fp==NULL){
printf(stderr,"Unable To Open File \\n");
exit(0);
}
else{
while(fread(&s,sizeof(struct students),1,fp)>0){
printf("\n\t<------------------------------> \n\n");
printf("\tFirst Name --> \t%s\n",s.firstname);
printf("\tLast Name --> \t%s\n",s.lastname);
printf("\tRoll Number --> \t%s\n",s.roll_no);
printf("\tClass --> \t%s\n",s.s_class);
printf("\tAddress --> \t%s\n",s.address);
printf("\tPercentage --> \t%s\n",s.percentage);
printf("\n\t<------------------------------>\n");
}
}
fclose(fp);
getch();
main();
}
void search() {
FILE *fp;
struct students s;
char sr[20];
int found = 0 ;
system("cls");
fp=fopen("student.txt","r");
printf("\t\t\t\t\t\n<== All Student Record ==> \n\n");
printf("Enter The Roll Number --> ");
scanf("%s",&sr);
if(fp==NULL){
printf(stderr,"Unable To Open File \\n");
exit(0);
}
else{
while(fread(&s,sizeof(struct students),1,fp)>0){
if(strcmp(sr,s.roll_no)==0){
found = 1;
printf("\n\t<------------------------------> \n\n");
printf("\tFirst Name --> \t%s\n",s.firstname);
printf("\tLast Name --> \t%s\n",s.lastname);
printf("\tRoll Number --> \t%s\n",s.roll_no);
printf("\tClass --> \t%s\n",s.s_class);
printf("\tAddress --> \t%s\n",s.address);
printf("\tPercentage --> \t%s\n",s.percentage);
printf("\n\t<------------------------------>\n");
}
}
if(found == 1){
printf("\t\t\t\t\t\n<== Record Found ==> \n");
}
}
fclose(fp);
getch();
main();
}
void delete(){
FILE *fp , *ft;
struct students s;
printf("\t\t\t\t\t\n<== Delete Student ==>\n");
fp=fopen("student.txt","r");
ft=fopen("temp.txt","w");
char sr[20];
int found = 0;
printf("Enter The Roll Number --> ");
scanf("%s",&sr);
if(fp==NULL){
fprintf(stderr,"can't open file\n");
exit(0);
}
while(fread(&s,sizeof(struct students),1,fp)>0){
if(strcmp(sr,s.roll_no)==0){
found = 1;
}
else{
fwrite(&s,sizeof(struct students),1,ft);
}
}
fclose(fp);
fclose(ft);
if(!found){
printf("\n\t\t\t\tRecord not found\n");
}
if(found){
remove("student.txt");
rename("temp.txt","student.txt");
printf("\n\t\t\t\tRecord deleted succesfully\n");
}
getch();
main();
}