Форум программистов, компьютерный форум CyberForum.ru

Работа с кириллицей в тхт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подпрограмма для нахождения максимального элемента массива http://www.cyberforum.ru/cpp-beginners/thread20868.html
пишу простую подпрограмку по нахождению максимального элемента а она почему то не работает(( ind=S; p=0; for (i=1;i<ele;i++) { if (S>ind) ind=S,p=i; } где S массив примерно такой
C++ Найти все натуральные n-значные числа. 1) Найти сумму всех n-значных чисел, кратных k (1 < п < 4). 2) Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234, 5789). 3) Дана квадратная матрица A. Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде. 4) Дана строка.... http://www.cyberforum.ru/cpp-beginners/thread20860.html
работа с файлами C++
Даны две задачи, может кто поможет просто работу с файлами действительно не понял(( 1.Даны два символьных файла f1 и f2 . Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 40 слов, которые разделены запятыми. Эти слова образуют пары: каждое первое слово считается заменяемым, каждое второе слово - заменяющим. Найти в файле...
C++ Найти самое большое слово в строке
помогите пож...я не могу додумать как найти самое большое слово в строке.:wall: один массив, в нём пять слов разной величины рзделены пробелами
C++ Алгоритм Хоара( код с алгоритмом) http://www.cyberforum.ru/cpp-beginners/thread20832.html
Дана задачка.. Запрограммировать алгоритм Хоара сортировки одномерного массива действительных чисел.Подсчитать кол-во сравнений и перестановок эл-тов.Провести эксперимент с несколькими ( порядка нес. десятков) массивами случайных чисел и выдать статистику о кол-ве сравнений и перестановок в каждом случае.. Господа, требуется код и алгоритм задачки словами, по русски...:umnik: огромная...
C++ Перевод числа из 10-ой системы счисления в 2-ую Пожалуйста помогите с программами 1)Составить алгоритм и реализовать программу перевода числа из 10-ой системы счисления в 2-ую 2)В массиве из 50 чисел определить сколько среди них отличных от последнего числа.Массив заполнять случайными целыми числами от 0 до 100 3)Релизовать программу определяющую количество трехзначных натуральных чисел,сумма цифр которых равна n 4)Подсчитать количество... подробнее

Показать сообщение отдельно
Tamplar
5 / 5 / 1
Регистрация: 02.08.2008
Сообщений: 45
14.01.2009, 20:34     Работа с кириллицей в тхт
Всем привет!!
програма база даних сотридников которая бирет данние из тхт файла
проблема в том что она работает тока с латинецей, как можно переделать в кирулицу?

Код
#include <fstream.h>
#include <string.h>
#include <stdlib.h> 
#include <windows.h>                              
int main(){
const int l_name = 30, l_year = 5,  l_pay = 10,  l_buf = l_name + l_year + l_pay;     
struct Man {                                
 int birth_year;
 char name[l_name + 1];
 float pay;
};
const int l_dbase = 100;
Man dbase[l_dbase];                                    
char buf [l_buf + 1];                                
char name[l_name + 1];                                
ifstream fin("dbase.txt", ios::in |  ios::nocreate);                
if (!fin) { cout<<"Pomulka Vvidkrutya fauly. "; return 1;  }
int i = 0;
while (fin.getline(buf,  l_buf)){                        
if (i >= l_dbase) { cout<<"Dyje dovgij faul name";  return 1;  }
strncpy(dbase[i].name, buf, l_name);
dbase[i].name[l_name] = '\0';
dbase[i].birth_year = atoi(&buf[l_name]);
dbase[1].pay = atof(&buf[l_name + l_year]);
int n_record = i, n_man = 0; float niean_pay = 0;
i++;
} 
int n_record=i, n_man=0;                            
float mean_pay=0;
while (true)  {                                    
cout<<"Vvedit' priîðîïðîïð:"; cin>>name;
CharToOem(name, name);                                   
if (strcmp(name,  "end")== 0 ) break;                    
bool not_found = true;                                 
for (i = 0; i < n_record; i++) {                        
 if (strstr(dbase[i].name, name))                        
 if (dbase[i].name[strlen(name)] == '   ') {                
strcpy(name, dbase[i].name);
CharToOem(name, name);                            
cout<<name<<dbase[i].birth_year<<'  '<<dbase[i].pay<<endl;
n_man++; mean_pay += dbase[i].pay;
not_found = false;
    }
}
if (not_found) cout<<"Takogo cpivrobitnuka ne mae"<<endl;
}
 if (n_man > 0) cout<<"Cerednya ctaBka: "<<mean_pay / n_man<<endl;    
return 0; 
}
Добавлено через 20 часов 0 минут 13 секунд
Все уже разобрался тему можно закрить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru