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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 20:35   #1
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию Visual C++ и Dev C++

Доброе время.
Столкнулся с проблемой. Компилирую один и тот же файл в разных программах. В Visual программа вылетает, а в Dev все отлично работает. Может кто-то сталкивался с таким
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 09.11.2012, 20:49   #2
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию

Вылетает? куда? в окно? где сама ошибка и код?
Murashov вне форума Ответить с цитированием
Старый 09.11.2012, 21:18   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

После выбора одного из пунктов меню, любого....

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

struct sport{char surname[15]; int numer; int points;} s, t;
void input(FILE *);
void see(FILE *);
void app(FILE *);
void repl(FILE *);

main()
{
char c;
FILE *tf;

while(1)
{
     system("cls");
	 puts("\n ОБРАБОТКА БИНАРНОГО ФАЙЛА "); 
     puts("\n ****************************");
	 puts(" *  1 - Новый файл          *");
	 puts(" *  2 - Просмотр файла      *");
	 puts(" *  3 - Добавление в файл   *");
	 puts(" *  4 - Замена строк        *");
	 puts(" *  0 - Выход               *");
	 puts(" ****************************\n");
	 puts(" Выберите пункт меню: "); c = getch();
	 
	 switch(c){
		  case '1': input(tf); break;
		  case '2': see(tf); break;
		  case '3': app(tf); break;
		  case '4': repl(tf); break;
		  case '0': return 0;
		  default: {system("cls"); 
		  printf("\n *********************************");
		  printf("\n * Вы ввели неверное значение!!! *");
		  printf("\n *********************************");getch();}
		  }
}
return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 09.11.2012 в 21:29.
Bugrimov вне форума Ответить с цитированием
Старый 09.11.2012, 21:19   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
После выбора одного из пунктов меню, любого....
Это типа такой тест на внимательность? Посмотрите на километр моего кода, и скажите, что с ним не так?
_Bers вне форума Ответить с цитированием
Старый 09.11.2012, 21:23   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
FILE *tf=0;
Должна решить твои проблемы.
Запомни: Инициализировать переменные - хороший тон и меньше багов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2012, 21:28   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Это типа такой тест на внимательность? Посмотрите на километр моего кода, и скажите, что с ним не так?
Еще один. Вас Петросян покусал, что ли. А за совет спасибо!!! Проблема действительно решилась.

Еще вопрос, что это за предупреждения, которые выдает компилятор VC++. Что с ними можно сделать и нужно ли вообще что-нибудь делать???

warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Stilet; 09.11.2012 в 22:06.
Bugrimov вне форума Ответить с цитированием
Старый 09.11.2012, 21:56   #7
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Еще вопрос, что это за предупреждения, которые выдает компилятор VC++. Что с ними можно сделать и нужно ли вообще что-нибудь делать???

warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
Вы используете небезопасные фичи на свой страх и риск. Если вас задолбали наши предупреждения выстрелить себе ничайно в голову - используйте дефайн _CRT_SECURE_NO_WARNINGS
За подробной информацией обращайтесь к мудакам.


/ps заботливый компиль слил тебе другую, более православную (безопасную) версию функции. Её имя угадай сам.
_Bers вне форума Ответить с цитированием
Старый 09.11.2012, 22:09   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вас Петросян покусал, что ли
Петросян тут ни при чем. Виновата твоя фраза
Цитата:
В Visual программа вылетает
Это какгбэ представляется суицид уволившейся из курантов кукушки. Никакой конкретики ты не представил, а между прочем VS четко сообщает где ошибка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2012, 22:15   #9
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Я никого оскорбить не хотел, спасибо за совет!!!
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 09.11.2012, 22:38   #10
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию

извиняюсь конечно за грубость, но просто после слов: "у меня тут вылетела ошибка" логичнее было бы написать какая именно, с того и реакцию про окно
Murashov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
dev-c++ Моэра Помощь студентам 15 28.06.2011 12:43
Dev C++ компилирует, Visual C++ ругается Cookson Visual C++ 7 02.10.2009 10:39
Dev-C++4.9.8.0 elenSV Помощь студентам 12 22.07.2009 19:20