| | |
Autor | Správa |
---|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
V tom prvom bolo zopar chyb, takto by to uz malo ist
Kód: #include <stdio.h> int main(void) { char a; printf("Zadaj cislo: \n"); scanf("%d", &a); while (getchar()!='\n'); switch(a) { case 2: printf("a,b,c\n");break; case 3: printf("d,e,f\n");break; case 4: printf("g,h,i\n");break; case 5: printf("j,k,l\n");break; case 6: printf("m,n,o\n");break; case 7: printf("p,q,r,s\n");break; case 8: printf("t,u,v\n");break; case 9: printf("w,x,y,z\n");break; default: printf("Zadaj cislo od 2 do 9\n"); } printf("Zadaj znak: \n"); scanf("%c", &a);
switch(a) { case 'a': printf("2");break; case 'b': printf("2");break; case 'c': printf("2");break; case 'd': printf("3");break; case 'e': printf("3");break; case 'f': printf("3");break; case 'g': printf("4");break; case 'h': printf("4");break; case 'i': printf("4");break; case 'j': printf("5");break; case 'k': printf("5");break; case 'l': printf("5");break; case 'm': printf("6");break; case 'n': printf("6");break; case 'o': printf("6");break; case 'p': printf("7");break; case 'q': printf("7");break; case 'r': printf("7");break; case 's': printf("7");break; case 't': printf("8");break; case 'u': printf("8");break; case 'v': printf("8");break; case 'w': printf("9");break; case 'x': printf("9");break; case 'y': printf("9");break; case 'z': printf("9");break; default: printf("Zadali ste neplatny znak: \n"); } }
Na ten druhy sa este mrknem neskor.
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 21.05.08 Prihlásený: 04.10.09 Príspevky: 21 Témy: 0 | Napísal J3rGuS: 04.10.2008 1:57 | |
|
Keďže čas súril, tak som to napísal čo najrýchlejšie.
A to tak, že jednoducho som vytvoril prvú čásť kosoštvorca a upravením cyklov prvej som vytvoril druhú, resp. zkopíroval.
Kód: #include <stdio.h> #include <stdlib.h>
int main(void) { unsigned short int i, j, r, k, pom, riadok, bod = 0;
printf("Zadaj najdlhsi riadok:\n"); if (scanf("%u", &riadok) != 1) return 1; r = riadok - 1; //r urcuje medzery, kt. je o 1 menej ako dlzka riadku
for (i = 0; i < riadok; i++) { //zaciatok prvej casti, teda vrchu + "zakladna ciara" for (j = r; j > 0; j--) putchar(' '); r--; //riadky sa najprv kratia bod++; //pct. bodov sa zvysuje for (k = 0; k < bod; k++) { putchar('x'); putchar(' '); } putchar('\n'); } r = 1; //zaciatok je hned pod "zakl. ciarou", takze medzera bude 1 //riadok--; nie je nutne znizovat pct. riadkov druhej casti, pretoze aj tak by posledny cyklus vykreslovania bodov neziaduceho riadku neprebehol, lebo hodnota premennej bod by bola 0 for (i = 0; i < riadok; i++) { //zaciatok spodnej casti for (j = r; j > 0; j--) putchar(' '); r++; //tu naopak sa zase pct. stlpcov pred bodom zvysuje bod--; // pct. bodov sa znizuje for (k = 0; k < bod; k++) { putchar('x'); putchar(' '); } putchar('\n'); } system("pause"); return 0; }
No a teraz je na tebe ako si to napíšes...akou genialnou myšlienkou...
Citácia: void a; Zaujímavý zápis.
Inak ak používaš "typ ničoho" void, tak je dobre programu určiť, že naozaj funkcia main nemá žiadne parametre, teda int main(void).
|
|
Registrovaný: 03.10.08 Prihlásený: 26.10.08 Príspevky: 4 Témy: 0 | Napísal teak: 04.10.2008 10:36 | |
|
diki moc.vam obidvom
J3rGuS píše: Citácia: void a; Zaujímavý zápis. Inak ak používaš "typ ničoho" void, tak je dobre programu určiť, že naozaj funkcia main nemá žiadne parametre, teda int main(void).
viem ze je to zaujimave, len v zivote som nic z programovania nevidela a toto sa mi podario pomocou ucebnice
|
|
Registrovaný: 03.10.08 Prihlásený: 26.10.08 Príspevky: 4 Témy: 0 | Napísal teak: 25.10.2008 9:57 | |
|
ahojte, uz mam nove zadania, mam ich uz vypracovane len by som vas chcela poprosit ci by ste mi ich nemohli skontrolovat
A) Vypracujte program, ktorého súčasťou budú štyri funkcie. Funkcie násobenia, delenia, mocniny a odmocniny. V telách týchto funkcií môžte použiť iba operácie „+“ a „-„.
Kód: #include <stdio.h>
//funkcia na nasobenie premennych int nasobenie(int a,int b) { int c=0;
for(int i=0;i<a;i++) { c=c+b; } return c; }
//funkcia na celociselne delenie premennych int delenie(int a,int b) { int c = 0, pom =0; int zv; int kontrola =1;
if (a < b) { a = pom; a =b; b = pom; }
while (kontrola != 0) { a=a-b; c++; if (a<b) {kontrola = 0; zv = a;} if (a==0) {kontrola = 0; zv = 0;} }
if (zv>0) printf("Zvysok po deleni je %d\n",zv); return c; }
//funkcia na pocitanie mocnin float mocnina (float a,int b) { float c=1; for (float i=1;i<=b;++i) c=c*a; return c; }
//funkcia na pocitanie odmocnin int odmocnina(double a) { double d = 0; //spodna hranica pociatocneho intervalu double h = a + 1; //horna hranica pociatocneho intervalu double eps = 1.0e-10; //zelana relativna presnost double s = (d + h) / 2; while ( (h - d) / s > eps) {if (s * s >= a) h = s; else d = s; s = (d + h) / 2; return s; } printf("Odmocnina %lf je %lf",a, s); } //funkcia main void main() { int a,b, vysledok; int volba;
printf("Zadaj 2 cisla\n"); scanf("%d %d", &a,&b);
printf("Zadaj volbu:\n"); printf("Pre nasobenie zadaj 1\n"); printf("Pre delenie zadaj 2\n"); printf("Pre mocninu zadaj 3\n"); printf("Pre odmocninu zadaj 4\n"); scanf("%d",&volba);
if (volba != 4) printf("Ide to");
switch(volba) { case 1: vysledok = nasobenie(a,b); break; case 2: vysledok = delenie(a,b); break; case 3: vysledok = mocnina(a,b); break; case 4: vysledok = odmocnina(a); break; } printf("Vysledok je %d\n",vysledok);
} B) Vypracujte program, ktorý bude simulovať kalkulačku. Užívateľ bude môcť používať funkcie sčítavania, odčítavania, násobenia, delenia, mocniny, odmocniny, ukladania čísla a používania uloženého čísla. Program bude musieť bežať až dokým sa ho užívateľ sám nerozhodne ukončiť. ten int z by mal hovorit ze sa ma pocitat dokial nezadam 1, je to spravne? toto mam len nevie ako to urobit s tym ukladanim cisla. Kód: #include <stdio.h>
//funkcia na scitanie premennych int scitanie(int a,int b) {
int c;
c = a+b; return c; }
//funkcia na odcitanie premennych int odcitanie(int a, int b) { int c; if (a>=b) c = a-b; else c = b-a;
return c; }
//funkcia na nasobenie premennych int nasobenie(int a,int b) { int c=0;
for(int i=0;i<a;i++) { c=c+b; } return c; }
//funkcia na celociselne delenie premennych int delenie(int a,int b) { int c = 0, pom =0; int zv; int kontrola =1;
if (a < b) { a = pom; a =b; b = pom; }
while (kontrola != 0) { a=a-b; c++; if (a<b) {kontrola = 0; zv = a;} if (a==0) {kontrola = 0; zv = 0;} }
if (zv>0) printf("Zvysok po deleni je %d\n",zv); return c; }
//funkcia na pocitanie mocnin float mocnina (float a,int b) { float c=1; for (float i=1;i<=b;++i) c=c*a; return c; }
//funkcia na pocitanie odmocnin int odmocnina(double a) { double d = 0; //spodna hranica pociatocneho intervalu double h = a + 1; //horna hranica pociatocneho intervalu double eps = 1.0e-10; //zelana relativna presnost double s = (d + h) / 2; while ( (h - d) / s > eps) {if (s * s >= a) h = s; else d = s; s = (d + h) / 2; return s; } printf("Odmocnina %lf je %lf",a, s); } //funkcia main void main() { do{ int z=0; printf("ak chcete pocitat stlacte hociake cislo ak nie stlacte 1"\n); scanf("%d", &z);
int a,b, vysledok; int volba;
printf("Zadaj 2 cisla\n"); scanf("%d %d", &a,&b);
printf("Zadaj volbu:\n"); printf("Pre nasobenie zadaj 1\n"); printf("Pre delenie zadaj 2\n"); printf("Pre mocninu zadaj 3\n"); printf("Pre odmocninu zadaj 4\n"); printf("Pre scitanie zadaj 5\n"); printf("Pre odcitanie zadaj 6\n") scanf("%d",&volba);
if (volba != 4) printf("Ide to");
switch(volba) { case 1: vysledok = nasobenie(a,b); break; case 2: vysledok = delenie(a,b); break; case 3: vysledok = mocnina(a,b); break; case 4: vysledok = odmocnina(a); break; case 5: vysledok = scitanie(a,b);break; case 6: vysledok = odcitanie(a,b);break; } printf("Vysledok je %d\n",vysledok); } while (z != 1) }
diki
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
A co tak to skusit skompilovat? Mas tam nejake chyby, a taktiez nejak nefunguje pocitanie odmocnin... Funkcia main ti nevracia int, miesas tam typy int a double atd.
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 03.10.08 Prihlásený: 26.10.08 Príspevky: 4 Témy: 0 | Napísal teak: 26.10.2008 13:36 | |
|
no o to som sa pokusala, len tam mam niekde nejaku chybu lebo pri obidvoch zadaniach mi visual studio vypisuje stale ze nemoze specific nejaky path
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
Skontroluj si vsetky typy premennych a typy navratovych hodnot funkcii, mas to tam dost domiesane... Deklaracia funkcie main by mala skor vyzerat takto
Kód: int main(void)
Takisto nemas ani deklarovanu premennu z.
Skus si stiahnut nejake iny kompliator, napr. Dev-C++, ten ti vsetky chyby vypise, neviem ako to je vo Visual Studio...
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 19.09.06 Prihlásený: 17.01.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
Kód: #include <stdio.h> #include <math.h>
//funkcia na scitanie premennych float scitanie(int a,int b) {
int c;
c = a+b; return c; }
//funkcia na odcitanie premennych float odcitanie(int a, int b) { int c; if (a>=b) c = a-b; else c = b-a;
return c; }
//funkcia na nasobenie premennych float nasobenie(int a,int b) { int c=0;
for(int i=0;i<a;i++) { c=c+b; } return c; }
//funkcia na celociselne delenie premennych float delenie(int a,int b) { int c = 0, pom =0; int zv; int kontrola =1;
if (a < b) { pom = a; a =b; b = pom; }
while (kontrola != 0) { a=a-b; c++; if (a<b) {kontrola = 0; zv = a;} if (a==0) {kontrola = 0; zv = 0;} }
if (zv>0) printf("Zvysok po deleni je %d\n",zv); return c; }
//funkcia na pocitanie mocnin float mocnina (int a,int b) { float c=1; for (float i=1;i<=b;++i) c=c*a; return c; }
//funkcia na pocitanie odmocnin double odmocnina(double a) { return sqrt(a); } //funkcia main int main() { int z=0; int a,b; float vysledok; int volba; do { printf("ak chcete pocitat stlacte hociake cislo ak nie stlacte 1\n"); scanf("%d", &z); if (z==1) break;
printf("Zadaj 2 cisla\n"); scanf("%d %d", &a,&b);
printf("Zadaj volbu:\n"); printf("Pre nasobenie zadaj 1\n"); printf("Pre delenie zadaj 2\n"); printf("Pre mocninu zadaj 3\n"); printf("Pre odmocninu zadaj 4\n"); printf("Pre scitanie zadaj 5\n"); printf("Pre odcitanie zadaj 6\n"); scanf("%d",&volba);
if (volba != 4) printf("Ide to");
switch(volba) { case 1: vysledok = nasobenie(a,b); break; case 2: vysledok = delenie(a,b); break; case 3: vysledok = mocnina(a,b); break; case 4: vysledok = odmocnina(a); break; case 5: vysledok = scitanie(a,b);break; case 6: vysledok = odcitanie(a,b);break; } printf("Vysledok je %.2f\n",vysledok); } while (z != 1); return 0; }
Bolo tam par chyb ohladom typov funkcii, odmocnina bola podla mna riesena dost nestastne, bodkociarka v jednom z case a vo vymene premennych v funkcii delenie namiesto pom=a bolo a=pom. + pridana jedna podmienky na testovanie ukoncovacej jednotky - v povodnom to este raz urobilo cely cyklus. v visual c++ 6.00 to ide OK.
|
|
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Mám sa učiť C ++/objective C/ C#? v Assembler, C, C++, Pascal, Java | 5 | 723 | 08.07.2014 20:40 XOLOO | | K: PC Literaturu- C++/C#/java/python/ruby/RoR v Kúpim | 0 | 405 | 13.05.2014 18:16 expresado | | Hladam hracov na C&C Generals Zero Hour v Počítačové hry | 10 | 1243 | 07.03.2007 19:22 Spirit | | rozdiel medzi Borland 3.1 C++ vs Net. C++ v Assembler, C, C++, Pascal, Java | 4 | 566 | 20.07.2010 12:54 walther | | Naučte se C++ za 21 dní + C++Builder 6 v Assembler, C, C++, Pascal, Java | 18 | 2404 | 21.05.2010 21:08 Wpegb | | Hledá se programátor C/C++ pro vesmírné projekty (Praha) v Ponuka práce | 0 | 1115 | 10.05.2016 14:59 evolvsys | | Čo mi treba na programovanie v C/C++ v Assembler, C, C++, Pascal, Java | 17 | 1139 | 25.09.2011 18:14 reDo | | aky je rozdiel medzi C++ a Visual C++ ? v Assembler, C, C++, Pascal, Java | 8 | 1952 | 19.02.2011 22:46 vendo2 | | Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017 v Ponuka práce | 1 | 543 | 24.10.2016 15:28 michalesku | | Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android) v Vymením a darujem | 0 | 421 | 01.04.2019 11:20 tomasteicher | | C/C++ problém so súbormi a hodnotami v Assembler, C, C++, Pascal, Java | 2 | 302 | 09.12.2012 10:43 nBXXL | | Ako nastavit grafikuv AMD catalyst c.c. v ATI/AMD grafické karty | 17 | 1476 | 26.12.2013 11:38 walther | | C# alebo C++ appka/program na výpočty v Assembler, C, C++, Pascal, Java | 1 | 368 | 20.03.2015 22:36 walther | | C - Ako prekompilovať .c súbor do .exe? v Assembler, C, C++, Pascal, Java | 7 | 551 | 02.11.2012 18:47 MasterMatoSK | | program na projekt (C#, C++, pascal, java) v Assembler, C, C++, Pascal, Java | 2 | 823 | 12.03.2009 12:08 Svjatogor | | C# alebo C++ , ktore knizky na ucenie? v Assembler, C, C++, Pascal, Java | 20 | 1784 | 12.02.2011 0:12 The |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|