Перевод с С++ - определить, сколько было снесено яиц - C (СИ)

Формулировка задачи:

Перевод С++ на Си
#include <iostream>
 
using namespace std;
 
typedef struct
{
    char data[11];
    int eggs;
}Birdhouse;
 
int main()
{
    setlocale(0, "Russian");
 
    cout << "Введите сколько дней будем вести учет\n";
    int n;
    cin >> n;
    
    Birdhouse *report = new Birdhouse[n];
 
    for (int i = 0; i < n; i++)
    {
        cout << "Введите дату в формате дд.мм.гггг (Например: 19.04.2015)\n";
        cin >> report[i].data;
        cout << "Сколько яиц было снесено за день?\n";
        cin >> report[i].eggs;
    }
 
    char data[11];
    cout << "Введите дату\n";
    cin >> data;
 
    bool find = false;
    for (int i= 0; i < n; i++)
    {
        if (strcmp(data, report[i].data) == 0)
        {
            cout << "В этот день было снесено: " << report[i].eggs << " яиц" << endl;
            find = true;
        }
    
    }
    if (!find)
        cout << "В этот день мы не вели учет\n";
 
        delete[] report;
 
    return 0;
}


textual

Код к задаче: «Перевод с С++ - определить, сколько было снесено яиц - C (СИ)»

#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
 
typedef struct _bird_house {
    char data[11];
    int eggs;
} bird_house;
 
int main()
{
    bird_house *report;
    char data[11];
    int n;
    int i;
 
    printf("Введите сколько дней будем вести учет: ");
    scanf("%d", &n);
 
    if ((report = (bird_house *)malloc(sizeof(bird_house) * n)) == NULL) {
        exit(EXIT_FAILURE);
    }
 
    for (i = 0; i < n; i++) {
        printf("Введите дату в формате дд.мм.гггг (Например: 19.04.2015)\n");
        scanf("%s", &report[i].data);
        printf("Сколько яиц было снесено за день?\n");
        scanf("%d", &report[i].eggs);
    }
 
    printf("Введите дату\n");
    scanf("%s", data);
 
    for (i = 0; i < n; i++) {
        if (strcmp(data, report[i].data) == 0) {
            printf("В этот день было снесено %d яиц.\n", report[i].eggs);
            break;
        }
    }
 
    if (i == n) {
        printf("В этот день мы не вели учет\n");
    }
 
    free(report);
 
    exit(EXIT_SUCCESS);
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 4.000 из 5

Источник