Здравствуйте, _Tonic_MC_, Вы писали:
_T_>короче чайник, я, пытаеться написать нормальнуюю программу, ну и вот, нужна HELP _T_>J_send 2.0 _T_>программа на Visual C++ для отсылки сообщений по сети
Неплохо бы Вам научиться писать по русски и внятно формулировать свои мысли, а уж потом пытаться писать программы. _T_>код:
_T_>попробуйте сами и посмотрите что происходит после GOTO LAB1; _T_>он запоминает name и не даёт его вводить, программа может нормально сработать только 1 раз, потом жо*а!!!! Как такое исправить? Может строковые данные обнулить, тогда как???
Может и обнулить,только сперва почитайте книги умные. А что делала программа J_send 1.0?
попробуйте сами и посмотрите что происходит после GOTO LAB1;
он запоминает name и не даёт его вводить, программа может нормально сработать только 1 раз, потом жо*а!!!! Как такое исправить? Может строковые данные обнулить, тогда как???
OK!THANKS!HELP 2PAC 4EVER
27.01.05 07:22: Перенесено модератором из 'C/C++' — Павел Кузнецов
Здравствуйте, _Tonic_MC_, Вы писали:
_T_> system("cls"); _T_> cout<<"\t\t\t Xotite otpravit eshe odno soobshenie??? (Y/N) "; cin>>>an1; _T_>q1: _T_> switch(an1){ _T_> case 'Y': _T_> goto lab1; _T_> case 'y': _T_> goto lab1; _T_> case 'N': _T_> break; _T_> case 'n': _T_> break; _T_> default: _T_> goto q1; _T_> } _T_>} _T_>[/ccode]
это что за приколы? а если ни один из вариантов не прокатит, программа цикланётся на фиг.
кто тебя учил с GOTO делать? бейсику в школе учили чтоли?
не хочешь больших проблем в светлом будущем — забудь про гоуту.
Re: Неправильно работает прога(C++)help---
От:
Аноним
Дата:
25.01.05 06:06
Оценка:
Здравствуйте, _Tonic_MC_, Вы писали:
_T_>короче чайник, я, пытаеться написать нормальнуюю программу, ну и вот, нужна HELP _T_>J_send 2.0 _T_>программа на Visual C++ для отсылки сообщений по сети
_T_>код:
_T_>проблема:
_T_> _T_>попробуйте сами и посмотрите что происходит после GOTO LAB1; _T_>он запоминает name и не даёт его вводить, программа может нормально сработать только 1 раз, потом жо*а!!!! Как такое исправить? Может строковые данные обнулить, тогда как???
_T_>OK!THANKS!HELP 2PAC 4EVER
Re: Неправильно работает прога(C++)help---
От:
Аноним
Дата:
25.01.05 06:25
Оценка:
Здравствуйте, _Tonic_MC_, Вы писали:
_T_>короче чайник, я, пытаеться написать нормальнуюю программу, ну и вот, нужна HELP _T_>J_send 2.0 _T_>программа на Visual C++ для отсылки сообщений по сети _T_>код:
Не буду злорадствовать, но...
1. Прочтите хотя бы первые несколько глав по С++. Вредность "goto " даже в данном случае очевидна
2. Для оптимальной работы можно организовать что-то вроде глобального цикла while...do с проверкой на наличие кода выхода
3. switch и case можно убрать совсем, в данном случае они мало полезны...if-ми можно обойтись
4.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Vamp, Вы писали:
V>>Ошибка в программе. Это же новый major release! Версия 3.0.
А>Вообще-то это модификация исходного кода, А>который защищен копирайтом. А>Скажем честно. Это преступление!!!
ХОоооотел был я посмотреть на лиц. соглашение и количество купивших сей ген. продукт.
Интересно, откуда автор Топика такую модную шапку с копиРайтом выдрал? Может мне терь нельзя частями его кода пользоваться. Я даже затосковал... Как же я без ГовТу (не хватает the подальше)
Здравствуйте, _Tonic_MC_, Вы писали:
_T_>короче чайник, я, пытаеться написать нормальнуюю программу, ну и вот, нужна HELP _T_>J_send 2.0 _T_>программа на Visual C++ для отсылки сообщений по сети
_T_>код:
_T_>проблема:
_T_> _T_>попробуйте сами и посмотрите что происходит после GOTO LAB1; _T_>он запоминает name и не даёт его вводить, программа может нормально сработать только 1 раз, потом жо*а!!!! Как такое исправить? Может строковые данные обнулить, тогда как?
Значит ситуация следующая.
Этот код — можно показывать для примера как НЕ НАДО ПИСАТЬ (ты это уже и так думаю понял с коментариев на задачу.
Но, буду действительно отвечать на вопрос, а не комментировать то, как реализовано программу.
Я в коде оставил ключевые строчки. По ним можно посмотреть в чем тут ОСНОВНЫЕ проблемы.
1. В name ты читаешь 255 символов, хотя размер твоего блока — 50. Тут возможны ТАКИЕ глюки, что даже представить трудно. Но! Поставленная тобой проблема не в этом!
2.Ты читаешь в an1 символ. При окончании ввода нажимаешь Энтер. (это значит, что с потока ты считал 1 символ, а в потоке остался '\n'. Если почитать, что же делает getline(), то можно обнаружить, что она читает символы пока:
1. Количество запрошенных символов > чем в потоке.
2. Встретился '\n'.
Как ты понимаешь, после считывания an1 остался такой символ в потоке, поэтому, наверно, и getline() спокойно завершается, оставив тебе пустую строку.
Ось так, напевне все і відбувається.
P.S. А лучше почитай главу подальше, там где есть циклы — жизнь станет проще.