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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2010, 20:55   #1
freggat
Новичок
Джуниор
 
Регистрация: 11.01.2010
Сообщений: 1
По умолчанию Построение правильного алгоритма, вывод данных в файл,

Здравствуйте!

Есть вот такой код:
Код:
#include <iostream>
#include <fstream>

struct PRED{
bool fiz_ur;
char type [6];
char name [51];
unsigned long int tel;
char contact [100];

};

void func_question(void);
int main()

{
std::ofstream database("database.DAT", ios::app);
int check;
int flag1=0;
PRED pred;
std::cout << "You are welcome!\n";

while (flag1==0){
func_question();
std::cin >> check;

if (check==1){
std::cout << "Please, enter the name of your company:\n";
std::cin >> pred.name;
std::cout << "Please, enter the type of your company:\n";
std::cin >> pred.type;
std::cout << "Please, enter Director's name and surname:\n";
std::cin >> pred.contact;
std::cout << "Please, enter your telephone:\n";
std::cin >> pred.tel;
std::cout << "Thank you, data is now writing...\n";
database << pred.name <<std::endl;
database << pred.type<<std::endl;
database << pred.contact<<std::endl;
database << pred.tel<<std::endl;

}

if (check==0){

flag1=1;
}
if (check !=1|check!=0){std::cout << "\nUnknown command, please try one more time\n";
}
}

return 0;
}

void func_question(){
std::cout<<"Do you want to enter data?\n(Type 1 for YES or 0 for NO)\n";
}
Проблема раз - реализация алгоритма.
Программа должна выполняться так:
1.Приветствие -> 2.Хотите ввести данные?
"1" - хотим -> 3.ввод данных -> 4.Запись в файл -> 5. возврат к шагу 2.
"2" - не хотим -> 6. Окончание работы программы

При компиляции проги в таком виде, она перед возвратом к 2., или перед 6. зачем-то выводит сообщение "Unknown command, please try one more time". Переменная flag1 своего значения не меняет..!! Ничего не понимаю. То ли лыжи не едут....

Проблема два - невозможность установить режим открытия.
При компиляции выдается сообщение:
C:\Users\_____\С++\struct.cpp In function `int main()':
18 C:\Users\_____\С++\struct.cpp `ios' has not been declared
18 C:\Users\_____\С++\struct.cpp `app' undeclared (first use this function)
Режим открытия - это же не переменная, в чем дело, подскажите?

Проблема три - цикл while становится бесконечным(заклинивает), если в переменную структуры tel поместить нечисловое значение.

Честно, я полюбил свой мозг уже всеми способами, потому и пришел сюда.
freggat вне форума Ответить с цитированием
Старый 11.01.2010, 21:33   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Ну насчет почему зазря выводит сообщение - так это потому, что вы в условии ошиблись. Вместо
Код:
if (check !=1|check!=0)
пишем
Код:
if (check !=1 && check!=0)
А то введенное число всяко не равно как минимум одной из двух констант!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение таблицы с отфильтрованных данных xXx666 Microsoft Office Excel 0 16.11.2009 23:10
Паскаль. Вывод результатов алгоритма пошагово mistertvister Помощь студентам 2 12.11.2009 08:25
создание алгоритма сохранения своих данных при работе с программой street-walker Общие вопросы Delphi 1 04.05.2009 18:51
Загрузка данных и построение таблицы. Lisichka Microsoft Office Word 12 04.02.2009 15:31