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

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

Войти
Регистрация
Восстановить пароль
 
barabaha789
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 33
#1

Программа не выводит данные - C++

02.06.2017, 04:05. Просмотров 99. Ответов 1
Метки нет (Все метки)

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <time.h>
 
 
using namespace std;
 
struct student{
    char fio[30];
    int year;
    char num[10];
    int ball[4];
    int avg;
};
 
void create_table (char* FileName){
    FILE *ou = fopen (FileName, "w");
    if (ou == NULL)
        cout<<"Ошибка создания файла"<<endl;
    else{
        cout<<"Файл создан"<<endl;
        fclose(ou);
    }
}
 
void in_table (char* FileName){
    FILE *ou = fopen (FileName, "a+");
    struct student item;
    cout<<"Введите данные через пробел\n";
    rewind(stdin);
    cout<<"Введите ФИО\n";
    gets(item.fio);
    cout<<"Введите год рождения: \n";
    cin>>(item.year);
    rewind(stdin);
    cout<<"Введите номер группы: \n";
    gets(item.num);
    cout<<"Введите последовательно через пробел оценки по физике, математике, информатике и химии: \n";
    cin>>item.ball[0]>>item.ball[1]>>item.ball[2]>>item.ball[3];
    item.avg = (item.ball[0] + item.ball[1] + item.ball[2] + item.ball[3]) / 4.0;
    fwrite(&item, sizeof(struct student), 1, ou);
    fclose(ou);
    cout<<"Данные записаны\n";
}
 
void pnt_item (struct student item){
    printf("ФИО: \n", item.fio);
    printf("Год рождения: \n", item.year);
    printf("Номер группы: \n", item.num);
    printf("Оценки: \n");
    printf("Физика: \n", item.ball[0]);
    printf("математика: \n", item.ball[1]);
    printf("Информатика: \n", item.ball[2]);
    printf("Химия: \n", item.ball[3]);
    printf("Средний балл: \n", item.avg);
}
 
void print_table (char* FileName){
    FILE *in = fopen(FileName, "r");
    struct student item;
    while (fread(&item, sizeof(struct student), 1, in))
    {
        pnt_item(item);
        printf("\n");
    }
    fclose(in);
}
 
void search_table(char* FileName){
    FILE *in = fopen(FileName, "r");
    struct student item;
    while (fread(&item, sizeof(struct student), 1, in)){
        if ((item.ball[0] == 4 || item.ball[0] == 5) && (item.ball[1] > 8 && item.ball[2] > 8 && item.ball[3] > 8))
            pnt_item(item);
    }
    printf("\n\n");
    fclose(in);
}
 
int main(){
 
    setlocale (LC_ALL, "Russian");
 
    char fileName[] = "Text.txt";
    char key;
    do{
        printf("[1]- Создание\n");
        printf("[2]- Корректировка\n");
        printf("[3]- Просмотр\n");
        printf("[4]- Решение задания\n");
        printf("[0]- Выход\n");
        key = getch();
        system("cls");
        printf("\n");
        switch (key){
            case '1': create_table(fileName); cout<<endl;break;
            case '2': in_table(fileName);break;
            case '3': print_table(fileName);break;
            case '4': search_table(fileName);break;
        }
    }while (key !='0');
    return 0;
}
Программа создает файл, заполняю данные, при команде вывода данных на экран программа возвращает пустые значения. Подскажите как исправить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2017, 04:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа не выводит данные (C++):

Программа выводит неточные данные - C++
Из задания: Написать программу, которая: 1) Может обрабатывать данные группы студентов. 2) Вести учет по каждому студенту. 3)...

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

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

Не выводит с таблицы данные - C++
По заданию нужно сделать чтобы выводила самого старшего студента, но на выходе получается что нет старшего студента. Я не знаю из-за чего...

Не выводит данные из char - C++
char s=&quot;&quot;; char r=&quot;&quot;; puts(&quot;Введите название вашего уч. заведения: &quot;); gets(s); puts(&quot;Введите название группы: &quot;); ...

Не выводит данные с методов класса - C++
почему с unionSets() не выводит данные?:wall: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; class Set{ ...

1
likehood
930 / 789 / 273
Регистрация: 25.12.2016
Сообщений: 2,627
Завершенные тесты: 3
02.06.2017, 08:46 #2
У вас в каждой функции своя структура item, которая разрушается при выходе из функции. Храните её в одном месте, в функции main, и передавайте в другие функции в качестве параметра.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2017, 08:46
Привет! Вот еще темы с ответами:

Что выводит данные програмы - C++
char *ch={&quot;12345&quot;,&quot;ABCD&quot;,&quot;67800&quot;,&quot;3411&quot;}; char **chp={ch+2, ch, ch+1, ch+3}; char ***chpp=chp+1; main() { PRINTS(**chpp++); ...

Выводит из файла.тхт последние данные два раза - C++
product(std::ifstream&amp; fin) { fin&gt;&gt;Name; fin&gt;&gt;Belok; fin&gt;&gt;Gur; fin&gt;&gt;Yglevod; fin&gt;&gt;Kkal; ...

Запись динамического массива в файл (не правильно выводит данные) - C++
Выделяю память под массив, заполняю его числами. int *mem_arr; int i; int n = 50; mem_arr = (int *)malloc(n*sizeof(int)); ...

Программа не выводит результат...??? - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; using namespace std; class stroki { private: string str; ...


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

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

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