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

Структуры и файлы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти ошибку в программе решения квадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread1068102.html
Помогите, пожалуйста, выловить ошибку. Заурядное квадратное уравнение, но корни выбивает не так, как следует. #include <iostream> using namespace std; int quadratic (int a, int b, int c) { int x1, x2; if (a == 0) {
C++ Нарисовать в файле окружность, вписанную в квадрат n*n толщиной в один символ Попался вот такой вопрос: Задано число n - количество строк и столбцов в текстовом файле. нарисовать в этом файле окружность, вписанную в квадрат n*n толщиной в один символ. Помогите решить пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread1068101.html
C++ Нарушение прав доступа при чтении
Здравствуйте, добавляю структуры в бинарник, потом высчитываю сколько в файле структур, считываю, пытаюсь вывести значения на экран и вылетает ошибка 0xC0000005: Нарушение прав доступа при чтении "0x002b4280 собственно код: struct mystruct { float edge; char color; char material; }; int amount = 0; int b=sizeof(mystruct); printf("Enter amount new cubes:"); scanf_s("%d",...
Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот C++
1. Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот, а затем измененный массив отсортируйте по возрастанию. 2. Дана квадратная матрица. Постройте вектор, элементы которого являются наибольшими числами каждой строки матрицы. Все это с помощью указателей, помогите пожалуйста!
C++ Вывод дампа памяти с нужного адреса http://www.cyberforum.ru/cpp-beginners/thread1068069.html
Имеется работающий код из книги. У меня среда Visual C++ 2008. Проблема в том, что этот код выводит дамп начиная с адреса переменной "k". Мне надо выводить дамп с нужного заданного адреса. Как изменить код, чтобы не было привязки к переменной "k"? //Вывод дампа памяти начиная с ячейки переменной "k" #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <windows.h>
C++ Что-то не то с выводом сохранённых данных из бинарного файла #include <iostream> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> using namespace std; FILE *file_in;//Óêàçàòåëü íà ôàéë ââîäà typedef struct { char fio; подробнее

Показать сообщение отдельно
Cer9
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 23
11.01.2014, 05:39     Структуры и файлы
Доброй ночи! В общем задание: написать программу (валшепную), которая описывает структуру, содержащую:
-имя,
-знак зодиака,
-дата рождения (со вложенной структурой, состоящей из: день, месяц, год).
Основные действия: ввод и вывод (поиск по имени или знаку), упорядоченная запись элементов структуры (как дополнение).
Ну, начнем с проблемы: при вводе с консоли, запись со 2-ого раза скачет через запрос, на ввод имени (запрос на ввод имени, знака, даты рождения(в длину по 2 2 4 символа), дальше программа просто не хочет работать, сразу завершается. Прикрепляю код, который хоть не ругается на ошибки.
Кликните здесь для просмотра всего текста

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
using namespace std;
struct date {
    int day[2], month[2], year[4];
};
 
 
struct znak {
    char name[10];
    char zodiak[10];
    struct date birthday;
}person;
FILE *human; znak *p; 
const int n = 4;
void key();
int main() 
{
    key();
    errno_t err;
    err = fopen_s(&human, "znak.txt.", "w+");
    if (err == 0){
        printf("The file 'znak' was opened\n");
    }
    else{
        printf("The file 'znak' was not opened\n");
    }
    for (int i = 1; i < n; i++)
    {
        printf("Person: %i", i); printf_s("\nEnter the his/her name : ");
        gets(person.name);
        printf("\nEnter the his sign of the zodiac : ");
        gets(person.zodiak);
        printf("\nHis date of birth : ");
        scanf("2%d 2%d 2%d", &p->birthday.day, &p->birthday.month, &p->birthday.year);
        fwrite(&person, sizeof(znak), 1, human);
    }
    int schet = 0;
    char poisk[40], ko[60];
    printf_s("Want to find a person by his name or sign of the zodiac? [n/z]");
    scanf_s("%c", &ko);
    if (ko[0] == 'n')
    {
        printf("Enter the name : ");
        scanf("%c", &poisk);
        for (int i = 1; i < 4; i++){
            if (!(fscanf(human, "%s", p[i].name))){
                printf("/nName - ", p[i].name);
                schet++;
            }
            if (schet == 0)
                printf("/nNot found/n");}
    }
    else if (ko[0] == 'z')  {
        printf("Enter the zodiac : ");
        scanf("%c", &poisk);
        for (int i = 1; i < 4; i++){
            if (!(fscanf_s(human, "%s", p[i].zodiak))){
                printf("/nZodiac - ", p[i].zodiak);
                schet++;
            }
            else
            if (schet == 0)
                printf("Not found\n");}
    }
    else{
        printf("");}
    system("pause");
    return 0;
}
 
void key(){         //авторизация
    int i = 0;
    string valid_pass = "123";
    string user_pass;
    printf_s("\nEnter a password: ");
    getline(cin, user_pass);
    if (user_pass == valid_pass) {
        printf("OK\n");
        return;
    }
    else {
        printf("Invalid password\n");
    }
    return key();
}
Миниатюры
Структуры и файлы  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru