Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Student Record System to insert student and parents information,record and remark,search,display,
- delete and update student's and parent's record with remark*/
- #include <stdio.h>
- #include <stdlib.h>
- /*structure to read date*/
- struct date
- {
- int dd;
- //*day
- int mm;
- //*month
- int yy;
- //*year
- };
- /*structure to read address*/
- struct address
- {
- char country[15];
- char city[15];
- char street_address[20];
- char temp_address[20];
- char perm_address[20];
- };
- /*structure to read student information */
- struct student
- {
- int roll;
- char f_name[30];
- char l_name[30];
- char program[30];
- char level[30];
- struct address a;
- struct date d_o_b;
- char contact[11];
- char e_mail[20];
- char gender;
- }db_student;
- /*structure to read parents information */
- struct parents
- {
- char f_name[30];
- char l_name[30];
- char relation[30];
- struct address a;
- char contact[10];
- char e_mail[20];
- }db_parents;
- //function to add student record to
- //add student information to the file
- //"student_info_file.dat
- void student_info_write();
- //function prototype for student information
- void parents_info_write();
- //function prototype for parents information
- void print_student_info();
- //function prototype to print student information
- int student_available(int);
- void student_info_write()
- {
- FILE *fp;
- fp=fopen("student_info_file.dat","a");
- /*pointer=fopen("file_name","open mode");
- a=append,add
- */
- fflush(stdin);
- printf("\n enter first name:");
- gets(db_student.f_name);
- printf("\n enter last name:");
- gets(db_student.l_name);
- printf("\n enter program:");
- gets(db_student.program);
- printf("\n enter level:");
- gets(db_student.level);
- printf("\n enter country:");
- gets(db_student.a.country);
- printf("\n enter city:");
- gets(db_student.a.city);
- printf("\n enter street_address:");
- gets(db_student.a.street_address);
- printf("\n enter temp_address:");
- gets(db_student.a.temp_address);
- printf("\n enter perm_address:");
- gets(db_student.a.perm_address);
- printf("\n enter d.o.b:");
- printf("\n enter year:");
- scanf("%d",&db_student.d_o_b.yy);
- printf("\n month:");
- scanf("%d",&db_student.d_o_b.mm);
- printf("\n day:");
- scanf("%d",db_student.d_o_b.dd);
- printf("\n enter contact:");
- sacnf("%d",&db_student.contact);
- printf("\n enter e_mail:");
- gets(db_student.e_mail);
- printf("\n gender?(M/F)");
- gets(db_student.gender);
- fwrite(&db_student,sizeof(db_student),1,fp);
- fclose(fp);
- }
- //function to write parents information
- void parents_info_write()
- {
- FILE *fp;
- fp=fopen("parents_info_file.dat","a");
- fflush(stdin);
- printf("\n enter first name:");
- gets(db_parents.f_name);
- fflush(stdin);
- printf("\n enter last name:");
- gets(db_parents.l_name);
- fflush(stdin);
- printf("\n enter relation:");
- gets(db_parents.relation);
- fflush(stdin);
- printf("\n enter country:");
- gets(db_parents.a.country);
- fflush(stdin);
- printf("\n enter city:");
- gets(db_parents.a.city);
- fflush(stdin);
- printf("\n enter street_address:");
- gets(db_parents.a.street_address);
- fflush(stdin);
- printf("\n enter temp_address:");
- gets(db_parents.a.temp_address);
- fflush(stdin);
- printf("\n enter perm_address:");
- gets(db_parents.a.perm_address);
- fflush(stdin);
- printf("\n enter contact:");
- gets(db_parents.contact);
- fflush(stdin);
- printf("\n enter e_mail:");
- gets(db_parents.e_mail);
- fwrite(&db_parents,sizeof(db_parents),1,fp);
- fclose(fp);
- }
- /*
- function read and print student info
- from the file "student_info_file.dat"
- and display the information
- */
- void print_student_info()
- //print according to roll no
- {
- FILE *fp;
- int r,i;
- printf("\n Enter roll number to search:");
- scanf("%d",&r);
- i=student_available(r);
- if(i==0)
- {
- fp=fopen("student_info_file.dat","r");
- while(!feof(fp))
- {
- if(db_student.roll==r);
- {
- printf("\n first name:");
- printf("\n%s",db_student.f_name);
- printf("\n last name:");
- printf("\n program:");
- printf("\n%s",db_student.program);
- printf("\n level:");
- printf("\n%s",db_student.level);
- printf("\n country:");
- printf("\n%s",db_student.a.country);
- printf("\n city:");
- printf("\n%s",db_student.a.city);
- printf("\n street_address:");
- printf("\n%s",db_student.a.street_address);
- printf("\n temp_adreess:");
- printf("\n%s",db_student.a.temp_address);
- printf("\n perm_address:");
- printf("\n%s",db_student.a.perm_address);
- printf("\n date of birth");
- printf("\n year");
- printf("%d",db_student.d_o_b.yy);
- printf("\n month");
- printf("%d",db_student.d_o_b.mm);
- printf("\n day");
- printf("%d",db_student.d_o_b.dd);
- printf("\n contact:");
- printf("%d",db_student.contact);
- printf("\n e_mail");
- printf("%d",db_student.e_mail);
- }
- }
- }
- }
- //checking for roll no.
- int student_available(int r)
- {
- FILE *fp;
- fp=fopen("student_info_file.dat","r");
- while(!feof(fp))
- {
- fread(&db_student,sizeof(db_student),1,fp);
- if(r==db_student.roll)
- {
- fclose(fp);
- return 0;
- }
- }
- fclose(fp);
- return 1;
- }
- //function to view parents information
- void view_parents_info(char c[])
- {
- FILE *fp;
- fp=fopen("student_info_file.dat","r");
- int confirm;
- while(!feof(fp))
- {
- fread(&db_student,sizeof(db_student),1,fp);
- if(strcmp(c,db_parents.f_name)==0)
- {
- printf("\n first name:");
- printf("\n%s",db_parents.f_name);
- printf("\n last name:");
- printf("\n%s",db_parents.l_name);
- printf("\n country:");
- printf("\n%s",db_parents.a.country);
- printf("\n city:");
- printf("\n%s",db_parents.a.city);
- printf("\n street_address:");
- printf("\n%s",db_parents.a.street_address);
- printf("\n temp_adreess:");
- printf("\n%s",db_parents.a.temp_address);
- printf("\n perm_address:");
- printf("\n%s",db_parents.a.perm_address);
- printf("\n contact:");
- printf("%s",db_parents.contact);
- printf("\n e_mail");
- printf("%s",db_parents.e_mail);
- fclose(fp);
- break;
- }
- }
- //function to search the given record
- void search()
- {
- FILE *fp;
- int r,s,available;
- printf("enter the roll number to search:");
- scanf("%d",&r);
- available=isRollAvailabe(r);
- if(available==0)
- printf("No record found for roll %d.",r);
- else
- {
- fp=fopen("Record","rb");
- while(fread(&db_student,sizeof(db_student),1,fp))
- {
- s=db_student.roll;
- if(s==r)
- {
- printf("\n Roll: %d",db_student.roll);
- printf("\n first name:%s",db_student.f_name);
- printf("\n last name:%s",db_student.l_name);
- printf("\n program:%s",db_student.program);
- printf("\n level:%s",db_student.level);
- printf("\n country:%s",db_student.a.country);
- printf("\n city:%s",db_student.a.city);
- printf("\n street_address:%s",db_student.a.street_address);
- printf("\n temp_address:%s",db_student.a.temp_address);
- printf("\n perm_address:%s",db_student.a.perm_address);
- printf("\n date of birth");
- printf("\n year");
- printf("\n year:%d",db_student.d_o_b.yy);
- printf("\n month:%d",db_student.d_o_b.mm);
- printf("\n day:%d",db_student.d_o_b.dd);
- printf("\n contact:%d",db_student.contact);
- printf("\n e_mail:%d",db_student.e_mail);
- }
- }
- fclose(fp);
- }
- }
- //function to delete record
- void deleteRecord()
- {
- FILE *fp, *fp2;
- int r,s, available;
- printf("Enter the roll number to delete record: ");
- scanf("%d", &r);
- available =isRollavailable(r);
- if(available==0)
- printf("no record to delete for roll %d.",r);
- else
- {
- fp=fopen("Record","rb");
- fp2=fopen("Tempfile","wb");
- while(fread(&db_student,sizeof(db_student),1,fp))
- {
- s=db_student.roll;
- if(s !=r)
- fwrite(&db_student,sizeof(db_student),1,fp2);
- }
- fclose(fp);
- fclose(fp2);
- fp=fopen("Record","wb");
- fp2=fopen("Tempfile","rb");
- while(fread(&db_student,sizeof(db_student),1,fp2))
- {
- fwrite(&db_student,sizeof(db_student),1,fp);
- }
- printf("\n Record Deleted");
- fclose(fp);
- fclose(fp2);
- }
- }
- //function to update record
- void update()
- {
- FILE *fp1, *fp2;
- int r, s, available;
- printf("enter the roll number to update record:");
- scanf("%d", &r);
- available=isRollAvailable(r);
- if(available==0)
- printf("no record to delete for roll %d.",r);
- else
- {
- fp=fopen("Record","rb");
- fp2=fopen("Tempfile","wb");
- while(fread(&db_student,sizeof(db_student),1,fp))
- {
- s=db_student.roll;
- if(s !=r)
- fwrite(&db_student,sizeof(db_student),1,fp2);
- else
- {
- printf("\n Updating data for previous roll %d",r);
- printf("\n enter new roll:");
- scanf("%d",&db_student.roll);
- fflush(stdin);
- printf("\n enter new name:");
- scanf("%d",&db_student.f_name);
- fflush(stdin);
- printf("\n enter new first name:");
- gets(db_student.f_name);
- fflush(stdin);
- printf("\n enter new last name:");
- gets(db_student.l_name);
- fflush(stdin);
- printf("\n enter new program:");
- gets(db_student.program);
- fflush(stdin);
- printf("\n enter new level:");
- gets(db_student.level);
- fflush(stdin);
- printf("\n enter new country:");
- gets(db_student.a.country);
- fflush(stdin);
- printf("\n enter new city:");
- gets(db_student.a.city);
- fflush(stdin);
- printf("\n enter new street_address:");
- gets(db_student.a.street_address);
- fflush(stdin);
- printf("\n enter new temp_address:");
- gets(db_student.a.temp_address);
- fflush(stdin);
- printf("\n enter new perm_address:");
- gets(db_student.a.perm_address);
- fflush(stdin);
- printf("\n enter new d.o.b:");
- printf("\n enter new year:");
- scanf("%d",&db_student.d_o_b.yy);
- printf("\n enter new month:");
- scanf("%d",&db_student.d_o_b.mm);
- printf("\n enter new day:");
- scanf("%d",db_student.d_o_b.dd);
- printf("\n enter new contact:");
- scanf("%d",&db_student.contact);
- fflush(stdin);
- printf("\n enter new e_mail:");
- gets(db_student.e_mail);
- fflush(stdin);
- printf("\n new gender?(M/F)");
- gets(db_student.gender);
- fwrite(&db_student,sizeof(db_student),1,fp);
- }
- fclose(fp);
- fclose(fp2);
- fp=fopen("Record","rb");
- fp2=fopen("Tempfile","wb");
- while(fread(&db_student,sizeof(db_student),1,fp2))
- {
- fwrite(&db_student,sizeof(db_student),1,fp);
- }
- printf("\n Record Updated");
- fclose(fp);
- fclose(fp2);
- }
- }
- }
- int main()
- {
- int ch;
- //FILE *fp;
- //fp=fopen("record","w");
- while(1)
- {
- printf("\n----------------------------------------------------------\n");
- printf("\n User Menu:");
- printf("\n \t1.Add Student Information\n \t2.Add Parents Information\n \t3.View Student Information\n \t4.View Parents Information\n\n");
- printf("enter your choice:");
- scanf("%d",&ch);
- switch(ch)
- {
- case 1:
- student_info_write();
- case 2:
- parents_info_write();
- case 3:
- print_student_info();
- case 4:
- print_parents_info();
- }
- {
- }
- return 0;
- }
- int main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement