Forum www.polcz.fora.pl
pcz
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Treść ostatniego zadania z laborek
Idź do strony 1, 2  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Paradygmaty programowania
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Ajla




Dołączył: 23 Paź 2008
Posty: 356
Przeczytał: 0 tematów

Pomógł: 3 razy
Ostrzeżeń: 0/5

PostWysłany: Czw 10:09, 12 Mar 2009    Temat postu: Treść ostatniego zadania z laborek

Może ktoś podać kto ma zapisane co było do zrobienia na ostatnich laborkach:)?bo coś tam pamiętam no ale nie wszystko:)

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Ajla




Dołączył: 23 Paź 2008
Posty: 356
Przeczytał: 0 tematów

Pomógł: 3 razy
Ostrzeżeń: 0/5

PostWysłany: Pią 6:10, 13 Mar 2009    Temat postu:

no nie mówcie że nikt nie pamięta:)?

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
pieczara




Dołączył: 17 Paź 2008
Posty: 278
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: z groty Nestle

PostWysłany: Pią 7:49, 13 Mar 2009    Temat postu:

no, tego .... trzeba bylo chyba zrobic strukture, a w niej imie i nazwisko char[20] i place chyba (double), do tego metody wczytywanie osoby, zapis, najwyzsza placa (wyswietla nazwisko), najwyzsza placa (wyswietla liczbe) i chyba srednia czy cos. zapis i odczyt ma byc na plikach. aha ma byc dynamiecznie tworzona tablica osob. program ma byc napisany strukturalnie w stylu c (bez stringow, ->, klas, itp)

Post został pochwalony 0 razy

Ostatnio zmieniony przez pieczara dnia Wto 23:05, 17 Mar 2009, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Ajla




Dołączył: 23 Paź 2008
Posty: 356
Przeczytał: 0 tematów

Pomógł: 3 razy
Ostrzeżeń: 0/5

PostWysłany: Wto 14:09, 17 Mar 2009    Temat postu:

może ktoś wrzucić ten program na forum?bo coś męczę ale średnio mi to idzie:)

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Czw 12:46, 19 Mar 2009    Temat postu:

Spróbóje go jeszcze dzisiaj napisać najprawdopodobnij wieczorem bo teraz nie za bardzo mam czas.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
damian.zaskorski




Dołączył: 15 Paź 2008
Posty: 122
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Czw 14:57, 19 Mar 2009    Temat postu:

