Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с кодом 
:(
    Опции темы
svetlana189
Дата 29.11.2011, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.11.2011

Репутация: нет
Всего: нет



программа выдает только первую строку, во второй записывает много нулей. и воторой расчет не записывает  в файл txt.
Код

//main.cpp 20.11.2011
//Ãëàâíûé ìîäóëü ÊÐ ÏÏÎ 481 âàðèàíò 8
#include "Raschet.h"
#include <iostream>
#include <fstream>
using namespace std;
//============================ìîäóëü ôàéëà èçìåðåíèé, izm================
char FileIzmName[]="izm.txt";
ifstream Fizm;
//int errcount=0;
//ôóíêöèÿ ÷òåíèÿ èçìåðåíèÿ èç îòêðûòîãî ïîòîêà Fizm
//èçìåðåíèå ÷èòàåòñÿ â ïàðàìåòðû ññûëêè
//âîçâðàùàåò ðåçóëüòàò ÷òåíèÿ
//0-íîðìà, 1-t, 2-r, 3-a
//9-êîíåö ôàéëà, 10- íåèñïðàâíàÿ îøèáêà
int ReadIzmerenie(int& t, float& X1, float& Y1, float& X2, float& Y2, float& a1, float& a2, float& u1, float& u2)
{

    int tt; float tX1, tY1, tY2, tX2, ta1,ta2,tu1,tu2;//÷èòàåìîå
    static int errcount=0;
    Fizm>>tt>>tX1>>tY1>>tX2>>tY2>>ta1>>ta2>>tu1>>tu2;

    if(Fizm.eof())//íîðìàëüíûé êîíåö ôàéëà
    {
        Fizm.clear();
        return 9;
    }
    else if(Fizm.bad())//íåèñïðàâèìàÿ îøèáêà
        return 2;
    else if(Fizm.fail())//ïîïûòêà ïðîäîëæèòü
    {
        Fizm.clear();
        errcount++;
        Fizm.ignore(1024,'\n');
        if(errcount>4)//ìíîãî îøèáîê ïîäðÿä
            return 2;

        else
        {
            
            return 1;
        }
    }

errcount=0;
//ïåðåäàòü âûõîäíûå ïàðàìåòðû
t=tt; X1=tX1; Y1=tY1; Y2=tY2; X2=tX2; a1=ta1;a2=ta2;u1=tu1;u2=tu2;
return 0;

}
//============================================================
//=============ìîäóëü ôàéëà ïîëîæåíèé, pol====================
#include<fstream>
#include<iomanip>
using namespace std;
char FilePolName[]="pol.txt";
ofstream Fpol;

//ôóíêöèÿ çàïèñè ïîëîæåíèÿ â îòêðûòûé ïîòîê Fpol
//ïîëîæåíèå ïåðåäàåòñÿ ÷åðåç ïàðàìåòðû
//âîçâðàùàåò ðåçóëüòàò çàïèñè
//0-íîðìà, 10-íåèñïðàâíàÿ îøèáêà
int WritePologenie(float x, float y, float ng, float vg,int h, int m, int s)
{
    static int polcount=0;
    Fpol.exceptions(ios::failbit);
try
{
    polcount++;
        if(polcount==1)
        {
            Fpol<<left<<showpos<<fixed<<setprecision(3);
            Fpol<<setw(10)<<"Øèðîòà"
            <<setw(10)<<"Äîëãîòà"
            <<setw(10)<<"Íèæíÿÿ ãðàíèöà"
            <<setw(10)<<"Âåðõíÿÿ ãðàíèöà"
            <<"Âðåìÿ"
            <<endl;
            Fpol<<setw(10)<<"ãðàäóñû"
            <<setw(10)<<"ãðàäóñû"
            <<setw(10)<<"ìåòðû"
            <<setw(10)<<"ìåòðû"
            <<setw(10)<<"÷÷:ìì:ññ"
            <<endl<<endl;

     Fpol<<setw(10)<<x;
     Fpol<<setw(10)<<y;
     Fpol<<setw(10)<<ng;
     Fpol<<setw(10)<<vg;
     cout<<right<<setfill('0');
     Fpol<<h;
     Fpol<<":"<<m;
     Fpol<<":"<<s;
              Fpol<<endl;
}}
catch(...)
{
    if (Fizm.fail())
        return 1;
    else
        return 9;
}
return 0;
}
//========================================================================
//=====================ìîäóëü èíèöèàëèçàöèè ini===========================
#include<iostream>
using namespace std;
#include "Raschet.h"
#include <string.h>
//ôóíêöèÿ èíèöèàëèçàöèè ïàðàìåòðîâ
//ôîðìèðóåò èìÿ ôàéëà .ini èç ïîëíîé ñïåöèôèêàöèè ïðîãðàììû s
// ÷èòàåò ïàðàìåòðû âî âíåøíèå èìåíà
//ïèøåò ïàðàìåòðû âî âíåøíèå èìåíà
//çàâåðøàåò ïðîãðàììó ïðè îøèáêàõ
void InitializeParametrs(char s[])
{
    //èìÿ ôàéëà èíè
    char FileIniName[512]="";
    ifstream Fini;
    //s ñïåöèôèêàöèÿ ôàéëà exe ïðîãðàììû
    char *pn=1+strrchr(s,'\\');//óêàçàòåëü íà íà÷àëî èìåíè
    int k=strlen(pn)-4;//äëèíà èìåíè áåç òèïà
    strncpy(FileIniName,pn,k); //èìÿ áåç òèïà
    strcat(FileIniName,".ini");//èìÿ +òèï .ini

    Fini.open(FileIniName);
    if(!Fini)
    {
        clog<<endl<<"Ôàéë èíèöèàëèçàöèè íå îòêðûâàåòñÿ."
            <<"Ïðîãðàììà áóäåò çàêðûòà."<<endl;
        clog<<"Íàæìèòå ENTER"; cin.get();
        exit(1);
    }
    Fini.exceptions(ios::failbit);//âêëþ÷èòü èñêëþ÷åíèÿ ôàéëà
    try
    {
        cout<<"Ï à ð à ì å ò ð û   ñ õ å ì û   è ç ì å ð å í è é"<<endl;
        Fini>>ShirPel1; Fini.ignore(1024,'\n');
        cout<<" ïåëåíãàòîðà1 â ãðàäóñàõ    "<<ShirPel1<<endl;
        Fini>>DolgPel1; Fini.ignore(1024,'\n');
        cout<<"Äîëãîòà ïåëåíãàòîðà1 â ãðàäóñàõ    "<<DolgPel1<<endl;
        Fini>>ShirPel2;  Fini.ignore(1024,'\n');
        cout<<" Øèðîòà ïåëåíãàòîðà 2 â ãðàäóñàõ   "<<ShirPel2<<endl;
        Fini>>DolgPel2;  Fini.ignore(1024,'\n');
        cout<<"Äîëãîòà ïåëåíãàòîðà 2 â ãðàäóñàõ   "<<DolgPel2<<endl;
        Fini>>OshAzim1;  Fini.ignore(1024,'\n');
        cout<<"Îøèáêà àçèìóòà 1 â ãðàäóñàõ   "<<OshAzim1<<endl;
        Fini>>OshAzim2;  Fini.ignore(1024,'\n');
        cout<<"Îøèáêà àçèìóòà 2 â ãðàäóñàõ   "<<OshAzim2<<endl;
        Fini>>OshUglP1;  Fini.ignore(1024,'\n');
        cout<<"Îøèáêà óãëà ìåñòà 1 â ãðàäóñàõ   "<<OshUglP1<<endl;
        Fini>>OshUglP2;  Fini.ignore(1024,'\n');
        cout<<"Îøèáêà óãëà ìåñòà 2 â ãðàäóñàõ   "<<OshUglP2<<endl;
        Fini>>debug; Fini.ignore(1024,'\n');
        cout<<"Ôëàã îòëàäêè            "<<debug<<endl;
        Fini>>FileIzmName;  Fini.ignore(1024,'\n');
        cout<<"Èìÿ ôàéëà èçìåðåíèé   "<<FileIzmName<<endl;
        Fini>>FilePolName; Fini.ignore(1024,'\n');
        cout<<"Èìÿ ôàéëà ïîëîæåíèé      "<<FilePolName<<endl;
        cout<<endl;
    }
    catch(...)
    {
        clog<<endl<<"Îøèáêà ÷òåíèÿ ôàéëà èíèöèàëèçàöèè."
            <<"Ïðîãðàììà áóäåò çàêðûòà."<<endl;
        clog<<"Íàæìèòå ENTER"; cin.get();
        exit(1);
    }
    Fini.close();
}
//=========================================================

//=====================ìîäóëü ïðîòîêîëà====================
#include<iostream>
#include<iomanip>
using namespace std;

//øèðèíà ãðàô ïðîòîêîëà â ñèìâîëàõ
int wt=10; //ãðàôû èçìåðåíèÿ
int wx=15,wy=15,wg=15,whh=5,wmm=5,wss=5;// ãðàôû ïîëîæåíèÿ
int prec=3;  
void PrintHead()
{
    cout<<left<<setprecision(prec)<<fixed;
    
    cout<<endl
        <<setw(wt)<<"Âðåìÿ"
        <<setw(wt)<<"Êîîðäèíàòû x1"
        <<setw(wt)<<"Êîîðäèíàòû y1"
        <<setw(wt)<<"Êîîðäèíàòû x2"
        <<setw(wt)<<"Êîîðäèíàòû y2"
        <<setw(wt)<<"Àçèìóò1"
        <<setw(wt)<<"Àçèìóò2"
        <<setw(wt)<<"Óãîë ìåñòà1"
        <<setw(wt)<<"Óãîë ìåñòà2"
        <<setw(wy)<<"Øèðîòà"
        <<setw(wx)<<"Äîëãîòà"
        <<setw(wg)<<"Íèæíÿÿ ãðàíèöà"
        <<setw(wg)<<"Âåðõíÿÿ ãðàíèöà"
        <<setw(whh)<<""
        <<setw(wmm)<<"Âðåìÿ"
        <<setw(wss)<<""
        <<endl;
    //âòîðàÿ ñòðîêà øàïêè
    cout
        <<setw(wt)<<"ñåê"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wt)<<"ãðàäóñû"
        <<setw(wy)<<"ãðàäóñû"
        <<setw(wx)<<"ãðàäóñû"
        <<setw(wg)<<"ìåòðû"
        <<setw(wg)<<"ìåòðû"
        <<setw(whh)<<"÷àñû"
        <<setw(wmm)<<"ìèíóòû"
        <<setw(wss)<<"ñåêóíäû"
        <<endl
        <<endl;//äîïîëíèòåëüíàÿ ñòðîêà ïîñëå øàïêè
}
//ïå÷àòü èçìåðåíèÿ â òåêóùåé ñòðîêå
void PrintIzmerenie(int t, float X1, float Y1, float X2, float Y2,float a1, float a2, float u1, float u2)
{    cout<<left<<setprecision(3)<<fixed;
    cout
        <<setw(wt)<<t
        <<setw(wt)<<X1
        <<setw(wt)<<Y1
        <<setw(wt)<<X2
        <<setw(wt)<<Y2
        <<setw(wt)<<a1
        <<setw(wt)<<a2
        <<setw(wt)<<u1
        <<setw(wt)<<u2;
}
//ïå÷àòü ïîëîæåíèÿ â òåêóùåé ñòðîêå è ïåðåâîä ñòðîêè
void PrintPologenie(float x, float y, float ng, float vg,int h, int m, int s)
{    cout<<left<<setprecision(3)<<fixed;
    cout
        <<setw(wy)<<x
        <<setw(wx)<<y
        <<setw(wg)<<ng
        <<setw(wg)<<vg;
        cout<<right<<setfill('0')
        <<setw(whh)<<h<<":"
        <<setw(wmm)<<m<<":"
        <<setw(wss)<<s
        <<endl;
}
//===================================================================

//==================ãëàâíûé ìîäóëü=================================
#include<iostream>
#include<fstream>
using namespace std;

#include<windows.h>
int main(int argc, char* arg[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    cout<<" Ï Ð Î Ã Ð À Ì Ì À   Ð À Ñ × Å Ò À   "
        "   Ï Î Ë Î Æ Å Í È ß    Â Ñ "<<endl<<endl;

    //èíèöèàëèçàöèÿ ïàðàìåòðîâ
    InitializeParametrs(arg[0]);
    //îòêðûòü ôàéë èçìåðåíèé
    Fizm.open(FileIzmName);
    if(!Fizm)
    {
        clog<<"Ôàéë èçìåðåíèé íå îòêðûâàåòñÿ"
            <<"Ïðîãðàììà áóäåò çàêðûòà"<<endl;
        cin.get();
        return 1;
    }

    //îòêðûòü ôàéë ïîëîæåíèé
    Fpol.open(FilePolName);
    if(!Fpol)
    {
        cerr<<"Ôàéë ïîëîæåíèé íå îòêðûâàåòñÿ."
            <<"Ïðîãðàììà  áóäåò çàêðûòà."<<endl;
         cin.get();
        return 2;
    }




//ðàáî÷èå ïåðåìåííûå
    int t=0; float  X1=0,  X2=0, Y1=0, Y2=0, a1=0,  a2=0,  u1=0,  u2=0;
    int rez=0; //êîä ðåç-òà
    float x=0, y=0,vg=0, ng=0;  
    int hh=0,mm=0,ss=0;//ïîëîæåíèå

    PrintHead();//øàïêà òàáëèöû ïðîòîêîëà

    //öèêë äî êîíöà ôàéëà ïî ðåçóëüòàòó ÷òåíèÿ èçìåðåíìÿ
    while(1)
    {
        //÷òåíèå
        rez=ReadIzmerenie(t,X1,Y1,X2,Y2,a1,a2,u1,u2);
        //êîíòðîëü ÷òíåíèÿ
        if(rez==9)//êîíåö ôàéëà, íåò èçìåðåíèé
        {
            cout<<endl<<"Êîíåö ôàéëà èçìåðåíèé"
                <<"Ïðîãðàììà çàâåðøåíà óñïåøíî"<<endl;
            break;
        }
        else if(rez==10)//íåèñïðàâèìàÿ îøèáêà
        {
            cout<<endl<<"Íåèñïðàâèìàÿ îøèáêà ÷òåíèÿ èçìåðåíèÿ"
                <<"Ïðîãðàììà áóäåò çàêðûòà äîñðî÷íî"<<endl;
            cerr<<"Íàæìèòå ENTER"; cin.get();
            return 3;
        }
else if(rez==8)//âû÷èñëèòåëüíàÿ îøèáêà â èçìåðåíèè
        {
            cout<<endl<<"Âû÷èñëèòåëüíàÿ îøèáêà íîìåð "<<rez<<" ïðè ÷òåíèè ôàéëà èçìåðåíèÿ"
                <<"Ïðîãðàììà  ïðîïóñêàåò ðàñ÷åò ïîëîæåíèÿ."<<endl;
            continue;
        }
else if(0<rez && rez<8)//îøèáêà ÷òåíèÿ èçìåðåíèÿ
        {
            cout<<endl<<"Îøèáêà ââîäà â ÷èñëå íîìåð "<<rez<<" ïðè ÷òåíèè èçìåðåíèÿ"
                <<"Ïðîãðàììà  ïðîïóñêàåò ðàñ÷åò ïîëîæåíèÿ."<<endl;
            continue;
        }
//âûâîä èçìåðåíèÿ
PrintIzmerenie(t,X1, Y1, X2, Y2, a1,  a2,  u1,  u2);


rez=Raschet(t,X1,Y1,X2,Y2,a1,a2,u1,u2, x, y, ng,vg,hh,mm,ss);
if(rez!=0)
{
    cout<<"Îøèáêà ðàñ÷åòà ¹"<<rez
        <<"  Ïðîãðàììà ïðîïóñêàåò ðàñ÷åò ïîëîæåíèÿ"<<endl;
    continue;
}
//ðàñ÷åò

//âûâîä ïîëîæåíèÿ
PrintPologenie(x,y,ng,vg,hh,mm,ss);

//çàïèñü ïîëîæåíèÿ
rez=WritePologenie(x,y,ng,vg,hh,mm,ss);
if(rez==9)//âû÷èñëèòåëüíàÿ îøèáêà
{
    cout<<endl<<"Âû÷èñëèòåëüíàÿ îøèáêà ïðè çàïèñè ïîëîæåíèÿ"
        <<" Ïðîãðàììà áóäåò çàêðûòà"<<endl;
    clog<<" Íàæìèòå ENTER"; cin.get();
    return 1;
}
/*else if(rez!=0)//íåèñïðàâèìàÿ îøèáêà
{
    cout<<endl<<"Îøèáêà çàïèñè â ÷èñëå íîìåð "<<rez<<"ïðè çàïèñè ïîëîæåíèÿ"
        <<" Ïðîãðàììà áóäåò çàêðûòà"<<endl;
    clog<<" Íàæìèòå ENTER"; cin.get();
    return 5;
}*/
}
    Fizm.close();
    Fpol.close();
    clog<<"Íàæìèòå ENTER"; cin.get();

    }

PM MAIL   Вверх
borisbn
Дата 4.12.2011, 10:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



svetlana189, неужели для того, чтобы показать проблему необходимо выкладывать почти 400 строк (да ещё и с нечитаемыми комментариями).
сделай тестовую программу строк на 30...40, в которой бы повторялась проблема, и выложи сюда. Лучше отредактируй первое сообщение, а не добавляй новое  smile 


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bubnoplyass
Дата 9.12.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



Неправильно записываешь данные в файл, не тем форматом....
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.