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

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

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

Файлы - C++

19.04.2012, 23:51. Просмотров 300. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 23:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы (C++):

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними - C++
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы? - C++
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Зачем нужно добавлять файлы в файлы исходного кода - C++
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp другой файл?

Заголовочные файлы и файлы cpp - C++
Со временем сложилось представление что при написании программ стоит разделять МЕТА данные и данные, но для лучшего понимания своих...

Раздельная компиляция: что помещать в заголовочные файлы, а что в файлы реализации (исходники)? - C++
Здравствуйте, я учусь пользоваться Visual Studio.Пишу программу, в которой создаются и разрушаются объекты, определенного пользователем...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

7
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
19.04.2012, 23:54 #2
что должна делать программа?
зачем вы просто так открыли и закрыли файл?
1
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
19.04.2012, 23:55  [ТС] #3
нужно данные вывести в документ я незнаю как ето сделать
0
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);
1
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;
}
0
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
20.04.2012, 00:12 #6
я же сказал функция fprintf!
1
issus
1 / 1 / 1
Регистрация: 07.12.2011
Сообщений: 46
20.04.2012, 00:17  [ТС] #7
на структуру ругается что то не нравится
0
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
20.04.2012, 00:20 #8
Странно. у меня работает. Пропробуйте ее вынести перед функцией main.
1
20.04.2012, 00:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 00:20
Привет! Вот еще темы с ответами:

Файлы.Текстовые файлы - C++
Считая t текстовым файлом (файлом типа text), ответить на следующие вопросы: А)Кроме текстовых файлов,файлы какиъ еще типов могут...

Файлы на С\С++ - C++
Здравствуйте!Помогите пожалуйста с задачей про файлы на с\с++))Вот условие:Имеется текстовый файл.Удалить из него первую строку в конце...

Файлы - C++
Подскажите идею сортировки в файле через структруру,слов по длине.Сижу не могу сделать никак может как нибудь с помощью функции qsort.Не...

Файлы - C++
написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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