Dev C

Programovacie jazyky, rady, poradňa...
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Dev C

Príspevok od používateľa devo159 »

Ludia potreboval by som pomoct... dostali sme semestralnu ulohu, programy ktore mame spravit ( v DEV C nie C++). Ak by ste niekto vedeli dajako pomoct please :cry: ::



Priklad c. 1 musi obsahovat pracu s maticami. Nesmie to byt priklad
prilis jednoduchy, napriklad scitanie a odcitanie matic, alebo
alebo vypocet determinantu pomocou sarussovho pravidla. Musia tam
byt pouzite funkcie a ukazovatele.





Priklad c. 2 by mal obsahovat pracu triedami a objektami. Definovana trieda musi obsahovat privatne a verejne clenske premenne. V priklade musia byt deklarovane najmenej dva objekty. Priklad nesmie byt prilis jednoduchy. Napr. typu: „Scitanie a odcitanie matic pomocou objektov”.


Ludia aspon jeden z tych programov ak viete lebo ja som duty z toho :roll:
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

a ani vypocet korenov pomocou jordanovej metody nemoze byt?
a triedy? co take zlozite by malo byt skus pracu so subormi.
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

To je v tom ze ja som z cecka duty.... mame profaka ktory tomu sam nerozumie takze len odpisujeme priklady... na skusku potrebujem daco spravit a neviem ako...

Inac som rozmyslal ze spravim pocty matic napr inverzna matica nasobenie matic bud cislom alebo maticou determinant a vysledok potom ulozit do suboru...
Vlastne by som spojil oba priklady do jedneho...Nieco ako ulozenie do pamati na kalkulacke a neskorsie pouzitie... Myslienky by boli ale to je tak vsetko lebo neviem ako nato :roll:
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

Príspevok od používateľa xivo »

Este povedz ze studujes v Ziline na fričke či ako sa tomu nadava, lebo s bratom som toto riesil minulý rok, presene take isté zadanie.
Ako uz to asi nemam ani spravene, ale s maticami sme robili nasobenie, a druhy priklad sme spravili jednoduchu triedu napriklad clovek, kde si dal nejake členské (privatne) napr meno vek premenné + nejake funkcie na vypis mena, veku a bolo, ale je tu jeden problem, mali to robiť v Dev C++. Si si isty ze to mate v C ? lebo mne sa zda ze v Ccku toho moc objektovo nenakodis :roll:
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

No ja chodim na EF a urcite to mame robit len v DEV C ... V podstate by som to mohol spravit aj v C pp a potom mu poviem ze sa mi v tom lepsie pracuje co je ale dobra blbost lebo neovladam ani jedno... :oops:
S tym clovekom by to nemuselo byt zle lebo mam podobny priklad na databazu aut od kamosa z Kosic :D takze asi poriesim aspon 50%
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

No ludia uz som polku semestralky skoro hotovu ale potrebujem pomec... neviem si v nej najst chybu pomozete mi niekto? :oops:

Kód: Vybrať všetko

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

typedef struct {
  char meno_studenta[40], vek[3],datum_nar[8], cislo_isic[10],
		internat[2], blok[1], cislo_izby[3], cena_ubytovania[6];}INFO;

		INFO pom;
char ch;
FILE *sub;


void clrscr(void)
{printf("\n\n\n\n\n\n\n\n\n\n\n");}

/*Hlavne menu */
void Menu(char *s,unsigned long poc)
{
printf("-------------------------------------------------\n");
printf("Hlavne Menu:\n");
printf("-------------------------------------------------\n");
printf("1 - Zadavanie udajov o studentovi\n");
printf("2 - Vypis zoznamu\n");
printf("3 - Vyhladavanie studenta podla udajov\n");
printf("4 - Koniec programu\n");
printf("Nacitavanie zo suboru: %s (pocet poloziek:%d)\n",s,poc);
printf("Zadaj svoju volbu(potvrd klavesou ENTER): ");}
/*Urci pocet studentov v danom subore*/

unsigned long count_pol(char *s)
{unsigned long pomp=0;
sub=fopen(s,"rt");
while (!feof(sub)) {
fscanf(sub,"%s %s %s %s %s %s %s %s", pom.meno_studenta,pom.vek,pom.datum_nar,pom.cislo_isic,pom.internat,pom.blok,pom.cislo_izby,pom.cena_ubytovania);

pomp++;
}

fclose(sub);
return (pomp);
}
/*Nacitavanie auta*/
void Nacitaj(char *s,unsigned long *poc)
{printf("\nZadaj  udaje o studentovi");
printf("\nZadaj  meno a priezvisko: ");scanf("%s",pom.meno_studenta);
printf("Zadaj vek: ");scanf("%s",pom.vek);
printf("Zadaj rok vyroby auta: ");scanf("%s",pom.datum_nar);
printf("Zadaj datum narodenia: ");scanf("%s",pom.cislo_isic);
printf("Zadaj cislo ISIC: ");scanf("%s",pom.internat);
printf("Zadaj nazov internatu: ");scanf("%s",pom.blok);
printf("Zadaj cislo izby: ");scanf("%s",pom.cislo_izby);
printf("Zadaj cenu ubytovania na mesiac: ");scanf("%s",pom.cena_ubytovania);
/*zapis polozky na koniec suboru*/
sub=fopen(s,"a+");
fprintf(sub,"\n%s %s %s %s %s %s %s %s", pom.meno_studenta,pom.vek,pom.datum_nar,pom.cislo_isic,pom.internat,pom.blok,pom.cislo_izby,pom.cena_ubytovania);
fclose(sub);
(*poc)++;
while (getchar()!='\n'); /*vycistenie buffeu*/
}
/*Funkcia na vypis dat*/
void Vypis(char *s,unsigned long poc)
{int i;unsigned char ch;
while (getchar()!='\n'); /*vycistenie  bufferu*/
clrscr();
/*Otvorenie suboru*/
sub=fopen(s,"r+t");
printf("\n__________________________________________________________\n   Vypisujem DATA:\n----------------------------------------------------------\n");
if (poc>0)
for (i=1;i<=poc;i++) {printf("\n| Udaje o studentovi c.%d",i);
/*Nacitanie udajov zo suboru*/
fscanf(sub,"%s %s %s %s %s %s %s %s", pom.meno_studenta,pom.vek,pom.datum_nar,pom.cislo_isic,pom.internat,pom.blok,pom.cislo_izby,pom.cena_ubytovania);
 printf("\n| Meno a priezvisko          : %15s",pom.meno_studenta);
 printf("\n| Vek                        : %15s",pom.vek);
 printf("\n| Datum narodenia            : %15s",pom.datum_nar);
 printf("\n| Cislo ISIC                 : %15s",pom.cislo_isic);
 printf("\n| Internat                   : %15s",pom.internat);
 printf("\n| Blok                       : %15s",pom.blok);
 printf("\n| Izba c.                    : %15s",pom.cislo_izby);
 printf("\n| Cena na mesiac             : %15s",pom.cena_ubytovania);
 printf("\n");
 if (i%2==0 && i!=poc) {printf("\nPokracuj dalej stlacenim klavesy Enter)...");ch=getchar();clrscr();
			  printf("\n__________________________________________________________\n   Dalsia strana:\n----------------------------------------------------------\n");}
 } else printf("Subor je prazdny :))");

 /*Zatvorene subor*/

fclose(sub);
printf("\nKoniec programu (stlac Enter pre navrat do  hlavneho menu)");
ch=getchar();}

