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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
#1

Файлы - C++

19.04.2012, 23:51. Просмотров 275. Ответов 7
Метки нет (Все метки)

в чем ошибка помогите плиз

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
51
52
53
//---------------------------------------------------------------------------
 
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
int main()
{
FILE *f;
    int i,n,d;
    f=fopen("out.txt","w");
    struct zarplata
    {
        char name[15];
        int god_r;
        int stag;
        int oklad;
        float zarplatta;
    };
    struct zarplata base [50];
    puts("kolichestvo-->");
    scanf("%d",&n);
    for (i = 0; i < n; i++)
    {
        puts ("fio-->");
        scanf("%s",base[i].name);
        puts ("data-->");
        scanf("%d",&base[i].god_r);
        puts ("staj-->");
        scanf("%d",&base[i].stag);
        puts ("oklad-->");
        scanf("%d",&base[i].oklad);
    }
    printf("|Fio            |Data      |Staj      |Oklad     |Zp        |\n");
    printf("___________________________________________________________________________\n");
    for (i = 0; i < n; i++)
    {
 
        if (base[i].stag>0 && base[i].stag<=4)
            base[i].zarplatta=base[i].oklad;
        if (base[i].stag>=5 && base[i].stag<=9)
            base[i].zarplatta=base[i].oklad+base[i].oklad*10/100;
        if (base[i].stag>=10 && base[i].stag<=19)
            base[i].zarplatta=base[i].oklad+base[i].oklad*(float)30/100;
        if (base[i].stag>=20 && base[i].stag<=50)
            base[i].zarplatta=base[i].oklad+base[i].oklad*50/100;
        printf("|%15s|%10d|%10d|%10d|%10.2f|\n",
            base[i].name,base[i].god_r,base[i].stag,base[i].oklad, base[i].zarplatta);
    }
    printf("___________________________________________________________________________\n");
    fclose(f);
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 23:51     Файлы
Посмотрите здесь:

файлы C++
Файлы С++ C++
C++ файлы
C++ Файлы
Файлы на С\С++ C++
файлы C++
Файлы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
19.04.2012, 23:54     Файлы #2
что должна делать программа?
зачем вы просто так открыли и закрыли файл?
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
19.04.2012, 23:55  [ТС]     Файлы #3
нужно данные вывести в документ я незнаю как ето сделать
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
20.04.2012, 00:01     Файлы #4
используйте соответсвтующие функции записи в файл, например fprintf.
Работает аналогично printf, только первым параметром надо указать файл:
C
1
2
printf(f, "|%15s|%10d|%10d|%10d|%10.2f|\n",
            base[i].name,base[i].god_r,base[i].stag,base[i].oklad, base[i].zarplatta);
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
20.04.2012, 00:09  [ТС]     Файлы #5
я прописал терь как ты сказал но у меня всеравно ошибка ругается на
C
1
    struct zarplata
сам весь код
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
51
52
53
//---------------------------------------------------------------------------
 
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
int main()
{
FILE *f;
    int i,n,d;
    f=fopen("out.txt","w");
    struct zarplata
    {
        char name[15];
        int god_r;
        int stag;
        int oklad;
        float zarplatta;
    };
    struct zarplata base [50];
    puts("kolichestvo-->");
    scanf("%d",&n);
    for (i = 0; i < n; i++)
    {
        puts ("fio-->");
        scanf("%s",base[i].name);
        puts ("data-->");
        scanf("%d",&base[i].god_r);
        puts ("staj-->");
        scanf("%d",&base[i].stag);
        puts ("oklad-->");
        scanf("%d",&base[i].oklad);
    }
    printf(f, "|Fio            |Data      |Staj      |Oklad     |Zp        |\n");
    printf(f,"___________________________________________________________________________\n");
    for (i = 0; i < n; i++)
    {
 
        if (base[i].stag>0 && base[i].stag<=4)
            base[i].zarplatta=base[i].oklad;
        if (base[i].stag>=5 && base[i].stag<=9)
            base[i].zarplatta=base[i].oklad+base[i].oklad*10/100;
        if (base[i].stag>=10 && base[i].stag<=19)
            base[i].zarplatta=base[i].oklad+base[i].oklad*(float)30/100;
        if (base[i].stag>=20 && base[i].stag<=50)
            base[i].zarplatta=base[i].oklad+base[i].oklad*50/100;
        printf(f,"|%15s|%10d|%10d|%10d|%10.2f|\n",
            base[i].name,base[i].god_r,base[i].stag,base[i].oklad, base[i].zarplatta);
    }
    printf(f,"___________________________________________________________________________\n");
    fclose(f);
    getch();
    return 0;
}
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
20.04.2012, 00:12     Файлы #6
я же сказал функция fprintf!
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
20.04.2012, 00:17  [ТС]     Файлы #7
на структуру ругается что то не нравится
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 00:20     Файлы
Еще ссылки по теме:

ФАЙЛЫ C++
C++ файлы в c++
C++ С++ файлы
C++ Файлы
файлы в с++ C++

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

Или воспользуйтесь поиском по форуму:
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
20.04.2012, 00:20     Файлы #8
Странно. у меня работает. Пропробуйте ее вынести перед функцией main.
Yandex
Объявления
20.04.2012, 00:20     Файлы
Ответ Создать тему
Опции темы

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