Форум программистов, компьютерный форум CyberForum.ru

Напечатать список студентов мужского пола с указанием их возраста - C++

Восстановить пароль Регистрация
 
nakokoko
0 / 0 / 0
Регистрация: 11.03.2011
Сообщений: 25
02.06.2011, 13:44     Напечатать список студентов мужского пола с указанием их возраста #1
здраствуйте. не получается с ответом задачи. вроде компилируется но не вычисляется. не могли бы вы исправить ошибку* буду благодарен.
Сформировать файл “stud”, имеющий следующую структуру: фамилия студента, пол(буква), год рождения. Напечатать список студентов мужского пола с указанием их возраста. В конце списка напечатать средний возраст
Код
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define n 2
struct swed
{
char fam[10], pol[10];
int god;
};
main()
{
FILE *f;
struct swed d;
int i;
int k;
int t;
float s;
clrscr();
if((f=fopen("bibliot.dat","wd")) == NULL)
{printf("ochibka");
getch();
return;}
for (i=0; i<n; i++)
{
printf("family: ");
scanf("%s", &d.fam);
printf("pol: ");
scanf("%s", &d.pol);
printf("vozrast: ");
scanf("%s", &d.god);
puts(f,d);}
fclose(f);}
{fopen(f);
t=0;
k=0;
while(!feof(f)){
fread(&d, sizeof(struct swed), 1,f);
if(d.pol=="m")
{printf(d.fam);
printf(d.god);
k+=1;
t+=d.god;
s=t/k;}}
printf("s= ",s);
fclose(f);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 13:44     Напечатать список студентов мужского пола с указанием их возраста
Посмотрите здесь:

Записи. Получить: список студентов мужского пола,проживающих в общежитие и процент сдавших экзамены без троек C++
C++ Написать программу, реализующую связный список с информацией о студентах и отображающую список в порядке убывания возраста студента
Классы в C++ Вывести на экран список граждан мужского пола с высшим образованием C++
Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев C++
Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев C++
Выбрать студентов заданного пола, проживающих в общежитии (исправить код) C++
C++ Вывести список сотрудников пенсионного возраста на сегодняшний день с указанием стажа работы
C++ Напечатать список учеников класса с указанием для каждого ученика количества его однофамильцев

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
02.06.2011, 14:52     Напечатать список студентов мужского пола с указанием их возраста #2
C++
1
scanf("%s", d.fam);
и аналогичные строки также
C++
1
if(!strcmp(d.pol, "m"))
Пока то что заметил
agent008
1 / 1 / 0
Регистрация: 15.03.2014
Сообщений: 118
15.03.2014, 18:27     Напечатать список студентов мужского пола с указанием их возраста #3
Мне тоже эта задачка попалась, вот решыл может кому понадобится:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <string.h>
#define N 5
struct swed
{
    char    fio[31];
    char    pl;
    int     god;
};
int main()
{
    struct swed    d[N];
    FILE *         f;
    int            i, t, k;
    if((f = fopen("f.bin", "wb")) != NULL)
    {
        for(i = 0; i < N; i++)
        {
            printf("famaly: ");
            gets(d[i].fio);
            printf("pol   : ");
            d[i].pl = getchar();
            printf("god r.: ");
            scanf("%d", &d[i].god);
            puts("");
            fflush(stdin);
        }
        fwrite(d, sizeof(swed), N, f);
        fclose(f);
    }
 
    if((f = fopen("f.bin", "rb")) != NULL)
    {
        fread(d, sizeof(swed), N, f);
        t = k = 0;
        for(i = 0; i < N; i++)
        {
            if(d[i].pl == 'm')
            {
                printf("%s\t( %d )\n", d[i].fio, 2011 - d[i].god);
                t += 2011 - d[i].god;
                k++;
            }
        }
        if(k > 0)
            printf("\naverage = %g\n", (float)t / k);
        fclose(f);
    }
    return 0;
}
Yandex
Объявления
15.03.2014, 18:27     Напечатать список студентов мужского пола с указанием их возраста
Ответ Создать тему
Опции темы

Текущее время: 00:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru