Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58

Выдает ошибку

05.02.2014, 19:15. Показов 2838. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string>
 
 
using namespace std;
 
 
struct NOTE {
    char surname[20]; 
    char name[10]; 
    int phone;
    char birthday[10]; 
} ;
 
void main () 
{
    FILE* f;
    NOTE base[3];
    if (f = fopen("base.txt","w")==NULL)exit(1);
    int i,j;
    for(i=0; i<4;i++) { 
    cout<<"\nSurname: ";
    cin>>base[i].surname;
    cout<<"\nName: ";
    cin>>base[i].name;
    cout<<"\nPhone: ";
    cin>>base[i].phone;
    cout<<"\nBirthday: ";
    cin>>base[i].birthday;
 
fwrite((&i),sizeof(base),1,f);
if (ferror(f)==NULL) exit(2);
fclose(f);
}
 
 
system("Pause");
 
}
Миниатюры
Выдает ошибку  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2014, 19:15
Ответы с готовыми решениями:

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short m)// функция вычисления факториала ...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Найти ошибку в программе: в visual studio выдает ошибку
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

41
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
05.02.2014, 20:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Diman_ Посмотреть сообщение
Я хочу записать в файл структуру
так пожалуйста, KOPOJI, имеет виду что файл закроется после первой итерации... его после цикла закрывать надо, а запись fwrite(&base[i] ,sizeof(base),1,f); наверное?
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 20:12  [ТС]
ну да, запись
0
05.02.2014, 20:14

Не по теме:

Diman_, вы троллите?

0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
05.02.2014, 20:15
Цитата Сообщение от Diman_ Посмотреть сообщение
ну да, запись
а у Вас чего посмотрите записать пытаетесь кусок памяти в размере sizeof(base) а указатель начиная с ячейки где размещена переменная i.
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 20:15  [ТС]
нет, мне реально нужна помощь, а я не пойму что делать.
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
05.02.2014, 20:22
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string>
 
 
using namespace std;
 
 
struct NOTE {
    char surname[20]; 
    char name[10]; 
    int phone;
    char birthday[10]; 
} ;
 
void main () 
{
    FILE* f;
    NOTE base[3];
    if ((f = fopen("base.txt","w"))==NULL) exit(1);
    int i,j;
    for(i=0; i<2;i++) { 
    cout<<"\nSurname: ";
    cin>>base[i].surname;
    cout<<"\nName: ";
    cin>>base[i].name;
    cout<<"\nPhone: ";
    cin>>base[i].phone;
    cout<<"\nBirthday: ";
    cin>>base[i].birthday;
 
fwrite(&base[i] ,sizeof(base),1,f);
}
 
 
fclose(f); 
 
system("Pause");
 
}
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
05.02.2014, 20:23

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
programina, и? Я вообще не пользуюсь виндой, но все равно не отрицаю того, что conio.h есть (не везде, но есть)
В несуществующий раздел С++ под виндовс


[/CPP]
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
05.02.2014, 20:25
Если не напутал

Добавлено через 1 минуту
Цитата Сообщение от programina Посмотреть сообщение
В несуществующий раздел С++ под виндовс

Не по теме:

Ну уж не надо так категорично, мы Windows-чане народ в целом не плохой, чтоб нас сразу в ссылку:cry:

1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
05.02.2014, 20:28
Diman_, ну вот смотрите, представьте такую тупую, но как раз в тему ситуацию. Допустим, вам надо проехать три круга на машине, причем перед каждым новым кругом отчитываться, а затем опять ехать. Вот эта поездка по кругу - ваш цикл, каждый новый круг - новая итерация цикла. Какими должны быть ваши действия действия:

Вообще, тут возможно два варианта. Первый, который реализовали вы:

Как должно быть:
1. Перед первым кругом завели двигатель (открыли файл с помощью fopen)
2. Проехали круг (cin-cout)
3. Отчитались перед начальством (fwrite)
4. Заглушили двигатель (fclose)
5. Возврат к пункту 1 - завести двигатель
....
Как у вас:
1. Перед первым кругом завели двигатель (открыли файл с помощью fopen)
2. Проехали круг (cin-cout)
3. Отчитались перед начальством (fwrite)
4. Заглушили двигатель (fclose)
5. Возврат к пункту 1 - завести двигатель Возврат к пункту 2 - проехать круг (с неработающим двигателем)
.....

Второй вариант, зачастую, более правильный:
1. Перед первым кругом завели двигатель (открыли файл с помощью fopen)
2. Проехали круг (cin-cout)
3. Отчитались перед начальством (fwrite)
4. Заглушили двигатель (fclose)
5. Возврат к пункту 1 - завести двигатель

4. Возврат к пункту 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
#include <iostream>
#include <cstdlib>
#include <cstdio>
 
using namespace std;
 
struct NOTE {
    char surname[20]; 
    char name[10]; 
    int phone;
    char birthday[10]; 
} ;
 
