Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Работа с файлами


Автор: McDevil 16.5.2007, 06:57
Памагите плиз неуспеваю все лабы сделать, в четверг здавать...
Задание такойе: "Воспользовавшись информацией из варианта №1, вывести сведения о клиенте с указанной фамилией." 
А вот задание Варианта №1: "Информация, входящая в файл: Ф.И.О., номер телефона, адрес, стоимость переговоров. При чтении файла вывести сведения о клиенте с указанным номером телефона."
Очень выручите, сессийя на носу :-(((, заранее спасиба

Автор: GIK 16.5.2007, 18:21
Вот, кое что сделал, пользуйтесь на здоровье smile Но не сделал вывод информации о пользователе, щас времени нет, решил хотябы так помочь. Уже что-то можно показать преподу smile

Код

#include<conio>
#include<stdio>
#include<cstdlib>
#include<iostream>
#include<fstream>
#include<string>


void main()
{
   char name[7]={0};
   char fam[7]={0};
   char otch[7]={0};
   char telefon[7]={0}, telefonR[7]={0}; //Ïóñòü òåëåôîí áóäåò áåç ÷åðòî÷åê
   int n=0, i=0, j=0;


   std::fstream out("C://test/test.txt", std::ios::out | std::ios::binary);
   if(!out){
    std::cout<<"Not File";
    getch();
    return;
   }
   std::cout<<"Vvedite colichestbo:\n";
   std::cin>>n;
   
   
   for(i=0; i<n; i++){
    std::cout<<"Vvedite imia:\n";
    std::cin>>name;
    std::cout<<"Vvedite familiu:\n";
    std::cin>>fam;
    std::cout<<"Vvedite otchestvo:\n";
    std::cin>>otch;
    std::cout<<"Vvedite telefon:\n";
    std::cin>>telefon;
    out<<name<<','<<fam<<','<<otch<<','<<telefon<<';';
    for(j=0; j<7; j++)
     {name[i]=0;fam[i]=0;otch[i]=0;telefon[i]=0;}
   }
   std::fstream from("C://test/test.txt", std::ios::in | std::ios::binary);
   if(!from){
    std::cout<<"Not File";
    getch();
    return;
   }
   out.clear();
   out.close();

   char ran=0;
   int r=0;
   int pos[21]={0}; //Ïîòîì ñàì ââåäåøü íóæíîå êîë-âî
                      // ','=44 ';'=59
   int posR=0; //Ïîçèöèÿ ñ êîòîðîé áóäåì áðàòü èíôó î ïîëüçîâàòåëå, òåëåôîí êîòîðîãî íàøëè

   while(!from.eof()){
    from.get(ran);
    if(ran==44) {pos[r]=from.tellg(); r++; } //Îòûñêèâàåì çàïÿòûå
   }
   std::cout<<"Vvedite nomer telefona (ne bolee 6 simvolov):\n";
   std::cin>>telefonR;
   from.clear();
    int kkk=-1;
   //Äîñòàåì èíôó
   for(i=2; i<r; i+=3){
   kkk++;
    from.seekg(pos[i]); //Óñòàíàâëèâàåì íà ïîçèöèþ ãäå íà÷èíàåòñÿ íîìåð òåëåôîíà

    for(j=0; j<6; j++)
      {from.get(telefon[j]);};


     if(strcmp(telefonR, telefon)==0) {
          std::cout<<"EST TAKOY NOMER V SPRAVOCHNIKE!!!\n";


      }

   }

   // delete [] s;
   from.close();
   getch();

}
 


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