Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2013, 19:31   #1
DeCIIoT
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию Программа на C++

Помогите пожалуйста, данные просто вводятся но не выводится не чего.
Код:
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define max_nazva 50
#define max_avtor 30
#define max_bibl 2 
using namespace std;
struct book {
       char nazva [max_nazva];
       char avtor [max_avtor];
       float cena ;
       };
int main()
{ setlocale(LC_CTYPE,"Russian");
 struct book bibl[max_bibl];
 int c_book=0; 
 int c;
 int i;
 int file_c_book;
 FILE *fp;
 int size=sizeof(struct book);
 if ((fp=fopen ("book.dat","a+t"))==NULL)
  {fputs("Íåâîçìîæíî îòêðûòü ôàéë book.dat\n",stderr);
   exit(1); 
   }
rewind(fp); 
while((c_book<max_bibl)&&(fread(&bibl[c_book],size,1,fp))==1)
{if (c_book==0)
	 puts("'Òåêóùåå ñîäåðæèìîå ôàéëà  book.dat:");
     printf("%s,%s:%.2f ãðí.\n", bibl[c_book].nazva,bibl[c_book].avtor, bibl[c_book].cena);
c_book++;  
     }
file_c_book=c_book;
if (c_book==max_bibl)
{fputs("Ôàéë book.dat Ïåðåïîëíåí. Äîáàâëåíèå íåâîçìîæíî. \n ",stderr);
   exit(2);
   }
while((c_book<max_bibl)&& (gets(bibl[c_book].nazva)!=NULL)&&(bibl[c_book].nazva[0]!='\0'))
{puts("Ââåäèòå àâòîðà :");
     gets(bibl[c_book].avtor);
     puts("Óêàæèòå öåíó â ãðèâíÿõ:");
     cin >> bibl[c_book].cena;
     while (getchar()!='\n')
	   continue;
if(c_book<max_bibl)
      puts("Óêàæèòå íàçâàíèå ñëåäóþùåé êíèãè:");
}
puts("Ïîëíûé ïåðå÷åíü êíèã:");
for(i=0;i<c_book;i++)
   printf("%s,%s:%.2f ãðí.\n",bibl[i].nazva, bibl[i].avtor,bibl[i].cena);
fwrite(&bibl[file_c_book],size,c_book-file_c_book,fp);
getch();                                                                                                                    
return 0;
}
DeCIIoT вне форума Ответить с цитированием
Старый 23.05.2013, 20:31   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что говорит отладчик?
Abstraction вне форума Ответить с цитированием
Старый 23.05.2013, 20:36   #3
DeCIIoT
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию

ошибок не каких не выводит.
просто не пойму почему данные только вводятся
DeCIIoT вне форума Ответить с цитированием
Старый 23.05.2013, 21:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

getch(); замени на getchar() или круче - system("pause");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.05.2013, 00:37   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
ошибок не каких не выводит.
Я не сказал "компилятор", я сказал "отладчик". То есть, как меняются переменные при пошаговом выполнении программы? В какой точно момент программа начинает вести себя не так, как Вы от неё ожидаете?
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа как программа. вопрос leonidsm Общие вопросы C/C++ 5 02.10.2012 21:30
Программа с применением записей и программа с применение множеств smert99 Помощь студентам 0 16.06.2011 23:14
Программа открыается если есть другая программа. bookkc Паскаль, Turbo Pascal, PascalABC.NET 12 14.10.2009 20:09