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

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

05.02.2014, 19:15. Показов 2687. Ответов 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 / 6724 / 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 / 6724 / 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
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
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
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
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
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
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
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru