programozás zh

 2011.05.20. 20:53

#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;

char *filename;

void Kiir(char *fn)        // kiír függvény
     {
                  int n;
                 int negyzetszam;
                 ofstream ki;
                 do
                               {
                                         cout << " Kerem adja meg n parameter erteket! (n>0) " << endl;
                                   cin >> n;
                            }
                while (n < 1);
                 ki.open(fn, ios::binary);
                 if (!ki)
                               {
                                       cerr << "Hiba a file letrehozasa kozben"<< endl;
                                      return;          
                          }
                for (int i=1; i<n+1; i++)
                           {
                                         negyzetszam = i*i;
                                       ki.write((char*)&negyzetszam, sizeof(negyzetszam));
                          }
    ki.close();
    };

int Olvas(char * fn)        // olvas függvény
    {
                 ifstream be;
                 int negyzetszam;
                 int db=0;
                 be.open (fn, ios::binary);
                     if (!be)
                           {
                            cerr << "Hiba a file megnyitasa kozben" << endl;
                            return 1;
                  }
                    cout << "A negyzetszamok: " <<endl;
                    while (!be.eof())
                             {
                                  be.read((char*)&negyzetszam, sizeof(negyzetszam));
                                  if (!be.eof())
                                                        {
                                                                db++;
                                                                cout << setw(5) <<negyzetszam << endl;
                                                   }
                      }
               cout << endl;
               be.close();
               return db;
    }
   
int Paros(char*fn)                // páros függvény
    {
    ifstream be;
    int negyzetszam;
    int db=0;
    be.open(fn, ios::binary);
    if (!be)
               {
                 cerr << "Hiba a file megnyitasa kozben" <<endl;
                 return 1;
             }     
     cout << "Ezek kozul parosok:" << endl;
     while (!be.eof())
           {
                       be.read(( char*)&negyzetszam, sizeof(negyzetszam));
                       if (!be.eof())
                                          {
                                                     if (negyzetszam%2 == 0)
                                                                          {
                                                                            db++;
                                                                            cout << negyzetszam << endl ;
                                                                         }
                                      }
          }
    cout << endl << "Osszesen a parosok darabszama: " << db << " db" << endl;
    be.close();
    return db;
    }   
    
double Atlag (char* fn)                        // átlag függvény
    {
           ifstream be;
           int negyzetszam;
           double osszeg=0;
           int db=0;
           be.open(fn, ios::binary);
           if (!be)
                      {
                         cerr << "Hiba a file megnyitasa kozben" << endl;
                         return 1;
                  }  
          while (!be.eof())
                  {
                             be.read((char*)&negyzetszam, sizeof(negyzetszam));
                             if (!be.eof())
                                              {
                                                            osszeg = osszeg + negyzetszam;
                                                            db++;
                                              }
                }
         return double(osszeg*100)/db;
         be.close();     
    }
   
int Ketjegyu(char*fn)    // kétjegyü függvény
    {
    ifstream be;
    int negyzetszam;
    int db=0;
    be.open(fn, ios::binary);
    if (!be)
               {
                 cerr << "Hiba a file megnyitasa kozben" <<endl;
                 return 1;
             }     
     cout << "Ezek kozul ketjegyu: " << endl;
     while (!be.eof())
           {
                       be.read(( char*)&negyzetszam, sizeof(negyzetszam));
                       if (!be.eof())
                                          {
                                                     if (negyzetszam<100 && negyzetszam>9)
                                                                          {
                                                                            db++;
                                                                            cout << negyzetszam << endl;
                                                                         }
                                      }
          }
    cout << endl << "Osszesen a ketjegyu darabszama: " << db << " db" << endl;
    be.close();
    return db;
    }   
              
int main(int argc, char *argv[])                                                // Fő rész
    {
             if(argc>1)
                        {
                             filename = argv[1];
                             cout << "A program a billentyuzetrol megadott elso n darab negyzetszamot irja ki." << endl;
                             cout << "A(z) " << filename << " nevu binaris allomanyba. " << endl;
                             Kiir(filename);
                             Olvas(filename);
                             Paros(filename);
                             cout << "A szamok atlaga: " << double(Atlag(filename)/100) << endl << endl << endl;
                             Ketjegyu(filename);
                       }
            else
             {
                         cout << "A program futtatasahoz adjon meg parameterkent egy filenevet. " << endl << endl;
            }
    system("Pause");
    return 0;
    }   

            
 

A bejegyzés trackback címe:

https://bastille-oregerry.blog.hu/api/trackback/id/tr882920049

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása