私は C の初心者で、構造体の配列を処理する方法を示す本からプログラムを実行しようとしています。
#include<stdio.h>
#include<conio.h>
struct employee
{
int empno;
char name[30];
int basic;
int hra;
};
void main()
{
struct employee e[50];
int i, j, n;
int net[50];
float avg;
printf("Enter the number of employees: ");
scanf("%d", &n);
printf("Enter Emp. No. \tName:\tBasic\tHRA of each employee in the order.\n");
for(i=0; i<n; i++)
{
scanf("%d", &e[i].empno);
gets(e[i].name);
scanf("%d", &e[i].basic);
scanf("%d", &e[i].hra);
net[i]=e[i].basic + e[i].hra ;
avg = avg + net[i];
}
avg = avg/n;
printf("Emp. No \t Name-Netpay: ");
for(i=0; i<n; i++)
{
if(net[i]>avg)
{
printf("\t",e[i].empno);
printf("\t", e[i].name);
printf("\t", net[i]);
} } }
また、平均を計算し、給与 + 時間数が平均を上回っている要素を出力するモジュールもあります。ただし、上に貼り付けたコードは意図したとおりに機能しません。
ここで、従業員の数を入力すると、たとえば 1 としましょう。empno と名前の入力のみが許可され、ループを終了します。値 1 のループを少なくとも 1 サイクル完了することを期待しています。
これに関する提案は大歓迎です。私がどこかで台無しになっている場合はお詫び申し上げます。ありがとう。