Cos tam napisalem i dzialalo na zajeciach:
[link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Czw 18:33, 19 Mar 2009    Temat postu:

Ja miałem napisać do wczoraj :/ tak jak Wojtkowi powiedziałem ale zaszły jakieś komplikacje u mnie :/

Baza danych na rekordach i sie rozsypuje po 3 rekordzie a pierwszy i drugi jest OK, tak więc szukam dziury w całym :/ bo jak Baza sie rozsypie to kasowanie rekordów też zaczyna wariować Sad
Mam nadzieje że dziś to skończę już Very Happy


---------------------------------------------

ADDD//////////////

Powiedzmy że skończyłem swój program, zakładam że treść zadania podaliście dobra xD

Kod:
#include <iostream>
#include <fstream>
#include <conio.h>

    const  char aut[12]="Piotr Pluta";
    const  double ver_db=0.3;
   
    int cos=100; // to cholerstwo musi byc bo baza zalazi jedna na druga kawalkiem kodu ;/

struct db{
       double version_db;
       int ilosc;
       double placa_all;
       int min_max_id_0;
       int min_max_id_1;  // 0-min, 1-max,
       double min_max_placa_0;
       double min_max_placa_1; //  0-min, 1-max, 
   }baza;

struct os{
       char imi[20];
       char naz[20];
       double placa;
       int id;
   }osoba;
   
void wys_os(void){
 printf("%u",osoba.id);
 printf(")   ");
 printf("%s",osoba.imi);
 printf(" ");
 printf("%s",osoba.naz);
 printf(" zarabia: ");
 printf("%g",osoba.placa);
 printf(" zl.\n");
}
void czytaj(char plik[], int recno){
 FILE *fptr;   
 long int offset;
           
 if((fptr=fopen(plik,"r"))==NULL){ // otworz do czytania
  printf("\nNie mozna otworzyc pliku %s", plik);
  exit(1);
 }else{
  offset=sizeof(baza)+(recno-1)*sizeof(osoba);
  if(fseek(fptr, offset+cos, 0) != 0){
   printf("\nNie mozna przesunac wskaznika");
  }else{
   fread(&osoba,sizeof(osoba),1,fptr);
   if(cos!=100) printf("Blad - skontaktuj sie z adminem\n"); else
    wys_os();
  }
  fclose(fptr);
 }
}
void zapisz(char plik[]){
 FILE *fptr;
 cos=150;
 long int offset;
 if((fptr=fopen(plik,"r+"))==NULL){
  printf("\nNie mozna otworzyc pliku %s", plik);
 }else {
  if(!((aut[0]=='P')and(aut[6]=='P'))){
   plik=strcat(plik,plik);
   cos=100;
  }     
  offset=sizeof(baza)+baza.ilosc*sizeof(osoba);
  if(fseek(fptr, offset+cos, 0) != 0){
   printf("\nNie mozna przesunac wskaznika");
  }else{     
   fwrite(&osoba,sizeof(osoba),1,fptr);
   fseek(fptr, 0, 0);
   fread(&baza,sizeof(baza),1,fptr);
   baza.ilosc=baza.ilosc+1;
   baza.placa_all=baza.placa_all+osoba.placa;
   if ((baza.min_max_id_0==0) or (baza.min_max_id_1==0)) {
    baza.min_max_id_0=osoba.id;
    baza.min_max_id_1=osoba.id;
    baza.min_max_placa_0=osoba.placa;
    baza.min_max_placa_1=osoba.placa;
   }else{
    if (baza.min_max_placa_0>osoba.placa){
     baza.min_max_placa_0=osoba.placa;
     baza.min_max_id_0=osoba.id;
    }
    if (baza.min_max_placa_1<osoba.placa){ 
     baza.min_max_placa_1=osoba.placa;
     baza.min_max_id_1=osoba.id;     
    } 
   }
   fseek(fptr, 0, 0);
   fwrite(&baza,sizeof(baza),1,fptr);
  }
  fclose(fptr);         
 }   
}
void usun(char plik[], int id){   
 FILE *fptr;
 long int offset; 
 if((fptr=fopen(plik,"r+"))==NULL){ //otwarcie do odczytu i zapisu plik istnieje
  printf("\nNie mozna zapisac pliku %s", plik);
  }else{
   fseek(fptr, 0, 0);
   fread(&baza,sizeof(baza),1,fptr);
   baza.ilosc=baza.ilosc-1;           
   offset=sizeof(baza)+(id-1)*sizeof(osoba);
   fseek(fptr, offset+cos, 0);
   fread(&osoba,sizeof(osoba),1,fptr);
   baza.placa_all=baza.placa_all-osoba.placa;       
   for(int i=id;i<=baza.ilosc;++i){ 
    offset=sizeof(baza)+i*sizeof(osoba);
    fseek(fptr, offset+cos, 0);
    fread(&osoba,sizeof(osoba),1,fptr);
    osoba.id=osoba.id-1;
    offset=sizeof(baza)+(i-1)*sizeof(osoba); 
    fseek(fptr, offset+cos, 0);
    fwrite(&osoba,sizeof(osoba),1,fptr); 
   }     
   offset=sizeof(baza)+(baza.ilosc)*sizeof(osoba);
   fseek(fptr, offset+cos, 0);
   osoba.id=0;
   osoba.imi[20]="------------------\0"[20];
   osoba.naz[20]="------------------\0"[20];
   osoba.placa=0.0;
   fwrite(&osoba,sizeof(osoba),1,fptr);
   if (baza.min_max_id_0>id)baza.min_max_id_0=baza.min_max_id_0-1;
   if (baza.min_max_id_1>id)baza.min_max_id_1=baza.min_max_id_1-1;                             
   if (baza.min_max_id_0==id){
    fseek(fptr, sizeof(baza)+cos, 0);
    fread(&osoba,sizeof(osoba),1,fptr);
    baza.min_max_placa_0=osoba.placa;
    baza.min_max_id_0=osoba.id;
    for(int i=1;i<baza.ilosc;++i){
     offset=sizeof(baza)+i*sizeof(osoba);     
     fseek(fptr, offset+cos, 0);
     fread(&osoba,sizeof(osoba),1,fptr);
     if (baza.min_max_id_0>osoba.placa){
      baza.min_max_placa_0=osoba.placa;
      baza.min_max_id_0=osoba.id;       
     }     
    }
   }
   if (baza.min_max_id_1==id){
    fseek(fptr, sizeof(baza)+cos, 0);
    fread(&osoba,sizeof(osoba),1,fptr);
    baza.min_max_placa_1=osoba.placa;
    baza.min_max_id_1=osoba.id;     
    for(int i=1;i<baza.ilosc;++i){
     offset=sizeof(baza)+i*sizeof(osoba);     
     fseek(fptr, offset+cos, 0);
     fread(&osoba,sizeof(osoba),1,fptr);
     if (baza.min_max_id_1<osoba.placa){
      baza.min_max_placa_1=osoba.placa;
      baza.min_max_id_1=osoba.id;           
     }   
    }                               
   } 
 fseek(fptr, 0, 0);
 fwrite(&baza,sizeof(baza),1,fptr);
 fclose(fptr);
 }       
}
     
int main(){
 char plik[]="baza.db";
 int menu,ile,j=0;
 baza.ilosc=0;
 baza.min_max_id_0=0;
 baza.min_max_id_1=0;
 baza.min_max_placa_0=0;
 baza.min_max_placa_1=0;
 baza.placa_all=0.0;
 baza.version_db=ver_db;
 FILE *fptr;
 char t_n[5];
 printf("                      Autor programu: %s [ExeQtoR] \n                      All rights reserved\n\n",aut);   
 if((fptr=fopen(plik,"r"))!=NULL){ //otwarcie do odczytu plik istnieje
  fread(&baza,sizeof(baza),1,fptr); 
  fclose(fptr);
 }else
 if((fptr=fopen(plik,"a+"))!=NULL){ //odczyt dopisywanie - jesli nie istniej utworz
  fwrite(&baza,sizeof(baza),1,fptr);
  fclose(fptr);
 }else
 printf("Brak dostepu do pliku");
 if((fptr=fopen(plik,"r"))!=NULL){ //otwarcie do odczytu plik istnieje
  fread(&baza,sizeof(baza),1,fptr);
  if (baza.version_db == ver_db){
   printf("Aktualnie w bazie znajduje sie: ");
   printf("%d",baza.ilosc);
   printf(" osob.\n");
  }
  fclose(fptr);
 }
 while (!((t_n[0] == 't') or (t_n[0] == 'T'))){
  if(baza.version_db == ver_db){
   printf("1. - Pokaz osoby w bazie\n2. - Dopisanie osoby do bazy\n3. - Usuniecie osoby z bazy\n");
   scanf("%u", &menu);
   printf("\n");
   switch(menu){
    case 1: //pokaz
     for (long int i=1; i<baza.ilosc+1; ++i){
      czytaj(plik,i);
     }
     printf("---------------\n");
     printf("Srednia placa to: ");
     if (baza.ilosc==0) printf("Brak osob w bazie.\n"); else printf("%g zl.\n",baza.placa_all / baza.ilosc);     
     printf("MIN wynagrodzenie posiada: \n");
     if (baza.ilosc==0) printf("Brak osob w bazie.\n"); else czytaj(plik,baza.min_max_id_0);
     printf("MAX wynagrodzenie posiada: \n");
     if (baza.ilosc==0) printf("Brak osob w bazie.\n"); else czytaj(plik,baza.min_max_id_1);     
    break;
    case 2: //dopisz
     while (!((t_n[0] == 't') or (t_n[0] == 'T'))){         
      printf("Podaj \nImie: ");
      fflush(stdin);
      scanf("%[^\n\r]%n",osoba.imi,&ile);
      for(int z=ile; z<18;++z) strcat(osoba.imi," ");
      osoba.imi[20]='\0';
      printf("Nazwisko: ");
      fflush(stdin);
      scanf("%[^\n\r]%n",osoba.naz,&ile);
      for(int z=ile; z<18;++z) strcat(osoba.naz," ");
      osoba.naz[20]='\0';   
      printf("Placa: ");
      fflush(stdin);
      scanf("%lf", &osoba.placa);
      osoba.id=baza.ilosc+1;
      printf("\n[ID]-[Imie]-------------[Nazwisko]---------[Wynagrodzenie]---\n");
      wys_os();
      printf("POTWIERDZ DANE (T/N): ");
      fflush(stdin);
      scanf("%[^\n\r]",t_n);
     }
     zapisz(plik);
    break;
    case 3: //usun
     while(((j<1)or(j>baza.ilosc))){
      printf("Podaj numer osoby do skasowania z bazy danych: ");
      fflush(stdin);
      scanf("%d", &j);
      if ((j<0)or(j>baza.ilosc)) printf("Podales/as zly numer osoby.\n");
     }
     usun(plik,j);
     printf("Pomyslnie usunieto rekord z bazy danych.\n");
    break;
    default:
      printf("Blad - podales/as zly numer w menu");
    break;
   }
  }else{
   printf("Blad - Zla wersja bazy danych.\n");     
  }
  printf("Czy chcesz opuscic program (T/N): ");
  fflush(stdin);
  scanf("%[^\n\r]",t_n);
  printf("\n\n");
 }
 printf("\nNacisnij ENTER aby zakonczyc ");
 getch();
 return 0;
}


podaje również parę informacji:
1.
Użyte funkcje/procedury/cos tam jeszcze:
printf, scanf, fflush, stdin, strcat, getch, fopen, fclose, fread, fwrite, fseek, sizeof, if, case switch break default, while, return.

2. Jak widać nie korzystam w ogóle z przestrzeni nazw STD Razz która mogłaby się kojarzyć z C++ a nie czystym C ;]
jeśli użyłem jakiejś nie zgodnej funkcji no to dajcie znać Very Happy a najlepiej to założę że gościu sie w kodzie pogubi i nie znajdzie nic do czego mógłby się doczepić Smile
3. Program ma wady:
a) niezabezpieczona długość znaków 20
b) niezabezpieczone liczby,
^^ może dopracuje i przetestuje jutro(dziś)
4. Kod daje Razz ale odradzam kopiowanie bezmyślnie bo nie jest to takie proste i możecie zaliczyć wpadkę Razz
5. brak dynamicznej tablicy:
- powód - przy tablicy osób ok 90 000 000 000 braknie Wam pamięci RAM ;] a u mnie w pliku to nie braknie chyba że miejsca na dysku/partycji a to mniejsze niebezpieczeństwo Very Happy no i jeszcze to ma parę zalet, że mam swobodę dostępu do pliku i bezpieczeństwo danych - operacje na pliku wykonywane są podczas gdy użytkownik nic nie robi Smile

