С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.04.2019
Сообщений: 13

Не получается вывести информацию в одну строку

04.04.2021, 01:55. Показов 600. Ответов 2

Студворк — интернет-сервис помощи студентам
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
#include <stdio.h>
#include <math.h>
#include <io.h>
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
struct TZap {
    char FIO[30];
    char n_o_g[7];
    int y_o_b;    
    struct TGrade {
        double p;
        double m;
        double i;
        double c;
    }Grade;   
    double a_s;
} Zap;
int razmer = sizeof(TZap);
FILE* Fz, * Ft;
char File_Zap[] = "zapisi.dat";
char File_Rez[] = "rezult.txt";
void Out(TZap);
void main()
{    
    int kod;
    Ft = fopen(File_Rez, "w");
    while (true) {
        puts("\n Create - 1\n Correct - 2\n View - 3");
        scanf("%d", &kod);
        switch (kod) {
        case 1:
            if ((Fz = fopen(File_Zap, "wb")) == NULL) {
                puts("\n Create ERROR!");
                return;
            }
            fclose(Fz);
            printf("\n Create New File %s !\n", File_Zap);
            break;
        case 2:
            Fz = fopen(File_Zap, "ab");            
            printf("F.I.O. - ");       
            cin.getline(Zap.FIO, 30);
            printf("Year of birth - ");    
            scanf("%d", &Zap.y_o_b);            
            printf(" Number of group - ");         
            scanf ("%s", &Zap.n_o_g);            
            printf(" Physics grade - ");
            scanf("%lf", &Zap.Grade.p);
            printf(" Math grade - ");
            scanf("%lf", &Zap.Grade.m);
            printf(" Informatics grade - ");
            scanf("%lf", &Zap.Grade.i);
            printf(" Chemistry grade - ");
            scanf("%lf", &Zap.Grade.c);
            Zap.a_s = (Zap.Grade.p + Zap.Grade.m + Zap.Grade.c + Zap.Grade.i)/4.0;
            fwrite(&Zap, razmer, 1, Fz);
            fclose(Fz);
            break;
        case 3:
            if ((Fz = fopen(File_Zap, "rb")) == NULL) {
                puts("\n Open ERROR!");
                return;
            }
            // Вывод на экран 
            printf("\n\t--------- Informations ---------");
            // Запись такой же информации в текстовый файл Ft
            fprintf(Ft, "\n\t--------- Informations ---------");
            while (1) {
                if (!fread(&Zap, razmer, 1, Fz)) break;
                Out(Zap);
            }
            fclose(Fz);
            break;
        
//----------------- Функция вывода одной записи на экран и в файл --------------------
void Out(TZap z)
{
    printf("\n %30s, %6d, %6s, %6.2lf, %6.2lf, %6.2lf, %6.2lf,  %6.2lf .", z.FIO, z.y_o_b, z.n_o_g, z.Grade.p, z.Grade.m, z.Grade.i, z.Grade.c, z.a_s);
    fprintf(Ft, "\n %30s, %6d, %6s, %6.2lf, %6.2lf, %6.2lf, %6.2lf, %6.2lf .", z.FIO, z.y_o_b, z.n_o_g, z.Grade.p, z.Grade.m, z.Grade.i, z.Grade.c, z.a_s);
}

Трабл в кейсе 2 и в том, что выводится в кейсе 3. Надо чтобы в одной строке умещалась информация об одном студенте(фамилия и инициалы, год рождения, номер группы, баллы), а на деле получается, что, когда надо ввести Фамилию и инициалы, сразу появляется поле для ввода года рождения. В итоге Фамилия записывается куда-то не туда(остаётся вверху в пустой строке), а вся остальная информация записывается в строку ниже. Помогите, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2021, 01:55
Ответы с готовыми решениями:

Как прочитать в одну строку всю информацию из файла?
У меня есть файл,в котором информация расположена в столбик(с новой строки),как мне прочитать (и можно ли) в одну строку всю эту информацию?

Два виджета в одну строку (не получается)
Привет всем! Не могу уместить два виджета от Вконтакте на сайте. Код: &lt;div style=&quot;height: 490px;...

Не получается разместить два блока в одну строку
Создан блок на 100% ширины экрана в нем у меня есть блок, который я располагаю по центру. В нем я создал два блока с 70% и 30% ширины от...

2
04.04.2021, 10:26

Не по теме:

YevgenIgorevich, это раздел языка С++. раздел языка С здесь: http://www.cyberforum.ru/c-beginners/

0
0 / 0 / 0
Регистрация: 18.12.2020
Сообщений: 30
06.04.2021, 01:37
Попробуйте между
C++
1
scanf("%d", &kod);
и
C++
1
switch (kod) {
вставить
C++
1
cin.ignore();
.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2021, 01:37
Помогаю со студенческими работами здесь

Не получается вывести информацию из потока
Привет. Нужно в потоке инкрементировать переменную и выводить на экран. Ошибка в методе самого вывода. import...

Не получается вывести информацию в echo
Подскажите пожалуйста что я делаю не так, почему при выборе из списка города не срабатывает функция echo. Заранее благодарен. &lt;form...

Не получается правильно вывести информацию из слайдер
Использую fancybox. Вот функции, которые использую $(&quot;.fancybox&quot;) .attr('rel', 'gallery') .fancybox({ type:...

Как вывести информацию по двум внешним ключам на одну таблицу
Здравствуйте! Прошу вашей помощи. Изучаю не очень давно SQL, а в частности SQLite. Скажите, пожалуйста, как исправить следующую...

Запрос SQL, не получается корректно вывести информацию
Доброго времени суток! Написал запрос, по которому должны отобразится все ТУ с сопутствующими данными, указанными в запросе, но хотелось бы...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru