Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 20 odgovora
  • 9.459 pregleda

Najnovija ↓

U cemu gresim?!? 01.12.2001. u 18:28 · pre 303 meseca #1
#include <stdio.h>


#include <stdlib.h>


#include <string.h>


#define NP 0


#define IP 1


#define MAXPUT 128


#define loc "/var/spool/mail/"


#define LOCSIZE 16 /* duzina stringa loc */





int


main ()


{





FILE *provera;


FILE *fajl;


FILE recenica;


char data[4096];





int posta;











char ime[MAXPUT-LOCSIZE];


char imes[MAXPUT] = loc;


FILE *pf;





printf ("Ime korisnika: ");


gets(ime);





if (ime==NULL){


printf(stderr,"Niste uneli korisnika\n");


}


strcat (imes, ime);

















if ((pf = fopen(imes, "r")) == NULL) {


posta=NP;


}





else if((pf = fopen(imes, "r")) != NULL) {





printf("Ima poste\n");


posta=IP;


}





fclose(pf);














if (posta==1){





printf("Chekiram postu!\n\a");











if ((provera = fopen(imes, "r")) == NULL )


{


printf ("Nepostoji %s, odnosno nema poste!!!\n, imes");


}





else


{


printf("Ucitavam podatke u bafer...\n");


fajl = fopen(imes,"r");


while ( !feof(fajl))


{


fscanf(fajl,"%s",data);


printf ("%s\n",data);


/*strcpy (data, recenica);*/





}


fclose(fajl);


}


}




















else if(posta!=1){


printf("Nemate poste!\n\a");





}











sleep(1);


return EXIT_SUCCESS;


}







Re: U cemu gresim?!? 01.12.2001. u 20:40 · pre 303 meseca #2
Ovako kao prvo, linija:
Code:
printf(stderr,"Niste uneli korisnika\n");
ti ne valja. Jer, stderr je fajl, kao i stdout i stdin, a posto printf salje na standardni izlaz, znaci u stdout, nju ne mozes da koristis. Znaci sve sto trebas da uradis je da ubacis jedno 'f' ispred :) i dobijes fprintf().
Drugo, nisi ukljucio zaglavlje za sleep() funkciju, dos.h.
I trece, promenljiva
Code:
provera
, nikada nije koriscena, kao i (nepravilno deklarisana) FILE promenljiva
Code:
recenica
.

Treca stavka ne prouzrokuje pad ali nije na odmet da ocistis prog.
Re: U cemu gresim?!? 02.12.2001. u 00:30 · pre 303 meseca #4
Kada dajes code koji normalno ne radi ono sto treba uvek reci sta si hteo da kod radi. Ovako mora da se cita ceo kod a ne samo problematicna funkcija koja se lako moze locirati na osnovu toga sta kod treba da radi.
Re: U cemu gresim?!? 02.12.2001. u 01:16 · pre 303 meseca #5
program treba da ucitava /var/spool/mail/root ili vec neki drugi fajl te tako cita postu eh on treba pri tom da kada ucita svaki red proveri da li pocinje sa odredjenim slovima npr b: i onda treba da ispise npr bot itd..
Re: U cemu gresim?!? 02.12.2001. u 17:53 · pre 303 meseca #7
Citat:
Vojislav Milunovic:
Cek oces da napises program koji otvara sanduce i borji redove?



Nece da broji redove, vec oce to b: da koristi kao signalizaciju...

nesto tipa

Pismo1:

o zdravo milutine kakosi????
kad ces da se javis?

pismo2:

sta ima za domaci

pismo3

b:UradiNesto

i da program procita sta je iza b: i u skladu sa tim uradi nesto ;))
Potpis
Ivan Tanasic - Autoexes

>cd pub
>more beer
Re: U cemu gresim?!? 02.12.2001. u 22:18 · pre 303 meseca #8
znas kako, program ja kompajliram kad ono ujkina karina...on kada pocne petlja za citanje fajla on pocne da bulazni i na kraju segmentation fault ili kako vec bese
Re: U cemu gresim?!? 03.12.2001. u 00:39 · pre 303 meseca #9
ZA poceta koristi fgets() umesto fscanf i pogledaj man za fgets i trebalo bi da ti bude jasnije. fgets() cita liniju u buffer. Znaci do znaka \\n
Re: U cemu gresim?!? 03.12.2001. u 15:59 · pre 303 meseca #10
eh slusajte.. ispravio sam deo koda. napravio sam ga citljivijim. a mogo si mi makar reci da izbacivanjem gets(); iz programa povecavam sigurnost. ;)


no kada ga prepravim postovacu ovde src. napravio sam funkciju koja kupi postu, ali me zeza nece da u tu funkciju uveze drugu funkciju npr


<include stdio.h>


......


int voja();





int


main(void){





int programer;


if(voja==1){

programer==1;

}

voja();


}


int voja();


{


if (programer==1){

printf("dssd");

}

}

[Ovu poruku je menjao dARKmIND dana 03.12.2001 u 08:32 PM GMT]
Re: U cemu gresim?!? 03.12.2001. u 17:42 · pre 303 meseca #11
Reci cu samo da ako si pisao ovo ozbiljno sto si napisao odma da ti kazem da se vratis na VB i da se ne mucis sa Com.
Re: U cemu gresim?!? 03.12.2001. u 21:10 · pre 303 meseca #12
hehehe... :) ... nije u redu da se smejem, ali vojo bar si mogao da mu kazes gde gresi (to bi bio roman ;) ).
Mada... kada malo bolje razmislim ako je stvarno ozbiljno napisao ovo, onda nema svrhe. Mislim i ja sam bio pocetnik, ali za ovakve greske je neophodna rekapitulacija. Ovo je dobronamerni savet.
Preporuka: uzmi lepo neku knjigu o C-u, i polako-polako pocni sve natenane da ucis, ako imas namere da se uopste ozbiljnije bavis C-om.