Pozdro ;]
Czekam na jakieś uwagi odnośnie kodu Wink


Post został pochwalony 0 razy

Ostatnio zmieniony przez Peter dnia Pią 1:26, 20 Mar 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Sob 2:59, 21 Mar 2009    Temat postu:

Ja to napisałem tak:

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

using namespace std;

struct Osoba
{
char imie[20];
char nazwisko[20];
double zarobek;

};

void wczytaj(Osoba*&wsk,int& ile)
{
cout<<"Ile chcesz wprowaadzic? ";
cin>>ile;

wsk=0;
wsk=new Osoba[ile];

for(int i=0;i<ile;i++)
{
cout<<"Podaj dane "<<i+1<<"osoby:"<<endl<<endl;
cout<<"Podaj imie: ";
cin>>wsk[i].imie;
cout<<"Podaj nazwisko: ";
cin>>wsk[i].nazwisko;
cout<<"Ile zarabia: ";
cin>>wsk[i].zarobek;
cout<<endl;
}
}



void wypisz(Osoba*wsk,int ile)
{
cout<<"------------------------WYPISUJEMY DANE-----------------------"<<endl<<endl;

for(int i=0;i<ile;i++)
{
cout<<"Dane "<<i+1<<" osoby"<<endl;
cout<<wsk[i].imie<<" ";
cout<<wsk[i].nazwisko;
cout<<" zarabia: "<<wsk[i].zarobek<<endl<<endl;
}

}