/*Vyhladanie studenta*/
void Vyhladaj(char *s,unsigned long poc)
{int i;unsigned char ch;char h_od[10],h_do[10];unsigned long pcn=0;
while (getchar()!='\n'); /*vycistenie buferu*/
clrscr();
printf("\nZadaj SPODNU hranicu vykonu motora: ");
scanf("%s",h_od);
printf("\nZadaj HORNU vykonu motora: ");
scanf("%s",h_do);
while (getchar()!='\n'); /*vycistenie bufferu*/
clrscr();
/*Otvorenie suboru*/
sub=fopen(s,"r+t");
if (poc>0)
for (i=1;i<=poc;i++) {
/*Nacitanie zo suboru*/
fscanf(sub,"%s %s %s %s %s %s %s %s", pom.meno_studenta,pom.vek,pom.datum_nar,pom.cislo_isic,pom.internat,pom.blok,pom.cislo_izby,pom.cena_ubytovania);
if ((strcmp(h_od,pom.vek)<=0) && (strcmp(h_do,pom.vek)>=0)) {pcn++;clrscr();
 printf("\n__________________________________________________________\n   %d. najdene \n----------------------------------------------------------\n",pcn);
 printf("\n| Meno a priezvisko          : %15s",pom.meno_studenta);
 printf("\n| Vek                        : %15s",pom.vek);
 printf("\n| Datum narodenia            : %15s",pom.datum_nar);
 printf("\n| Cislo ISIC                 : %15s",pom.cislo_isic);
 printf("\n| Internat                   : %15s",pom.internat);
 printf("\n| Blok                       : %15s",pom.blok);
 printf("\n| Izba c.                    : %15s",pom.cislo_izby);
 printf("\n| Cena na mesiac             : %15s",pom.cena_ubytovania);
 printf("\n__________________________________________________________\n");
 ch=getchar();
			}
 } else printf("Subor je prazdny :))");
/*Zatvorenie  suboru*/
fclose(sub);printf("\n");
if (pcn==0) {printf("Nenasiel sa student v danom rozmedzi veku (%s - %s):((",h_od,h_do);}
printf("\nKoniec programu  (%d najdenych poloziek) (stlac Enter pre navrat do hlavneho menu)",pcn);
ch=getchar();}

/*Hlavny program*/
void main (int argc, char *argv[])
{int i ;unsigned long pocet;unsigned char END=1;

if (argc<2) {printf("\nZabudol si uviest meno vstupneho suboru\n");}


if ((sub=fopen(argv[1],"r+t"))==NULL) {printf("\nNeda sa otvorit subor %s ...\n",argv[1]);printf("Vytvaram si novy prazdny subor %s pre dalsiu pracu s nim !\n",argv[1]);
									  printf("Potvrd Enterom ...");ch=getchar();
									  fopen(argv[1],"w+t");fclose(sub);pocet=0;}
else {fclose(sub);clrscr();pocet=count_pol(argv[1]);}

do {
clrscr();
Menu(argv[1],pocet);
 scanf("%c",&ch);
 switch (ch) {
  case '1':Nacitaj(argv[1],&pocet);break;
  case '2':Vypis(argv[1],pocet);break;
  case '3':Vyhladaj(argv[1],pocet);break;
  case '4':END=0;break;
  default:while (getchar()!='\n'); /*vycistenie buffeu */
  }
 } while (END);
}

Zadanie bolo original na evidenciu SPZ
Za pomoc dakujem
vivaSlovakia
Guru wannabe
Guru wannabe
Príspevky: 2119
Registrovaný: 29 júl 2006, 10:30

Príspevok od používateľa vivaSlovakia »

aku chybu nahlasi ?
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

`main' must return `int'

toto mi tam napise este tam boli dve ale tie som uz odstranil
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

devo159 napísal:`main' must return `int'

toto mi tam napise este tam boli dve ale tie som uz odstranil
no ved urob to co pise. zmen navratovy typ funkcie main na int. a pripadne daj na koniec tej funkcie return 1;
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

To hej keby som vedel ako :oops:
... ak mozes tak napis ze co tam mam zmenit
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

toto je semestralna uloha. a ked nevies ani zmenit navratovy typ funkcie tak to zrejme znamena, ze by si ten zapocet/skusku dostat nemal, nemyslis?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

void main (int argc, char *argv[]) 
prepíš na

Kód: Vybrať všetko

int main (int argc, char *argv[]) 
a medzi tieto dva riadky na konci:

Kód: Vybrať všetko

 } while (END);
}
vsuň

Kód: Vybrať všetko

return 0;
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

mastermind napísal:toto je semestralna uloha. a ked nevies ani zmenit navratovy typ funkcie tak to zrejme znamena, ze by si ten zapocet/skusku dostat nemal, nemyslis?
Ja si to nemyslim ja to viem ze to tak je ale co by si robil ked by si nieco nevedel a ten co ta to uci neviem ani zapnut cecko?
Sam sa to naucit neviem lebo som nemal ziadne zaklady... moja jedina starost na cecku bola odpisat priklad z tabule... ked nesiel tak nesiel... Problem sa nenasiel lebo tomu rozumel az jeden ...
Chces mi teraz povedat ze sa na to mam vykaslat a nechat skolu za to ze proste neovladam cecko?
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

audiotrack napísal:

Kód: Vybrať všetko

void main (int argc, char *argv[]) 
prepíš na

Kód: Vybrať všetko

int main (int argc, char *argv[]) 
a medzi tieto dva riadky na konci:

Kód: Vybrať všetko

 } while (END);
}
vsuň

Kód: Vybrať všetko

return 0;
Vdaka :) teraz mi to prebehne v pohode... dam compile ide a ked ho spustim nahodi taabulku neodesilat ale uz postupujem :D

edit\\ Uz som to rozbehol ale mi to pise dobre bludy takze idem hladat dakujem za pomoc :wink:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

aké bludy? niečo so súborom?
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

Uz sa mi to podarilo spravit ... este daco ako musim definovat meno a priezvisko lebo char to nebude... potom mi posuva riadok a pise bludy
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

devo159 napísal:Ja si to nemyslim ja to viem ze to tak je ale co by si robil ked by si nieco nevedel a ten co ta to uci neviem ani zapnut cecko?
Sam sa to naucit neviem lebo som nemal ziadne zaklady... moja jedina starost na cecku bola odpisat priklad z tabule... ked nesiel tak nesiel... Problem sa nenasiel lebo tomu rozumel az jeden ...
Chces mi teraz povedat ze sa na to mam vykaslat a nechat skolu za to ze proste neovladam cecko?
Nechcem rypat, ale polozme si otazku o com je vysoka skola ? Skola ti da len smer a je na studentovi, kolko iniciativy vynalozi, aby sa nieco naucil... Necakaj ze ta niekto bude ucit programovanie...Myslis kolky uspesny programatori dostali kompletny vyklad jazyka s algoritmami ? Pravda je taka, ze sami museli stravit nad tym cas...Pozri existuje SNK, internet, teraz je neskutocny pristup k informaciam, takze je len na studentovi ako s touto moznostou nalozi...
Nechcel som ta tymto odradit, ba priam naopak, povzbudit, aby si vyhladaval informacie, ktore urcite neskor zuzitkujes...
Napr. by som ti doporucil vynikajucu knihu o programovacom jazyku C, priamo od tvorcov jazyka c, Kernighan + Ritchie...
Blizsie info tu : http://knihy.cpress.cz/knihy/pocitacova ... i-jazyk-c/
devo159
Light Star
Light Star
Príspevky: 214
Registrovaný: 18 feb 2007, 15:25
Kontaktovať používateľa:

Príspevok od používateľa devo159 »

programator napísal:Nechcem rypat, ale polozme si otazku o com je vysoka skola ? Skola ti da len smer a je na studentovi, kolko iniciativy vynaložili, aby sa nieco naucil... Necakaj ze ta niekto bude ucit programovanie...Myslis kolky uspesny programatori dostali kompletny vyklad jazyka s algoritmami ? Pravda je taka, ze sami museli stravit nad tym cas...Pozri existuje SNK, internet, teraz je neskutocny pristup k informaciam, takze je len na studentovi ako s touto moznostou nalozi...
Nechcel som ta tymto odradit, ba priam naopak, povzbudit, aby si vyhladaval informacie, ktore urcite neskor zuzitkujes...
Napr. by som ti doporucil vynikajucu knihu o programovacom jazyku C, priamo od tvorcov jazyka c, Kernighan + Ritchie...
Blizsie info tu : http://knihy.cpress.cz/knihy/pocitacova ... i-jazyk-c/
JA to beriem ale moj smer nie je programovanie... Na skole mam informatiku len prve dva semestre
Napísať odpoveď