Я пытаюсь создать структуру на языке Си. Моя программа не работает полностью, так как функция переключения не выполняется, и программа возвращается без выполнения.
И не могли бы вы мне помочь, как использовать указатели для передачи структур в функцию? В определении функции, как мы пишем алгоритм для передачи функции?
#include <stdio.h>
#include <string.h>
struct id
{
int rollno;
char name[25];
char department[25];
char course[25];
int year;
};
void total_data(struct id student[3])
{
for(int i=0;i<3;i++)
{
printf("%s",student[i].name);
printf("\n");
}
}
void individual_data(struct id student[3])
{
printf("enter the roll number");
int n;
scanf("%d",&n);
for(int i=0;i<3;i++)
{
if(student[i].rollno == n)
{
printf("%s \n",student[i].name);
printf("%d \n",student[i].rollno);
printf("%d \n",student[i].department);
printf("%d \n",student[i].year);
}
else
break;
}
}
int main()
{
struct id student[3];
char n;
printf("please enter the data of all students");
for(int i=0;i<3;i++)
{
printf("please enter roll number");
scanf("%d",&student[i].rollno);
printf("please enter name : ");
scanf("%s",&student[i].name);
printf("please enter department");
scanf("%s",&student[i].department);
printf("please enter the year of joining");
scanf("%d",&student[i].year);
}
printf("please enter the character : ");
scanf("%c",&n);
switch(n)
{
case 'a':printf("displaying the names of all the students");
total_data(&student[3]);
break;
case 'b':individual_data(&student[3]);
break;
}
return 0;
}