Отговори на тема  [ 29 мнения ]  Отиди на страница Предишна  1, 2
Големичка База данни 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Мар 18, 2005 4:14 pm
Мнения: 67
Местоположение: Русе.BG/Oldenburg.DE
Мнение 
`Щото не си изчистил fail bit-a и стриймът не чете поради тази причина.
Код:
cin.clear();

след като го хванеш, че се е fail-нал.
Пич,
http://www.cplusplus.com/ref/iostream/index.html
малко :D
Ако бързаш и не ти се занимава, дай да се разберем по чата :)


Чет Май 05, 2005 5:01 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
Благодаря помогна. Трябва да се добави и
Код:
cin.ignore(1000, '\n');

за да изчисти "грешните" знаци.


Чет Май 05, 2005 5:15 am
Профил WWW
Мнение re
lesno stava i taka...

CREATE TABLE "studenti.db"
(
user_name CHAR(40),
vorname CHAR(20),
fach CHAR(40),
matrikelnummer SMALLINT,
......
PRIMARY KEY (user_name)
)


Чет Май 05, 2005 10:19 am
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:42 am, променена общо 1 път



Чет Май 05, 2005 11:03 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
включвам го нейм-спейса, но проблемът оставаше. Предполагам че gcc-то ми не е инсталирано както трябва, защото досега не съм имал проблеми да не може да се справи със с++ код.
Както и да е, проблемът е решен :D
Благодаря за отговорите


Чет Май 05, 2005 11:44 am
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Мар 18, 2005 4:14 pm
Мнения: 67
Местоположение: Русе.BG/Oldenburg.DE
Мнение 
Вероятно. Проблемът е бил някъде в pre-processing-а на template-ите (според мен доста дървено реализирана част от езика, въпреки това са... хм, удобни).

Мисля си, би било добре ако Рекоструктор премести thread-а в "Академия".


Чет Май 05, 2005 1:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
По принцип е добре да си държиш структурите на диска, а не в паметта.


Чет Май 05, 2005 1:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:42 am, променена общо 1 път



Чет Май 05, 2005 1:50 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
При свързването трябва да е, но мислч, че съм сложил всичко необходимо.
Код:
#include <iostream>
#include <stdlib.h>
#include <fstream>


Чет Май 05, 2005 1:54 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
Ей ще полудея направо.Помните ли този пост дето го писах вчера.
HCL написа:
Друга чудесия изникна. В тази част:
Код:
if (nfile.is_open()) //|| ! vnfile.is_open() || ! ffile.is_open())
   {      cout << "\n\n\nNew student:\n\n";
         cout << "Name: ";
         cin.getline (stud.name, 40);      //what is this?
         cin.getline (stud.name, 40);
         cout << "\nVorname: ";
         cin.getline (stud.vorname, 20);
         cout << "\nFach: ";
         cin.getline (stud.fach, 40);
         cout << "\nMatrikelnummer: ";      
         cin >> stud.mn;

Там където е дублиран реда. Ако не му поискам два пъти вход, на първия сам си решава че е въведене табулация и преминава направо към stud.vorname без да иска въобще вход от потребителя за stud.name Така както е в монета си работи, но ми е интересно откъде може да идва грешката.

Сега изниква за втори път подобен проблем>
Код:
else if(l==1)
            {   system("clear");
               cout << "\nName: ";


               cin.getline (sname, 40);
               cin.getline (sname, 40);

И тук така, ако му посикам само веднъж вход, продалжава си нататък сякаш реда не съществува 8O 8O 8O
Някакви идеи?


Чет Май 05, 2005 2:09 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:42 am, променена общо 1 път



Чет Май 05, 2005 2:55 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
На Линукс съм. Пробвах по новия с++ с
Код:
#include <iostream>
#include <fstream>
#include   <cstring>
#include <cstdio>
#include <cstdlib>

using namespace std;


няма ефект. Само дето сега вече мога да използвам и strcmp() да сравнявам char масиви.


Чет Май 05, 2005 3:09 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:42 am, променена общо 1 път



Чет Май 05, 2005 3:14 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Мар 18, 2005 4:14 pm
Мнения: 67
Местоположение: Русе.BG/Oldenburg.DE
Мнение 
@Реконстуктор: зависи от структурата :)
@HCL: По-сложна става с тези ограничения на стринговете, да.
Препоръчвам ти да ползваш тази функция, вместо директно cin.getline() :

Код:
bool safeGetLine(char * buffer, int n, bool autoPurge=false) {
    char test; 
   cin.get(buffer,n,'\n');   
   cin.get(test);
   if (test != '\n') {
      if (autoPurge) {
         cin.ignore(cin.rdbuf()->in_avail());
      }
      return false;
   }
    return true;
}


Написах ти и малко демо към нея.


Чет Май 05, 2005 10:32 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 29 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: jordan-bg и 8 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни