Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Помогите исправить!


Автор: Yulia 28.6.2006, 08:39
есть программа, написанная в консоле:
#pragma argsused
#include <fstream.h>
#include <conio.h>
#include <string.h>
int main () {
    char letter;
   int number;
   string upp("");
     ifstream file_in("d:\1\2\sum.txt");
     ofstream file_out( "d:\1\2\out.txt");
   if (!file_in){
          printf("Can't open file!");
      return -1;
   }
   if (!file_out){
        printf("Can't open file!");
      return -1;
   }
   while (file_in.get(letter)){
      if (letter>='A' && letter<='z'){
           upp=letter;
            upp=upp.toUpperCase;
         letter=upp[1];
         number=100-letter+'A';
         file_out<<number;
      }
      else file_out.put(letter);
   }
     return 0;
}

но почему то она мне выдает ошибку, видимо toUpperCase нет такого метода в string. как это можно исправить? 

Автор: nworm 28.6.2006, 11:24
А зачем та нужен upp?

Код

upp=letter;
upp=upp.toUpperCase;


Строчную букву обычно можно перевести в заглавную прибавлением цифры к коду строчной буквы. 

Автор: Yulia 30.6.2006, 13:13
Чтобы все буквы были одного регистра, вроде!

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

Автор: nworm 30.6.2006, 18:10
Может быть, так сойдёт?
Код

if (('a'<=letter)&&(letter<='z')) letter=letter-32;
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)