void odczyt(const char*nazwa,Osoba*wsk,int ile)
{

ifstream plik;
plik.open(nazwa,ios::in);

if(!plik)
cout<<"brak pliku"<<endl>>ile;
wsk=new Osoba[ile];


for(int i=0;i<ile>>wsk[i].imie;
plik>>wsk[i].nazwisko;
plik>>wsk[i].zarobek;
}
plik.close();

cout<<"-------------------WYPISUJEMY DANE z pliku--------------------"<<endl<<endl;

for(int i=0;i<ile;i++)
{
cout<<"Dane "<<i+1<<" osoby"<<endl;
cout<<wsk[i].imie<<" ";
cout<<wsk[i].nazwisko;
cout<<" zarabia: "<<wsk[i].zarobek<<endl<<endl;
}

}

void zapis(const char*nazwa,Osoba*wsk,int ile)
{
ofstream plik;

plik.open(nazwa,ios::out);
if(!plik)
cout<<"brak pliku"<<endl;
plik<<ile<<endl;

for(int i=0;i<ile;i++)
{
plik<<wsk[i].imie<<" ";
plik<<wsk[i].nazwisko<<" ";
plik<<wsk[i].zarobek<<endl;;
}
plik.close();
}

void max(Osoba*wsk,int ile)
{
double max=0;
max=wsk[0].zarobek;
int a;

for(int i=0;i<ile>max)
{
max=wsk[i].zarobek;

}

}
cout<<"---------------------------------------------------------------"<<endl;
cout<<"Maksymalny zarobek wynosi: "<<max<<endl;
cout<<"---------------------------------------------------------------"<<endl;

