C program to store students records in a file
The main purpose of this program is that to store some information in a file from console.
Code
/*Write a program that will read roll, name and marks of several student from the user and store them in a file*/ #include <stdio.h> #include <stdlib.h> //Create a structure for store the records for all students struct student { int roll; char name[30]; int marks; } s; int main( ){ FILE *fp; //Create a file pointer variable char fname[20],s2[20]; int n,i,s1,s3; printf("\nEnter a file name to store student record: "); gets(fname); //Open the file in write mode fp=fopen(fname,"w"); if(fp==NULL){ printf("\nError:FIle cannot be created. \a"); exit(0); } printf("\nEnter the number of student: "); scanf("%d",&n); //Taking the records of students and store them in the file for(i=0;i<n;i++){ printf("\nFor student no. %d", i+1); printf("\nEnter roll: "); scanf("%d",&s.roll); printf("\nEnter name: "); scanf("%s",&s.name); printf("\nEnter marks: "); scanf("%d",&s.marks); fprintf(fp,"%d\t%s\t%d\n",s.roll,s.name,s.marks); } //Close the file fclose(fp); //Open the file in read mode fp=fopen(fname,"r"); if(fp==NULL){ printf("\nError:FIle does not exist. \a"); exit(0); } if(ferror(fp)!=0){ printf("\nError: File is either corrupted or damaged. \a"); exit(0); } //Print the content of the file for(i=1;i<=n;i++){ fscanf(fp,"%d\t%s\t%d\n",&s1,&s2,&s3); printf("\n%d\t%s\t%d",s1,s2,s3); } //Close the file fclose(fp); return(0); }
Output
Enter a file name to store student record: student.txt Enter the number of student: 3 For student no. 1 Enter roll: 101 Enter name: Alex Enter marks: 85 For student no. 2 Enter roll: 102 Enter name: Rose Enter marks: 96 For student no. 3 Enter roll: 103 Enter name: Charls Enter marks: 93 The content of the file is: 101 Alex 85 102 Rose 96 103 Charls 93