Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
casa verde 2024

Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata
 Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...
 teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN
 Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.
 

Am o problema cu structuri. Cine ma poaote ajuta?

- - - - -
  • Please log in to reply
1 reply to this topic

#1
Chimie19

Chimie19

    New Member

  • Grup: Junior Members
  • Posts: 10
  • Înscris: 24.01.2015
Buna ziua! Am o problema cu structuri. Cine ma poaote ajuta?

Enuntul problemei este mai jos.

Codul de pana acum arata asa:

#include <string.h>
#include <stdlib.h>
typedef struct
{
char* mesaj;
char[256] destinatar;
unsigned long timestamp;
} TMesaj;
typedef struct
{
TMesaj* mesaje;
int nrMaxMesaje;
int nrCrtMesaje;
char* sursa;
} TLog;

int alocare(int nr_mesaje)
{
TLog *str_mesaje;
str_mesaje = calloc(nr_mesaje, sizeof(TLog));
  return 0;
}
int scriere(FILE* binar, int nr_mesaje)
{
int i;
TLog *str_mesaje
alocare(nr_mesaje, str_mesaje);
for (i = 0, i < nr_mesaje; i++)
{
  f(&str_mesaje[i].mesaje.mesaj, sizeof(char), 1, binar);
  fread(&str_mesaje[i].mesaje.destinatar, sizeof(char), 1, binar);
  fread(&str_mesaje[i].mesaje.timestamp, sizeof(unsigned long), 1, binar);
  fread(&str_mesaje[i].nrMaxMesaje, sizeof(int), 1, binar);
  fread(&str_mesaje[i].nrCrtMesaje, sizeof(int), 1, binar);
  fread(&str_mesaje[i].sursa, sizeof(char), 1, binar);
}
return 0;
}
int bubble_sort(TLog *str_mesaje, int nr)
{
int i;

TLog aux;
for (i = 0; i < nr-1; i++)
{
  if (str_mesaje[i].mesaje.destinatar > str_mesaje[i+1].mesaje.destinatar)
  {
   aux=str_mesaje[i];
   str_mesaje[i]=str_mesaje[i+1];
   str_mesaje[i+1]=aux;
   /*aux.mesaje.mesaj=str_mesaje[i].mesaje.mesaj;
   aux.mesaje.destinatar=str_mesaje[i].mesaje.destinatar;
   aux.mesaje.timestamp=str_mesaje[i].mesaje.timestamp;
   aux.nrMaxMesaje=str_mesaje[i].nrMaxMesaje;
   aux.nrCrtMesaje=str_mesaje[i].nrCrtMesaje;
   aux.sursa=str_mesaje[i].sursa;

   str_mesaje[i].mesaje.mesaj=str_mesaje[i+1].mesaje.mesaj;
   str_mesaje[i].mesaje.destinatar=str_mesaje[i+1].mesaje.destinatar;
   str_mesaje[i].mesaje.timestamp=str_mesaje[i+1].mesaje.timestamp;
   str_mesaje[i].nrMaxMesaje=str_mesaje[i+1].nrMaxMesaje;
   str_mesaje[i].nrCrtMesaje=str_mesaje[i+1].nrCrtMesaje;
   str_mesaje[i].sursa=str_mesaje[i+1].sursa;
   str_mesaje[i+1].mesaje.mesaj=aux.mesaje.mesaj;
   str_mesaje[i+1].mesaje.destinatar=aux.mesaje.destinatar;
   str_mesaje[i+1].mesaje.timestamp=aux.mesaje.timestamp;
   str_mesaje[i+1].nrMaxMesaje=aux.nrMaxMesaje;
   str_mesaje[i+1].nrCrtMesaje=aux.nrCrtMesaje;
   str_mesaje[i+1].sursa=aux.sursa;*/
  }
return 0;
}
void* mesaj(char* destinatar, unsigned long t1, unsigned long t2, int nr)
{
//pp ca vectorul de structuri este sortat

int i, count = 0;
for (i = 0; i < nr; i++)
{
  if ((str_mesaje[i].mesaje.timestamp>t1)&&(str_mesaje[i].mesaje.timestamp<t2))
   count++;
  else return (NULL);

}
int free(TLog *str_mesaje)
{
free(str_mesaje);
return 0;
}
int main()
{
int nr_mesaje = 0;

scanf("%d", nr_mesaje);
char binar = "binar";

FILE* bi = fopen(binar, "rb");
scriere(bi, nr_mesaje);  
fclose(bi);

return 0;
}

Attached Files


Edited by dani.user, 16 January 2017 - 18:00.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
Cine te poate ajuta cu ce mai exact? Face codul ce trebuie? Da vreo eroare?

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate