Programozó versenyek

Programozási nyelvek 1, 2019. május 23., Cs16 ZH

2019. május 23. 16:40 – 2019. május 23. 18:25

Ehnaton fáraó #8

Adott a következő fejlécállomány:

myheader.h

  1. #ifndef _MYHEADER_H
  2. #define _MYHEADER_H 1
  3. struct element
  4. {
  5.     char id[10];
  6.     char name[20];
  7.     int begin_year;
  8.     int end_year;
  9. };
  10. #endif /* myheader.h */
letöltés szöveges állományként

Írjon programot, amelynek egyetlen parancssori argumentuma van, egy bináris állomány neve! A bináris állomány struct element típusú rekordjaiban fáraók uralkodásának kezdő- és végévszámai találhatók. A fáraókat a sorszámukkal és a nevükkel együtt azonosítjuk.

A programja írja a standard kimenetre a fáraók adatait az uralkodásuk időrendjében! Minden fáraó neve előtt jelenítse meg a példa kimenetben látható módon azt is, hogy mikor léptek trónra, és mikor fejezték be uralkodásukat! Ügyeljen arra, hogy a kimenet minden sorát soremelés karakterrel zárja!

Egy pharaohs.bin bináris állományt generáló példaprogram

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "myheader.h"
  4. int main()
  5. {
  6.     struct element t[] =
  7.     {
  8.         {"I.", "Jahmesz", -1550, -1526},
  9.         {"", "Ehnaton", -1353, -1336},
  10.         {"I.", "Amenhotep", -1525, -1506}
  11.     };
  12.     FILE *f = fopen("pharaohs.bin", "wb");
  13.     fwrite(t, sizeof(t), 1, f);
  14.     fclose(f);
  15.     return EXIT_SUCCESS;
  16. }
letöltés szöveges állományként

Parancssori argumentumok

  1. pharaohs.bin
letöltés szöveges állományként

A futtatás eredménye a standard kimeneten

  1. -1550 - -1526 : I. Jahmesz
  2. -1525 - -1506 : I. Amenhotep
  3. -1353 - -1336 : Ehnaton
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.