|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.01.2011, 00:07 | #1 |
Новичок
Джуниор
Регистрация: 14.01.2011
Сообщений: 6
|
Два часа не могу понять в чем дело =(
Визуал студио.
Все вводится нормально, но ступорится на банальном вводе цифры в printf("Vozrast u4itelya: "); cin >> age; далее программа перепрыгивает через след. ввод и выполняет функцию uuu.show_uchit(); Самое непонятное, что куда этот СИН не сунь, после него всегда след. ввод пропускается. Что за нах =( // Классы.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <iostream> using namespace std; class spisok{ //главный класс protected: char name[20]; char soname[20]; }; class uchitelya : spisok{ //производный класс учителя public: char predmet[15]; int age; void puts_uchit(){ //функция ввода данных учителей printf("Imya u4itelya: "); gets_s(name); printf("Familiyu u4itelya: "); gets_s(soname); printf("Vozrast u4itelya: "); cin >> age; printf("Kakoi predmet vedet: "); gets_s(predmet); } void show_uchit(){ //функция вывода данных учителей printf("%s %s %2d %s", name, soname, age, predmet); } }; int _tmain(int argc, _TCHAR* argv[]) { uchitelya uuu; uuu.puts_uchit(); uuu.show_uchit(); _getch(); return 0; } |
14.01.2011, 00:26 | #2 |
Форумчанин
Регистрация: 12.01.2011
Сообщений: 186
|
Workaround:
Код:
Lingua c++ non penis caninus est.
|
14.01.2011, 00:29 | #3 |
Новичок
Джуниор
Регистрация: 14.01.2011
Сообщений: 6
|
Переписала на scanf("%d", &age); толку нет, а вот если без указателя & то программа падает, что-то с памятью? А вот то что вы написали страшная весчь, плохо понимаемо %( В учебнике по визуал студио 2009 года нааписано через принтф вывод делать, вот и...
|
14.01.2011, 00:41 | #4 |
Форумчанин
Регистрация: 12.01.2011
Сообщений: 186
|
Код:
Код:
scanf и cin оставляют в потоке \n, который gets и считывает.
Lingua c++ non penis caninus est.
|
14.01.2011, 01:10 | #5 | |
Новичок
Джуниор
Регистрация: 14.01.2011
Сообщений: 6
|
scanf("%d\n",&age); выдал такое:
как-то радостно пошло задом наперед: сначала потребовал ввод в "predmet", а потом уже написал текст что нужно это самое "предмет" ввести... анриал какой-то О.о как это вообще? Строчки кода написаны в другой последовательности О.О Цитата:
|
|
14.01.2011, 01:28 | #6 |
Форумчанин
Регистрация: 12.01.2011
Сообщений: 186
|
Нда. Не очень хорошее решение. Тогда используйте
Код:
Lingua c++ non penis caninus est.
|
14.01.2011, 02:17 | #7 |
Пользователь
Регистрация: 31.10.2010
Сообщений: 53
|
я с этим сталкивался
здесь cin выводит ошибку попробуйте её поймать при помощи конструкции try-catch, а уже зависимо от неё ищите решение |
14.01.2011, 05:28 | #8 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 104
|
2Flu
члены класса создаются в том порядке в котором они были объявленны в классе. Это если вы на основании адресов переменных решили что сначало требует ввод. хотя у вас ясно написано что и как выводится printf("%s %s %2d %s", name, soname, age, predmet); путаете сами себя =) В строчке cin>>age; считывание идет до первого пробельного символа. Возврат каретки - пробельный символ. Поэтому он остается в буфере и gets_s его мгновенно считывает и возвращает пустую строку. решение проблемы это использовать однородные операторы ввода вывода. Последний раз редактировалось like-nix; 14.01.2011 в 05:37. |
14.01.2011, 06:10 | #9 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
cin.flush(); после cin пробовали?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
14.01.2011, 12:42 | #10 |
Новичок
Джуниор
Регистрация: 14.01.2011
Сообщений: 6
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять, в чем ошибка | FlashProStar | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 01.12.2010 12:20 |
Немогу понять в чем дело! | BelialL | Помощь студентам | 3 | 09.11.2010 22:16 |
Не могу понять в чем проблема | Lecter2009 | БД в Delphi | 7 | 09.09.2010 08:48 |
Не могу понять в чем проблема | BaUruk | Общие вопросы C/C++ | 3 | 12.10.2009 10:43 |
НЕ могу понять в чем проблема! | KNatalia | Microsoft Office Excel | 2 | 18.08.2009 02:03 |