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

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

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

добавление записи - C++

08.04.2012, 19:58. Просмотров 431. Ответов 7
Метки нет (Все метки)

приветствую всех!!!!у меня такая проблема - мне надо написать программу,которая добавляет запись в файл(уже созданный). но т.к. я новичок в этом деле,то,конечно,у меня не получилось. прошу указать на ошибки. можно прям носом ткнуть)))))и показать где и что именно исправлять. заранее всем спасибо!!!!


вот тут моя наработка. сама проблема заключается в том,что добавляет не все. по условию надо добавить автора и его книгу. но добавляет только книгу.
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
#include<fstream>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream>
 char str[100];
 int main(void)
 {
     FILE*F=fopen("H:\\spravochnik.txt","at");
     if (F==NULL)
     { printf("oshibka otkritiya!!!");}
     fscanf(F,"%s\n",str);
 
    char str[100];
    printf("vvedite FIO: ");
    gets(str);
    printf("FIO vvedeno: %s\n",str);
 
  printf("vvedite nazvanie knigi: ");
  scanf ("%s",str);
  printf("nazvanie knigi vvedeno: ");
  puts(str);
 
 
 
    fprintf(F,"%s\n",str);
 
 
     printf("zapis' dobavlena");;
 
 
return 0;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2012, 19:58     добавление записи
Посмотрите здесь:

добавление записи - C++
доброе всем время суток!!!прошу помочь решить небольшую,но важную проблему!я составил прогу,которая добавляет запись в уже заранее...

Удаление/добавление записи по ключу в односвязном списке - C++
Возможно-ли удаление или добавление записи по ключу в односвязном списке? Если да, то не пойму, как &quot;перемещаться по списку&quot; не разрывая...

[Классы, Наследование, Шаблоны] Добавление записи в список - C++
В данной программе используется наследование с применением шаблонов класса. В другой похожей программе не используя наследования программа...

Есть в записи числа m цифры, которые совпадают с цифрами в записи числа n - C++
Дано два натуральных числа n(&lt;=9999) и m (&lt;=9999). Проверить, есть в записи числа m цифры, которые совпадают с цифрами в записи числа n. ...

Проверить, есть ли в записи числа m цифры, совпадающие с цифрами в записи числа n - C++
Помогите составить программу. Условие: Даны два натуральных числа m и n{m&lt; 9999, n &lt; 9999). Проверить, есть ли в записи числа m...

Добавление записи - C++ Builder БД
bool Lserch (AnsiString L){ Form3-&gt;Table1-&gt;First(); for ( int i = 0; i &lt;Form3-&gt;Table1-&gt;RecordCount; i++) { if (L ==...

Добавление записи из БД - C#
Здравствуйте, ув. программисты! Я совсем недавно изучаю C# и у меня есть задача, которую не получается осуществить... В общем, мне...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
08.04.2012, 20:17     добавление записи #2
Попробуйте использовать структуры:
C++
1
2
3
4
5
6
struct List
   {
   char author[50];
   char book[50];
   };
List info[20];
А в зависимости от того, что Вам нужно, оперируйте с элементами структуры.
Обращение к элементу структуры происходит через ".".
Например, info[5].author, означает, что мы обращаемся к 6 (в нашем понимании) записи, элементу "author".
reventon707
0 / 0 / 0
Регистрация: 23.02.2012
Сообщений: 16
08.04.2012, 20:23  [ТС]     добавление записи #3
а куда конкретно его вставить?
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
08.04.2012, 20:39     добавление записи #4
Мой способ Вам не подойдет, т.к. придется все набирать заново.
Как я понял, Вы только вводите название книги, а автора нет, поэтому он и не выдает его. Необходимо добавить:
C++
1
2
3
4
5
6
7
8
9
10
11
printf("vvedite avtora: ");
  scanf ("%s",str);
  printf("avtor vveden: ");
  puts(str);
 
 
 
    fprintf(F,"%s\n",str);
 
 
     printf("zapis' dobavlena");
Добавлено через 2 минуты
Кроме того, проверку наличия и работоспособности файла Вы сделали:
C++
1
2
if (F==NULL)
     { printf("oshibka otkritiya!!!");}
Но остальной код будет выполняться, даже если будут проблемы с файлом, поэтому весь остальной код необходимо заключить в "else", т.е.
C++
1
2
if (F==NULL)
     { printf("oshibka otkritiya!!!");} else {...}//Вот тут все остальное.
reventon707
0 / 0 / 0
Регистрация: 23.02.2012
Сообщений: 16
08.04.2012, 20:52  [ТС]     добавление записи #5
если Вам не сложно,могли бы Вы всю прогу полностью написать. у меня что-то вообще никак не получается. буду очень благодарен!!!!!
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
08.04.2012, 20:55     добавление записи #6
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<fstream>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream>
 char str[100];
 int main(void)
 {
     FILE*F=fopen("H:\\spravochnik.txt","at");
     if (F==NULL)
      printf("oshibka otkritiya!!!"); else{
     fscanf(F,"%s\n",str);
 
    char str[100];
    printf("vvedite FIO: ");
    gets(str);
    printf("FIO vvedeno: %s\n",str);
 
  printf("vvedite nazvanie knigi: ");
  scanf ("%s",str);
  printf("nazvanie knigi vvedeno: ");
  puts(str);
 
 
 
    fprintf(F,"%s\n",str);
 
 
     printf("zapis' dobavlena");
printf("vvedite avtora: ");
  scanf ("%s",str);
  printf("avtor vveden: ");
  puts(str);
 
 
 
    fprintf(F,"%s\n",str);
 
 
     printf("zapis' dobavlena");
}
 
 
return 0;
 }
Прошу прощения за синтаксис, переделывать все долго, но если исходный вариант работал, то этот тоже должен работать.
reventon707
0 / 0 / 0
Регистрация: 23.02.2012
Сообщений: 16
08.04.2012, 21:02  [ТС]     добавление записи #7
работал,но,увы,не так как надо. спасибо огромное!!!а не подскажете как сделать проверку данных?т.е. при добавлении записи проверить есть такая запись или нет?если не сложно хотелось бы увидеть в коде С++. у меня с этим вообще никаких продвижений.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2012, 22:19     добавление записи
Еще ссылки по теме:

добавление записи - Pascal
всем привет! есть такая штучка как добавление! добавление записей в БД! то есть эти данные записываются в файл! надо написать проверку,...

Добавление записи в БД - C++ Builder БД
Всем добрый день. Дорогие друзья, мне надо чтобы я щелкал на кнопку записать и данные вносились базу. Я для него прописывал...

Interbase Добавление записи в БД - Delphi БД
День добрый помогите разобраться с ошибкой. При добавлении записи выдает ошибку о том что не может найти поля для ввода, хотя компонент...

EF добавление записи в БД - C#
Только начинаю изучать Entity framework (CF). Вопрос, вот добавляю я объект в БД. Если он уже там есть, возвращает ли сообщение...

добавление записи - MS Access
есть таблица с уже готовыми стандартными записями (типа справочник) есть рабочая таблица, где могут добавляться как стандартные записи,...


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

Или воспользуйтесь поиском по форуму:
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
08.04.2012, 22:19     добавление записи #8
reventon707, извините, но придется писать довольно объемный код, а времени сейчас у меня мало. Могу сказать, что можно использовать функцию нахождения подстроки в строке "strstr (s1,s2)", где s1 - строка, в которой ищем подстроку, а s2 - искомая подстрока. Т.е. необходимо проверить все строки файла путем считывания и использования указанной функции. Например, считали из файла F строку str, используем strstr (str,s), где s - необходимая нам информация, а str - строка, считанная из файла F. Т.е. необходимо в цикле считывать все строки файла и проверять вхождение введенной нами строки в считанную строку. Надеюсь, изложил понятно....
Yandex
Объявления
08.04.2012, 22:19     добавление записи
Ответ Создать тему
Опции темы

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