Hitno potreban ogroman pomocj iz c-a

N Dre

Početnik
Poruka
34
Ovo je najverovatnije previse zahtevno i sebicno od mene, ali da li neko moze da mi napise sledecji program u borland c-u do 10 sati sutra?
/* Napisati c program za dnevnu evidenciju saobracjaja vozila preko
mostova, najvise njih 4, po satima. Broj vozila koja su presli neki
most nalaze se u datoteci organizovanoj po 16 bitnim recima,
, u sledecjem obliku
15,14 - sifra mosta
13, 12, 11, 10,9 - sat
8 7 6 5 4 3 2 1 0 -broj vozila preslih u tom satu
8. bit je invertovan

Napraviti meni i opcije za
1 ucitavanje podataka iz datoteke prodaja.dat
2 prikaz tabele (kolone: most i broj vozila po satu)
3 izracunati i prikazati ukupan broj vozila
4 invertovati osmi bit binarnog zapisa broja vozila,
prikazati u dve kolone originalnu invertovanu vrednost
5 promenjene podatke sacuvati u datoteci izlaz.dat*/
// tablica MOST SAT BROJ

#include <stdio.h>
#include <conio.h>
#include <string.h>

char OsnMeni(void);
void ispis (int niz[4][24]);
void brvozila (int niz[4][24]);
{


char OsnMeni()
{
char odg,i;
clrscr();

printf("\n\nProgram za dnevnu evidenciju saobracjaja na nmostovima\nNajvise nih 4 ");
printf("\n--------------------------------------------");
printf("\n 1. Ispis");
printf("\n 2. Ispis po smenama");
printf("\n 3. Prodavnica sa min. i max. prometom");
printf("\n 4. Kraj rada.");
printf("\n--------------------------------------------");
printf("\nVas Izbor je (1-4) -->");

i = wherex();
do
{
odg = getche();
if (odg == '\r' || odg == '\b')
{
gotoxy(i,wherey());
printf("\a");
}
else if (odg <'1' || odg >'4')
printf("\b \b\a");
}
while (odg<'1'|| odg>'4');
return(odg);
}//OsnMeni

getch();
}

nesto malo sam poceo preuzimanjem dela za meni iz drugog programa ali nazalost mi iskrsle i druge obaveze a i nisam bas
toliko dobar u c-u da napisem program do sutra, hvala unapred
 
Evo kako bi to izgledalo:
Kod:
#include <iostream>
using namespace std;

int main()
{
int bit15 = 32768, bit14 = 16384, rezultat;
rezultat = bit15 >> 14 | bit14 >> 14;
cout << "Rezultat: " << rezultat << "\n";
rezultat = bit15 >> 14;
cout << "Rezultat: " << rezultat << "\n";
rezultat = bit14 >> 14;
cout << "Rezultat: " << rezultat << "\n";
rezultat = 0x00;
cout << "Rezultat: " << rezultat << "\n";
return 0;
}
 
Hej ljudi, hvala na trudu, nisam mislio da cje mi trebati ali je@iga, kasno sam postavio pitanje. anyway evo ga prog, cita podatke iz datoteke blaha blah....

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include<stdlib.h>

char OsnMeni(void);
void Ispis(unsigned tabela[16][4]);
void Ukupno(unsigned brvozila);
void Invertovanje(unsigned niz[16][4]);
unsigned tabela[16][4], invertovano[16][4];

//*****************************************************************

void main (void){

FILE *dat;
//FILE *IZLdat;
char izvor[13];
int kraj=0,brvozila=0;
unsigned znak,znak1;
unsigned maska=0xc000,maska1=0x3c00,maska2=0x03ff;

clrscr();
printf("\nUnesite naziv izvorne tekst datoteke ");
scanf("%12s",izvor);


if ( (dat = fopen(izvor, "rb")) == NULL)
{
fprintf(stderr, "Greska pri otvaranju datoteke.");
getch();
exit(EXIT_FAILURE);
}

/* if ( (IZLdat=fopen("izl.dat", "wb"))==NULL)
{
printf("Greska prilikom otvaranja fajla");
getch();
exit(EXIT_FAILURE);
} */
clrscr();
while(fread(&znak,sizeof(int),1,dat)!=NULL)
{
znak1=znak;
tabela[(znak&maska1)>>10][(znak&maska)>>14]=znak&maska2;
brvozila+=(znak1&maska2);
}
fclose(dat);




clrscr();


do{
switch(OsnMeni())
{

case'1':Ispis(tabela);
break;
case'2':Ukupno(brvozila);
break;
case'3':Invertovanje(tabela);
break;
case'4':kraj=1;
} }
while(!kraj);

}








char OsnMeni()
{
char odg,i;

clrscr();
printf("\n\nProgram za dnevnu evidenciju saobracaja na mostovima ");
printf("\n----------------------------------------------------------");
printf("\n 1. Tabelarni prikaz");
printf("\n 2. Ukupan broj vozila koji su presli most");
printf("\n 3. Invertovanje i neznam sta");
printf("\n 4. Kraj rada ");
printf("\n----------------------------------------------------------");
printf("\nVas Izbor je (1-4) -->");

i = wherex();
do
{
odg = getche();
if (odg == '\r' || odg == '\b')
{
gotoxy(i,wherey());
printf("\a");
}
else if (odg <'1' || odg >'4')
printf("\b \b\a");
}
while (odg<'1'|| odg>'4');
return(odg);
}
//**************************************************************************
void Ispis(unsigned tabela[16][4]){
int k,l;
clrscr();

printf("\n \t 0\t1\t2\t3");
for(k=0; k<16; k++)
{printf("\n ");
for(l=0; l<4; l++)
{ printf("\t|%u|",tabela[k][l]);
}
}
gotoxy(1,1);
printf("\nCAS\\MOST\n0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15");
getch();
}



//**************************************************************************

void Ukupno(unsigned brvozila){
clrscr();
printf("Ukupan broj vozila koji su uspesno presli most: %u",brvozila);
getch();
}

//**************************************************************************
void Invertovanje(unsigned tabela[16][4]){

FILE *IZLdat;
unsigned i,j,maska11=0x0080;
clrscr();

for (i=0; i<16; i++)
{ for (j=0; j<4; j++)
{
invertovano[j]=(maska11^tabela[j]);
}
}
Ispis(invertovano);

if ( (IZLdat=fopen("albertizl.dat", "wb"))==NULL)
{
printf("Greska prilikom otvaranja fajla");
getch();
exit(EXIT_FAILURE);
}
/* for (i=0; i<16; i++)
{ for (j=0; j<4; j++)
{ */
if(fwrite(invertovano/*[j]*/,sizeof(int),1,IZLdat) <1)
{printf("Greska pri pisanju u datoteku");
exit(1);
}
// }
// }
}
 

Back
Top