[Ovu poruku je menjao Vojislav Milunovic dana 03.12.2001 u 11:04 PM GMT]
Re: U cemu gresim?!? 03.12.2001. u 21:31 · pre 303 meseca #13
na brzinu sam sklepao to s*****...ako vec hoces evo ti pravi src.
izvinjavam se zbog onih gresaka ali bio sam veoma umoran kada sam to pisao...
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define NP 0

#define IP 1

#define MAXPUT 128

#define loc "/var/spool/mail/"

#define LOCSIZE 16 /* duzina stringa loc */

char ime[MAXPUT-LOCSIZE];

char imes[MAXPUT] = loc;

FILE *pf;



int postar();



int

main (void)

{



FILE *provera;

FILE *fajl;

char data[4096];



int posta;







printf ("Ime korisnika: ");

scanf("%s",ime);





if (ime==NULL){

printf("Niste uneli korisnika\n");

}



strcat (imes, ime);





postar();







if (posta==1){



printf("Ucitavam postu u bafer\n\a");







if ((provera = fopen(imes, "r")) == NULL )

{

printf ("Nepostoji %s, odnosno nema poste!!!\n, imes");

}



else

{

printf("Ucitavam podatke u bafer...\n");

fajl = fopen(imes,"r");

while ( !feof(fajl))

{

fscanf(fajl, "%s",data);

printf ("%s\n",data);

/*strcpy (data, recenica);*/



}

fclose(fajl);

}

}













else if(posta!=1){

printf("Nemate poste!\n\a");



}







sleep(1);

return EXIT_SUCCESS;

}









int postar();



if ((pf = fopen(imes, "r")) == NULL) {

posta=NP;

}



else if((pf = fopen(imes, "r")) != NULL) {



printf("Ima poste\n");

posta=IP;

}



fclose(pf);

return 0;

}



Re: U cemu gresim?!? 03.12.2001. u 23:53 · pre 303 meseca #14
Code:
[red]
<include stdio.h>


Ne pise se tako nego vako :
Code:
[b]
#include<stdio.h>
[/b]


Ajdemo sad na drugi deo programa :)

Code:

int voja();


bas sam pocastvovan sto se funkcija zove po meni


if(voja==1){
[/code]

pa da li si ti normalan de se vako poredi adresa funkcije!?!?!? Idemo dalje:

int voja();

de si video ; iza funkcije koja se deklarise !?!?!? mislim stvarno

{

if (programer==1){
[/code]

biiiiip cek zar ovo nije promenljiva unutar main ili ja samo sanjam!?!?!?!?!
Code:

printf("dssd");


Ne boj se znam da si prvi put aboravio navodnike ali to nisam ni mislio da je greska, reko to se svakom dogodi, mislio sam bukvalno na sintaksu i logiku programa.

Znaci C knjigu u ruke i prelistaj ti to opet da ne ispadne ovaj me zajebava a ja sve znam. Ovake greske ne smes da pravis ni kad ti se spava. Ocigledno nisi ni znao da su greske nego cekas da ti kompajler javi gomilu gresaka pa da stavis prst na celo i kazes "Tu mater mu sve sam uradio kako knjiga kaze" i da quotujem progy da ne bude posle sta ovaj laze.
Re: U cemu gresim?!? 04.12.2001. u 00:00 · pre 303 meseca #15
Da ne bude da sam izmislio !!!!!

Citat:
dARKmIND:

<include stdio.h>


......


int voja();





int


main(void){





int programer;


if(voja==1){

programer==1;

}

voja();


}


int voja();


{


if (programer==1){

printf("dssd");

}

}



Re: U cemu gresim?!? 04.12.2001. u 00:40 · pre 303 meseca #16
Citat:
Vojislav Milunovic:

int voja();

de si video ; iza funkcije koja se deklarise !?!?!? mislim stvarno


Evo ja se deklarisem kao amater ali bih ipak stavio tu tacku zarez iza deklaracije... :)
mislm svarno, gcc bi se vrlo bunio da nema ";" iza deklaracije funkcija...
bah...

Potpis
vitamini, minerali, suplementi...
Re: U cemu gresim?!? 04.12.2001. u 01:35 · pre 303 meseca #17
Verovatno je Voja mislio na definiciju, a ne na deklaraciju funkcije.
Zna se da se iza deklracije stavlja ; ali ne i iza potpisa funkcije nakon koje sledi definicija iste.
Re: U cemu gresim?!? 04.12.2001. u 01:45 · pre 303 meseca #18
Ne znam ja, deklaracija i definicija ko' nebo i zemlja... :)
verovatno ga je zbunila kolicina gresaka u onom kodu... i to gaaaaadnih gresaka... :)
Potpis
vitamini, minerali, suplementi...
Re: U cemu gresim?!? 04.12.2001. u 13:15 · pre 303 meseca #19
my bad mislio sam definicija. Uostalom iz programa se moze videti na sta sam mislio :)
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme