Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define tabl "InfoTable"
- struct Fish {
- char name[60];
- unsigned int num;
- char color[45];
- int year;
- int mass;
- int month;
- int life;
- int surviving;
- };
- char *monthName(int n) {
- if (n == 1) { return "январь"; }
- else if (n == 2) { return "февраль"; }
- else if (n == 3) { return "март"; }
- else if (n == 4) { return "апрель"; }
- else if (n == 5) { return "май"; }
- else if (n == 6) { return "июнь"; }
- else if (n == 7) { return "июль"; }
- else if (n == 8) { return "август"; }
- else if (n == 9) { return "сентябрь"; }
- else if (n == 10) { return "октябрь"; }
- else if (n == 11) { return "ноябрь"; }
- else if (n == 12) { return "декабрь"; }
- }
- void normalize(char *str, int n) {
- int len = strlen(str);
- for (int i = 0; i < len; i++)
- if (str[i] == '_' || str[i] == '-') len++;
- len = (len + 1) >> 1;
- for (int i = len; i < n; i++)
- strcat(str, " ");
- }
- void nerps() {
- FILE *fp = fopen(tabl, "r");
- int n;
- fscanf(fp, "%d", &n);
- struct Fish fish[n];
- for (int i = 0; i < n; i++) {
- fscanf(fp, "%s %d %s %d %d %d %d %d",
- fish[i].name, &fish[i].num, fish[i].color, &fish[i].year, &fish[i].mass, &fish[i].month, &fish[i].life, &fish[i].surviving);
- }
- fclose(fp);
- printf("| Наименование|Чис-сть| Окрас|В Красной книге с |Вес|Период размножения|Продолжительность жизни|Выживают тёплой зимой|\n");
- printf("|--------------------------|-------|------------------------|------------------|---|------------------|-----------------------|---------------------|\n");
- for (int i = 0; i < n; i++) {
- char month[20];
- strcpy(month, monthName(fish[i].month));
- normalize(fish[i].name, 26);
- normalize(fish[i].color, 24);
- normalize(month, 18);
- printf("|%26s|%-3d тыс|%s|%-4d г |%-3d|%-18s|%-23d|%s |\n",
- fish[i].name, fish[i].num, fish[i].color, fish[i].year, fish[i].mass, month, fish[i].life, (fish[i].surviving ? "Да " : "Нет"));
- }
- }
- int donate() {
- int n, q;
- printf("Введите сумму пожертвования: ");
- scanf("%d", &n);
- printf("Выбурите способ оплаты: \n");
- printf("1) Со счёта в Яндекс.деньгах;\n");
- printf("2) С банковской карты;\n");
- printf("3) Со счёта WebMoney;\n");
- printf("4) По коду через терминал\n");
- printf("> ");
- scanf("%d", &q);
- if (q >= 1 && q <= 4)
- printf("Спасибо большое!\n");
- else
- printf("Неверный ввод, попробуйте снова.\n");
- }
- int main() {
- int q;
- printf("Добро пожаловать в благотворительный счёт \"Фонд друзей балтийской нерпы\"!\n");
- printf("1) Кто мы;\n");
- printf("2) Балтийские нерпы;\n");
- printf("3) Пожертвовать;\n");
- printf("4) Выход.\n");
- while (1) {
- printf("> ");
- scanf("%d", &q);
- if (q == 1) {
- printf("Фонд друзей балтийской нерпы – это некоммерческая организация, имущество которой формируется на основе добровольных взносов и пожертвований. Все деньги будут направлены на реабилитацию морских млекопитающих, попавших в ситуации, ставящие под угрозу их жизнь и здоровье; возвращение морских млекопитающих в естественную среду обитания, а также сохранение отдельных их видов.Принимайте участие в спасении балтийских кольчатых нерп и других морских млекопитающих!\n");
- } else if (q == 2) {
- nerps();
- } else if (q == 3) {
- donate();
- } else if (q == 4) {
- printf("До свидания!\n");
- return 0;
- } else {
- printf("Неверный ввод. Повторите попытку.\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement