Reklama  • Download  • FAQ •  Hledat •  Registrovat •  Přihlásit se 
Programy | QIP |
Právě je pon zář 25, 2017 01:41

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ] 
Autor Zpráva
 Předmět příspěvku: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: pon led 18, 2010 09:00 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
Zdravim vsechny mile lidi, co maji chvili na to precist si muj prispevek ba dokonce na nej odpovedet.

Ucim se v jazyku C programovat a snazim se o vytvoreni kompletni (zakladni) kalkulacky jako je ve windowsm, jen v podobe textovem editoru. Umi vsechny zakladni funkce.. od scitani po odmocnovani. Ovsem co neumi je funkce s M.confused smiley tedy:

[MC] = "Vymazat paměť"
[MR] = "Memory Recall" [MR] = "Memory Recall"
[M+] = "Add to Memory" [P +] = "Přidat do paměti"
[M-] = "Subtract from Memory" [M-] = "Odečíst z paměti"

Mohl by mi nekdo pomoct s kodem, ktery lze vlozit do zdrojaku, nebo s funkcemi, ci alespon vysvetlenim? Jeste neumim moc aplikovat, jsem zacatecnik.

Budu vdecny za kazdou radu. Vsem uprimne diky.... smiling smiley


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: pon led 18, 2010 17:42 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Tohle by mela byt ta lehci vec na kalkulacce. Jenom si zalozis novou promennou a s tou pracujes. Kdyz se stiskne "M+", udelas jenom pamet = pamet + vstup. Obdobne pak s "M-".

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: pon led 18, 2010 18:03 
aha.. no a když budu chtít vypsat všechny vypočitané přiklady do souboru? nevíš jak to udělám?


