Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <malloc.h>
- struct student{
- char name[50];
- int rollNo;
- float marks[5];
- float totalMarks;
- float per;
- char result[15];
- }*p, *s;
- void printStars(int n){
- int i=0;
- for(i=0;i<n;i++)
- printf("*");
- }
- main()
- {
- int nStudents,nSubjects;
- char **subNames;
- const int NO_OF_STARS = 29;
- int i,j,l=0;
- //clrscr();
- printStars(NO_OF_STARS);
- printf("\nSTUDENT MANAGEMENT SYSTEM\n");
- printStars(NO_OF_STARS);
- printf("\nEnter the no. of students : ");
- scanf("%d",&nStudents);
- p=malloc(nStudents * sizeof(struct student));
- //p=(struct student*)malloc(nStudents * sizeof(struct student));
- s=p;
- printf("\nEnter no. of Subjects : ");
- scanf("%d",&nSubjects);
- subNames = malloc(nSubjects * sizeof(char*));
- for(i=0;i<nSubjects;i++){
- subNames[i] = malloc(sizeof(char) * (15 + 1));
- printf("\nEnter Subject %d name : ",i+1);
- //fflush(stdin);
- scanf(" %s",subNames[i]);
- }
- printf("\n\n");
- printStars(NO_OF_STARS);
- printf("\nEnter Students Information\n");
- printStars(NO_OF_STARS);
- for(i=0;i<nStudents;i++)
- {
- printf("\nStudent %d details:",i+1);
- printf("\nRoll no. : ");
- scanf("%d",&p->rollNo);
- printf("\nName : ");
- scanf("%d",&p->name);
- p-> totalMarks=0;
- l=0;
- for(j=0;j<nSubjects;j++)
- {
- printf("%s Marks : ",subNames[j]);
- scanf("%f",&p->marks[j]);
- p->totalMarks+=p->marks[j];
- //printf("Value of marks is : %f",p->marks[j]);
- if(p->marks[j] < 35)
- l=1;
- }
- p->per = p-> totalMarks / nSubjects;
- if(l == 0){
- if(p->per >= 60)
- strcpy(p->result, "Distinction");
- else if(p->per < 60 && p->per >= 50 )
- strcpy(p->result, "First Class");
- else if(p->per < 50 && p->per >= 40 )
- strcpy(p->result, "Second Class");
- else if(p->per < 40 && p->per >= 35)
- strcpy(p->result, "Pass");
- else
- strcpy(p->result, "Fail");
- }else{
- strcpy(p->result,"FAIL");
- }
- p++;
- }
- printStars(NO_OF_STARS);
- printf("\nStudent Results\n");
- printStars(NO_OF_STARS);
- printf("%10d","Roll No.");
- printf("%20s","Name");
- printf("%15s","Total");
- printf("%20s","Per.");
- printf("%15s","Result");
- printStars(NO_OF_STARS);
- for(i=0;i<nStudents;i++)
- {
- //printf("\n%s\t%s",s->name,s->result);
- printf("%10s", s->rollNo);
- printf("%15s", s->name);
- for(j=0;j<nSubjects;j++){
- printf("%5d", s->marks[j]);
- }
- printf("%6d", s->totalMarks);
- printf("%6f", s->per);
- printf("%15s",s->result);
- s++;
- }
- printf("\n\n");
- printStars(NO_OF_STARS);
- printf("\nMaximum Marks\n");
- printStars(NO_OF_STARS);
- printf("%15s","Subject");
- printf("%10s","Roll No.");
- printf("%10s\n","Marks");
- for(i=0;i<nSubjects;i++){
- int highestMarks = 0;
- int stuId = 0;
- for(j=0;j<nStudents;j++){
- if(s->marks[i] > highestMarks){
- highestMarks = s->marks[i];
- stuId = j;
- }
- }
- /*
- printf("%15s",nSubjects[i]);
- printf("%10d", stuId);
- printf("%10d\n",highestMarks);
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement