Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Kalkulačka v C

Zdravíčko, jelikož se chystám po základce na IT střední, začal jsem se tak trochu učit progamovat v Cečku. Dneska jsem se vrhnul na funkce a potřeboval bych poradit. Zatím jsem to chtěl ozkoušet jen pro soucet a pak bych se vrhnul na dalsi, ale nejak mi ty funkce nefunguji a bratr, který mi s tím pomáha je dneska u rodiny od přítelkyně, proto se obracím na vás. Předem děkuji za jakoukoliv pomoc.

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

int cisA(float a);
int cisB(float b);
int soucet(float a, float b);
void vypis(float c);

int main(void)
{
    float a=0,b=0,c=0;
    int volba;
    printf("Zadejte cisla a potom si vyberte prosim operaci \n");

    cisA(a);
    // printf("%3.1f \n",a);  // kontrola zda se to nacetlo
    cisB(b);
    // printf("%3.1f \n",b);

    printf("1) Soucet (A + B) \n");
    printf("2) Rozdil (A - B) \n");
    printf("3) Soucin (A * B) \n");
    printf("4) Podil  (A / B) \n");
    printf("9) Konec \nZadejte volbu: ");
    scanf("%d", &volba);

    switch(volba)              // switch je zatim nedodelany, dokud neprijdu na chybu
        {
            case 1: soucet(a,b);vypis(c);  //printf("\n%3.1f %3.1f %3.1f",a,b,c);
                break;

            default: break;
        }

    return 0;
}

int cisA(float a)
{
    printf("A = ");
    scanf("%f",&a);
    return(a);
}

int cisB(float b)
{
    printf("B = ");
    scanf("%f",&b);
    return(b);
}

int soucet(float a, float b)
{
    float c;
    c = a + b;
    return(c);
}

void vypis(float c)
{
    printf("\nVysledek je %5.3f",c);
}

At dělam co dělam,když zkusím provést součet vzdy mi to vypise jen same nuly (nebo to co zadáno v mainu ( float a=0,b=0,c=0; )) takze ono to ty funkce ani neprovede asi. Díky moc za každou radu.

Předmět Autor Datum
Nemám teď příliš času a ani nejsem programově nijak extra znalý, tak jen pár poznámek - proč jsou ty…
shark.jd 25.12.2011 17:51
shark.jd
Díky moc ...měl jse tam opravdu stupidni chybu ... pořád jsem koukal jen na ty fce a kdybych si vsim… poslední
DalVik 25.12.2011 21:33
DalVik

Nemám teď příliš času a ani nejsem programově nijak extra znalý, tak jen pár poznámek - proč jsou ty první metody venku z mainu? Proč potřebuje metoda na čtení čísla vstupní parametr? Ve switche máš pak soucet(a,b); a do výpisu posíláš proměnou c. Ten výsledek součtu by sis měl někam uložit (c =soucet(a,b); vypis(c);).

PS: Měl jsem moc kapra, tak jestli melu blbost, odpust. ;-)

Zpět do poradny Odpovědět na původní otázku Nahoru