Nahoru
  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: pon led 18, 2010 18:13 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Musis si logovat vsechna zadani do nejake promenne. Popr. hned zapisovat do souboru. Dela se to pres fopen, kterym soubor otevres a fwrite zapisujes do otevreneho souboru. Na konci jej pomoci fclose zavres.

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: úte led 19, 2010 00:30 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
jj tak nejak tomu rozumim, ale nevim jak to aplikovat... :(


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: úte led 19, 2010 03:05 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Jak jak? :D Proste... to tam dopises, ne?

Tohle je primitivni kod, ktery otevre (popr. vytvori) soubor a.txt a zapise do nej text ahoj, jak se mas?.
Kód:
char *neco = "ahoj, jak se mas?";   
FILE *sbr;
   
sbr = fopen("a.txt", "a+");
fwrite(neco, 1, 17, sbr);
fclose(sbr);

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: úte led 19, 2010 14:24 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
kdyz mam program :

#include <stdio.h>

main()
{
float x,y,vys;
int op;

printf("Program kalkulacka (varianta s if)\n\n");
printf("Zadej x:");
scanf("%f",&x); /* nacteme x */
printf("Zadej y:");
scanf("%f",&y); /* nacteme y */
printf("Zadej operaci (1 znamena +,2 je -,3 je *, 4 je / :");
scanf("%d",&op);

if (op==1)
{
vys=x+y;
}

if (op==2)
{
vys=x-y;
}

if (op==3)
{
vys=x*y;
}

if (op==4)
{
vys=x/y;
}

printf("Vysledek operace je: %f\n",vys);
}


Jak udelam, aby mi program vypsal do ext. souboru vsechny pocty, ktere provedl hezky za seobou?
to uz tak lehky kod jiste nebude...:(


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: úte led 19, 2010 16:58 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Reseni je spousta, tady treba jedno z nich...

Kód:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    float x,y,vys;
    int op;
    char *text;
    FILE *soubor;
   
    soubor = fopen("a.txt", "a+");

    printf("Program kalkulacka (varianta s if)\n\n");

    printf("Zadej x: ");
    scanf("%f",&x);

    printf("Zadej y: ");
    scanf("%f",&y);
   
    printf("Zadej operaci (1 znamena +,2 je -,3 je *, 4 je / :");
    scanf("%d",&op);

    if (op==1) {
       vys=x+y;
       sprintf(text, "%f + %f = %f\n", x, y, vys);
    }

    if (op==2) {
       vys=x-y;
       sprintf(text, "%f - %f = %f\n", x, y, vys);
    }

    if (op==3) {
       vys=x*y;
       sprintf(text, "%f * %f = %f\n", x, y, vys);       
    }

    if (op==4) {
       vys=x/y;
       sprintf(text, "%f / %f = %f\n", x, y, vys);       
    }

    printf("Vysledek operace je: %f\n",vys);
   
    fwrite(text, 1, strlen(text), soubor);
    fclose(soubor);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: úte led 19, 2010 23:30 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
děkuji moc!!!!

ovšem jsem začátečník a učím se v C! pokud se nemýlím #include <iostream> // a direktiva preprocesoru using namespace std patří pod C+. ostatních příkazů si ale nejsem jistý, které si liší. je možné popsat příkazy v programu nad tímhle textem, které jsou z C+ a připsat k tomu přikazy v C?


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: stř led 20, 2010 00:45 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Jooo, tak to ja nevim :) Ja v C a C++ taky moc neumim, takze nevim, co kam patri...

EDIT: jmenne prostory (namespace) se tam stejne nepouzivaji, takze ten radek muzes smazat bez vlivu na funkcnost. Stejne tak hlavickove soubory staci prepsat na ciste C hlavicky a jde to...
Kód:
#include <stdio.h>
#include <stdlib.h>

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 10:26 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
:( tohle bohuzel nefunguje.. nemas jeste nejaky typ? dik


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 15:14 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Vzdyt to funguje...

Kód:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    float x,y,vys;
    int op;
    char *text;
    FILE *soubor;
   
    soubor = fopen("a.txt", "a+");

    printf("Program kalkulacka (varianta s if)\n\n");

    printf("Zadej x: ");
    scanf("%f",&x);

    printf("Zadej y: ");
    scanf("%f",&y);
   
    printf("Zadej operaci (1 znamena +,2 je -,3 je *, 4 je / :");
    scanf("%d",&op);

    if (op==1) {
       vys=x+y;
       sprintf(text, "%f + %f = %f\n", x, y, vys);
    }

    if (op==2) {
       vys=x-y;
       sprintf(text, "%f - %f = %f\n", x, y, vys);
    }

    if (op==3) {
       vys=x*y;
       sprintf(text, "%f * %f = %f\n", x, y, vys);       
    }

    if (op==4) {
       vys=x/y;
       sprintf(text, "%f / %f = %f\n", x, y, vys);       
    }

    printf("Vysledek operace je: %f\n",vys);
   
    fwrite(text, 1, strlen(text), soubor);
    fclose(soubor);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 15:59 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
Tobě to fakt funguje? ja to pustim, ale kdyz zadam cislo operace. hodi to chybu... a program prestal pracovat:(


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 18:59 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
Ano, funguje. Dev-C++ 4.9.9.2.

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 19:40 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
:-o Kdyz tenhle obsah vemu a zkopiruju a pustim .. hodi mi to tohle :(


Přílohy:
nejde.jpg
nejde.jpg [ 50.63 KiB | Zobrazeno 15183 krát ]
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 20:12 
Offline
Moderátor
Moderátor
Uživatelský avatar

Registrován: stř srp 30, 2006 13:29
Příspěvky: 2766
To mi spis prijde jako nejaky problem s pravy. Nespoustis to v Program Files? Zkus program "Projekt1.exe" zkopirovat na plochu a spustit tam.

_________________
PC: AMD Athlon II X4 645, Evolve Zeppelin GOLD 2x2 GB + A-Data Extreme Edition 2x1 GB, WD Caviar Black 1 TB, Sapphire Radeon HD 5850 Xtreme 1 GB GDDR5, LCD Samsung P2770HD 27"
NB1: Asus UL30A-QX141V - C2D SU7300, 2x2GB DDR2 RAM, 320 GB, 13,3" LED LCD... 12 hod provozu :)
NB2: MSI GX610PX - AMD Turion X2 TL-58, 2x1GB DDR2 RAM, 250 GB, ATI HD2600 256 MB GDDR3
NB3: IBM R40 - Intel Pentium 4-M, 512 MB DDR, 40 GB, ATI Radeon 7500 32 MB
mobil: Sony Ericsson Xperia X1

YouCan.cz - tvorba webových stránek a internetových projektů na míru


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: sob led 23, 2010 20:28 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
ne to jiste neni... navic ja ten program normalne pustim... jak je videt na obrazku, vyhodi chybu az v 3 sekvenci.. tedy kdyz zvolim operaci jako chci.. ted at zvolim kteroukoliv ze 4 tak to hodi chybu...
Tedy chyba by mohla byt mozna nekde tady:

fwrite(text, 1, strlen(text), soubor);
fclose(soubor);

system("PAUSE");
return EXIT_SUCCESS;

je mozne to zkusit prosim jeste nejak predelat?

ja uz si s tim fakt nevim rady:(


Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]
PříspěvekNapsal: ned led 24, 2010 17:27 
Offline
Nováček
Nováček

Registrován: pon led 18, 2010 08:57
Příspěvky: 9
tak ja uz na to prisel.. i za pomoci jinych. ale Tobe taky dekuji za cenne rady... jo a to proc mi to padalo byla alokace pameti... tzn, ze tam jeste chybi bohuzel podstatna malickost, a to treba tohle

char *text[1024];

Tak vime pro priste a jeste jednou dekuji!!!!


Nahoru
 Profil  
Odpovědět s citací  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Můžete zakládat nová témata v tomto fóru
Můžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group