Pregled posta

Adresa bloga: https://blog.dnevnik.hr/prirodaa

Marketing

employees

U jednodimenzionalno polje spremaju se podaci o zaposlenicima:
ime (50+1 znak), prezime (50+1 znak) te broj ureda (int). Podaci
se citaju iz datoteke employees.txt. Prvi redak sadrzi broj zapisa u
datoteci. Dinamicki alocirajte memoriju i ucitajte sve podatke.
Podaci o zaposlenicima sortirani su prema prezimenu. Dinamicki
alocirajte memoriju za dva znaka i potom trazite od korisnika unos
dva znaka. Nakon toga poziva se funkcija write koja ce u svim
imenima i prezimenima zamijeniti svako pojavljivanje znaka
oldChar sa znakom newChar. U glavnoj funkciji ispisuju se svi
podaci o zaposlenicima. Koristiti aritmetiku pokazivaca.
*/

#include
#include
#include

using namespace std;
struct employee
{ char name[51], surname[51];
int office;
};
void write(employee *p, int n, char *oldChar, char *newChar);
int main()
{ ifstream input("employees.txt");
int n, i=0;
input>>n;
employee *p=new employee[n]; //2
while (input>>p[i].surname)
{ input>>p[i].name>>p[i].office;
i++; }
char *oldChar=new char, *newChar=new char; //1
cout<<"Unesi nedozvoljeni znak: "< cin>>*oldChar; //0.5
cout<<"Unesi zamjenski znak: "< cin>>*newChar; //0.5
write(p, n, oldChar, newChar);
delete [] p; //1
delete oldChar; //0.5
delete newChar; //0.5

input.close();

return 0;
}
void write(employee *p, int n, char *oldChar, char *newChar)
{cout< int t=0;
while((p+i)->surname[t]!='\0') //2
{ if (p[i].surname[t]==*oldChar) p[i].surname[t]=*newChar;
t++; //! }
t=0;
while((*(p+i)).name[t]!='\0')
{ if (p[i].name[t]==*oldChar) p[i].name[t]=*newChar;
t++;
}




Post je objavljen 24.04.2013. u 02:02 sati.