La logique du programme est tout à fait clair, mais quand il demande à l'utilisateur d'entrer le nom. La deuxième fois, il demande le nom i.e. à i = 1, il demande le nom et demande également l'année à saisir. En bref, il ne permet pas à l'utilisateur d'entrer des données après i = 0 en année int.programme donnant erreur
/* Write a program to take input name roll number and year of joining of 5 students and making a function which prints name of only those who have joined in the particular year mentioned by the user*/
#include<stdio.h>
#include<conio.h>
struct student
{
char name[50];
int year;
}
a[5];
void func (void);
void main (void)
{
int i;
for (i = 0; i < 5; i++)
{
printf ("Enter name %d\n", i + 1);
gets (a[i].name);
puts ("Enter year");
scanf ("%d", &a[i].year);
}
func();
getch();
}
void func (void)
{
int i;
int yearr;
printf ("Enter a year:");
scanf ("%d", &yearr);
for (i = 0; i < 5; i++)
{
if (yearr == a[i].year)
{
printf ("%s", a[i].name);
}// if ends
}//for ends
}// func ends
Désolé, Mon programme a quelques erreurs. Merci de ne pas utiliser fflush (stdin). Voir http://www.drpaulcarter.com/cs/common-c-errors.php pour plus d'informations. – chanchal1987