const int ELEMENTS_COUNT = 3;
 
 
int main () 
{
    FILE *f;
    int i;
    NOTE base[ELEMENTS_COUNT];
    if ((f = fopen("base.txt","w"))==NULL)
    exit(1);
 
    for(i=0; i<ELEMENTS_COUNT;i++)
    { 
        cout<<"\nSurname: ";
        cin>>base[i].surname;
        cout<<"\nName: ";
        cin>>base[i].name;
        cout<<"\nPhone: ";
        cin>>base[i].phone;
        cout<<"\nBirthday: ";
        cin>>base[i].birthday;
 
        fwrite(&base[i], sizeof(base), sizeof(base[0]),f); 
        
        if (ferror(f)!=0)
            exit(2);
    }
    fclose(f);
 
    system("pause");
 
    exit(EXIT_SUCCESS);
}
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 20:30  [ТС]
Спасибо!) А почему оно в тот файл не понятное чет записывает?
мне нужно будет просто читать тот файл и удалить с него, а потом добавить, а там

"ўЇў*Ї МММММММММММММ*ўЇў*Ї МММММD 2 ММММММММММММММММММММММММММММММММММММММММ ММММММММММММММММММММММММММММММММММММММММ ММММММММММММММММММММММММММ*ўЇ*ўЇ МММММММММММММ*Їў*Ї ММММММММММ ММММММММММММММММММММММММММММММММММММММММ МММММММММММММММММММММММММММшфхММММ«иЁЫ, ь Я9  ђF. 8. [пЁЫ "
0
05.02.2014, 20:30

Не по теме:

хм, опоздал чуток :)

0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
05.02.2014, 20:32
KOPOJI, Напутал я правильно fwrite(&base[i], sizeof(base), sizeof(base[0]),f);

Добавлено через 1 минуту
Цитата Сообщение от Diman_ Посмотреть сообщение
Спасибо!) А почему оно в тот файл не понятное чет записывает?
мне нужно будет просто читать тот файл и удалить с него, а потом добавить, а там
А вы бинарным кодом структуру то записали это то как ваши переменные в памяти выглядят если их символы перевести.....
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
05.02.2014, 20:44
Diman_, если требуется таким образом, то можете записывать данные в файл с помощью fprintf, например. Замените вашу строчку с fwrite на такую, например
C++
fprintf(f, "%s | %s | %d | %s\n", base[i].surname, base[i].name, base[i].phone, base[i].birthday);
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 20:44  [ТС]
Теперь вот что выдает
Миниатюры
Выдает ошибку  
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
05.02.2014, 20:50
Цитата Сообщение от Diman_ Посмотреть сообщение
Теперь вот что выдает
исправленный листинг покажи
Цитата Сообщение от Diman_ Посмотреть сообщение
int phone;
сколько цифр в номере телефона?
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 20:55  [ТС]
Вот. ввожу 5
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string>
 
 
using namespace std;
 
 
struct NOTE {
    char surname[20]; 
    char name[10]; 
    int phone;
    char birthday[10]; 
} ;
 
void main () 
{
    FILE* f;
    NOTE base[3];
    if ((f = fopen("base.txt","w"))==NULL) exit(1);
    int i,j;
    for(i=0; i<2;i++) { 
    cout<<"\nSurname: ";
    cin>>base[i].surname;
    cout<<"\nName: ";
    cin>>base[i].name;
    cout<<"\nPhone: ";
    cin>>base[i].phone;
    cout<<"\nBirthday: ";
    cin>>base[i].birthday;
 
fwrite(&base[i], sizeof(base), sizeof(base[0]),f);
}
 
 
fclose(f); 
 
system("Pause");
 
}
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
05.02.2014, 21:10
Цитата Сообщение от Diman_ Посмотреть сообщение
NOTE base[3];
в массиве 3 записи
Цитата Сообщение от Diman_ Посмотреть сообщение
for(i=0; i<2;i++)
записываем 2 0 и 1
Цитата Сообщение от Diman_ Посмотреть сообщение
ввожу 5
в смысле?
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 21:16  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
в смысле?
спрашивали скок цифр в номере телефона
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
05.02.2014, 21:17
Цитата Сообщение от Diman_ Посмотреть сообщение
fwrite(&base[i], sizeof(base), sizeof(base[0]),f);
и что ты тут записываешь
size_t fwrite(const void *buf, size_t size, size_t count, FILE *stream);
buf адрес блока у тебя &base[i] правильно
size размер блока у тебя sizeof(base) размер массива
count количество записей( блоков) у тебя sizeof(base[0]), размер структуры

C++
1
fwrite(&base[i], sizeof(base[0]),1,f);
можно так
C++
1
fwrite(&base[i], sizeof(NOTE),1,f);
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 58
05.02.2014, 21:27  [ТС]
Спасибо) а можете еще помочь с тем как удалить все элементы с заданным возрастом, добавить элемент после элемента с заданным номером?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2014, 21:27

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Выдает ошибку !
std::array слишком мало аргументов

Выдает ошибку
После запуска кода выдает ошибку Unresolved external '_Form1' referenced from D:\PROJECTS\PROJECT1.OBJ. Что за ошибку. Код прилагаю ниже ...

выдает ошибку(
#include &lt;vcl.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #pragma hdrstop ...

Выдает ошибку
Здравствуйте, вот код(недоделанный), пишу игру змейку(без графического оформления), выдает такую ошибку: onio.h: No such file or directory....


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru