では、まず私の任務について説明します。この割り当てでは、問題のない動的メモリ割り当てを使用する必要があります。私が問題を抱えているのは、自分の割り当てを行う正しい方法を見つけ出すことです. 私の課題では、ユーザーに何人の学生がいるかを入力するように促し、次の情報を求めるプログラムを作成する必要があります。学生証、生年月日、電話番号。ループを使用して、ユーザーにすべての学生情報を入力するように求める必要があります。すべての学生 ID をスキャンし、生年月日を使用して最年長の学生を見つけるループを作成する必要があります (ループは 3 人以上の学生をスキャンできる必要があります)。
これが私のコードです。皆さんからいくつかの提案とコードのビットさえも受け取りました。これが私のコードです。すべての学生を検索して最も古いものを見つけるループを作成する最良の方法は何ですか?
ありがとうございました。
#include <stdio.h>
#include <stdlib.h>
struct studentDataType
{
int studentID;
int year;
int month;
int day;
long long phone;
};
int main (void)
{
struct studentDataType *studentRecords=NULL;
unsigned int students;
unsigned int studentID;
unsigned int year;
unsigned int month;
unsigned int day;
unsigned long phone;
printf("How many students are you entering records for:\n");
scanf("%d", &students);
studentRecords = malloc(sizeof(struct studentDataType) * students);
int i=0;
for (i; i != students ; ++i) {
printf("Enter information for student as follows (ID, DOB year, DOB month, DOB day, Phone): %d\n", i+1);
struct studentDataType * s = &studentRecords[i];
scanf("%u %u %u %u %u", &(s->studentID), &(s->year), &(s->month), &(s->day), &(s->phone));
}
}