Download | Programy

Kalkulacka - funkce [MC] [MR] [M+] [M-]

Odeslat odpověď

Smajlíci
:) :( :D ;) :stop: :-o :? :cool: :lol: :x :P :oops: :cry: :evil: :roll: :prayer: :heart: :list: :smil: :pal: :brv: :eek: :ot: :lool: :rigth: :down: :ups: :ch: :lups: :bomb: :skul: :smt046 :lock:

BBCode je zapnutý
[img] je zapnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Kalkulacka - funkce [MC] [MR] [M+] [M-]

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » ned led 24, 2010 17:27

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!!!!

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » sob led 23, 2010 20:28

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:(

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » sob led 23, 2010 20:12

To mi spis prijde jako nejaky problem s pravy. Nespoustis to v Program Files? Zkus program "Projekt1.exe" zkopirovat na plochu a spustit tam.

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » sob led 23, 2010 19:40

:-o Kdyz tenhle obsah vemu a zkopiruju a pustim .. hodi mi to tohle :(
Přílohy
nejde.jpg
nejde.jpg (50.63 KiB) Zobrazeno 41150 x

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » sob led 23, 2010 18:59

Ano, funguje. Dev-C++ 4.9.9.2.

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » sob led 23, 2010 15:59

Tobě to fakt funguje? ja to pustim, ale kdyz zadam cislo operace. hodi to chybu... a program prestal pracovat:(

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » sob led 23, 2010 15:14

Vzdyt to funguje...

Kód: Vybrat vše

#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;
}

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » sob led 23, 2010 10:26

:( tohle bohuzel nefunguje.. nemas jeste nejaky typ? dik

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » stř led 20, 2010 00:45

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: Vybrat vše

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

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » úte led 19, 2010 23:30

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?

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » úte led 19, 2010 16:58

Reseni je spousta, tady treba jedno z nich...

Kód: Vybrat vše

#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;
}

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » úte led 19, 2010 14:24

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...:(

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » úte led 19, 2010 03:05

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: Vybrat vše

char *neco = "ahoj, jak se mas?";    
FILE *sbr;
    
sbr = fopen("a.txt", "a+");
fwrite(neco, 1, 17, sbr);
fclose(sbr);

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » úte led 19, 2010 00:30

jj tak nejak tomu rozumim, ale nevim jak to aplikovat... :(

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » pon led 18, 2010 18:13

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.

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od Návštěvník » 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?

Re: Kalkulacka - funkce [MC] [MR] [M+] [M-]

od zener » pon led 18, 2010 17:42

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-".

Kalkulacka - funkce [MC] [MR] [M+] [M-]

od badatel » pon led 18, 2010 09:00

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