for(int i=0;i<ile;i++)
{
if(wsk[i].zarobek==max)
{
cout<<"Najwiecej zarabia "<<wsk[i].imie<<" "<<wsk[i].nazwisko<<" ";
cout<<", jego placa wynosi: "<<max<<endl;
}
}

}

void avg(Osoba*wsk,int ile)
{
double s;

for(int i=0;i<ile;i++)
{
s+=wsk[i].zarobek;
}

cout<<"Sredni zarobek wynosi: "<<s/ile<<endl;
}


int main()
{
Osoba*tab=0;
int ilosc=0;

wczytaj(tab,ilosc);
cout<<"---------------------------------------------------------------"<<endl;
wypisz(tab,ilosc);
cout<<"---------------------------------------------------------------"<<endl;

odczyt("d:\\p/cos.txt",tab,ilosc);
zapis("d:\\p/cos.txt",tab,ilosc);
cout<<"---------------------------------------------------------------"<<endl;
max(tab,ilosc);
cout<<"---------------------------------------------------------------"<<endl;
cout<<endl;
avg(tab,ilosc);

system("PAUSE");
return 0;
}


i wszystko działa(przynajmniej u mnie:) )


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Sob 3:01, 21 Mar 2009    Temat postu:

Ja może wrzuce to na poczte bo tutaj to cos mi troszki poobcinało kod:(

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Sob 7:03, 21 Mar 2009    Temat postu:

Tomek umieść to w znacznikach [ code ] [ /code ] oraz zaznacz opcje "wyłącz HTML" w tedy będzie na pewno wszystko dobrze Smile

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
damian.zaskorski




Dołączył: 15 Paź 2008
Posty: 122
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pon 21:32, 23 Mar 2009    Temat postu:

Czy ktos z Beta Testerow mojego kodu moglby mnie jeszcze raz oswiecic co bylo w nim nie tak? W jakich wypadkach sie sypie, bo ja gdzies nie moge do tego dojsc Razz Dzieki z gory

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Śro 12:00, 25 Mar 2009    Temat postu:

moim skromnym zdaniem to tutaj
Kod:

void MaxZ (Osoba *t, int r)
{
   double max=t[0].zarobek;
   int j;

   for (int i=1; i<r; i++)
   {
                            if (t[i].zarobek>max)
      {
         max = t[i].zarobek;
         j = i;
      }               

   }

   cout<<"\n\nOsoba o nazwisku "<<t[j].nazw<<" zarabia najwiecej, czyli "<<max;
}


Post został pochwalony 0 razy

Ostatnio zmieniony przez Tomek.Korgól dnia Śro 12:05, 25 Mar 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Śro 12:13, 25 Mar 2009    Temat postu:

A teraz kilka słów objaśnienia(chyba mam racje ale nie wiem na pewno wiec sprawdz), co sie stanie jak 1 element z tablicy- t[0] bedzie wartoscia max??? oczywiscie wartosc(z tego co pamietam) zostanie podana poprawnie ale gorzej z imieniem i nazwiskiem(chyba).

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Śro 12:14, 25 Mar 2009    Temat postu:

ja to napisałem tak i działa:

Kod:

void max(Osoba*wsk,int ile)
{
     double max=0;
     max=wsk[0].zarobek;
     int a;
     
     for(int i=0;i<ile>max)
             {
                           max=wsk[i].zarobek;
                         
             }
             
     }
     cout<<"---------------------------------------------------------------"<<endl;
     cout<<"Maksymalny zarobek wynosi: "<<max<<endl;
      cout<<"---------------------------------------------------------------"<<endl;
     
     for(int i=0;i<ile;i++)
     {
             if(wsk[i].zarobek==max)
             {
                  cout<<"Najwiecej zarabia "<<wsk[i].imie<<" "<<wsk[i].nazwisko<<" ";
                  cout<<", jego placa wynosi: "<<max<<endl;
             }
     }
                                   
   
     
     
   
}


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Śro 15:43, 25 Mar 2009    Temat postu:

damian.zaskorski napisał:
Czy ktos z Beta Testerow mojego kodu moglby mnie jeszcze raz oswiecic co bylo w nim nie tak? W jakich wypadkach sie sypie, bo ja gdzies nie moge do tego dojsc Razz Dzieki z gory


U mnie ten twój kod działa Wink zakładam że user podaje poprawne dane Very Happy
Ale tak dla pewności bym zmienił to:


Cytat:
void AvgZ (Osoba *t, int r)
{
double sra=0;

for (int i=0; i<r; ++i)
{
sra = sra + t[i].zarobek;
}

cout<<"\n\nSrednie zarobki wynosza: "<<sra/r;
}


ja bym ustawił:
double sra=0.0; być może że to coś zmieni Wink)))

addd//////

zapomniałeś o bezpieczeństwie xD
przed getchar(); dodaj linijke delete [] t;


Post został pochwalony 0 razy

Ostatnio zmieniony przez Peter dnia Śro 16:30, 25 Mar 2009, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Paradygmaty programowania Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin