isc:task32
Task 32
- Využíjte šablonu pod textem, doimplementujte dvě funkce: add a div
- Funkce add provede sečtení dvou čísel, jako argumenty dostane dvě proměnné typu int a výslednou hodnotu vrací v typu int
- Funkce div provede celočíselné dělení dvou čísel, jako argumenty dostane dvě proměnné typu int a výslednou hodnotu vrací v typu int
- v případě dělení nulou funkce vrátí hodnotu 0 a vypíše chybovou hlášku
- Hlavní funkce main postupně načítá výraz od uživatele:
- jeden symbol ('+' nebo '/') do proměnné operator
- jednu hodnotu cislo_a
- jednu hodnotu cislo_b
- Když proměnná operator obsahuje znak:
- '+', zavolej funkci add
- '/', zavolej funkci div
- v ostatních situacích (jiné symboly) vypiš chybovou hlášku a ukonči program
- Pokud je vše zadané správně, vypiš výsledek operace
- (Pokud je něco nedefinované, zvol nejlepší řešení)
- task32.c
#include <stdio.h> // function add() here // function div() here int main() { int cislo_a; int cislo_b; char operator; printf("Zadej operator (+ nebo /): "); scanf(" %c", &operator); printf("Zadej hodnotu a: "); scanf("%d", &cislo_a); printf("Zadej hodnotu b: "); scanf("%d", &cislo_b); printf("Operator: %c, cislo_a: %d, cislo_b: %d\n", operator, cislo_a, cislo_b); // some code here return 0; }
gcc -std=c99 -g -Wall -Wextra -pedantic task32.c -o task32 ./task32
jedno z možných řešení
#include <stdio.h> int add(int a, int b) { int r; r = a + b; return r; // or just return a+b; } int div(int a, int b) { return a/b; } int main() { int cislo_a; int cislo_b; char operator; printf("Zadej operator (+ nebo /): "); scanf(" %c", &operator); printf("Zadej hodnotu a: "); scanf("%d", &cislo_a); printf("Zadej hodnotu b: "); scanf("%d", &cislo_b); printf("Operator: %c, cislo_a: %d, cislo_b: %d\n", operator, cislo_a, cislo_b); int result = 0; if (c == '+') { result = add(a, b); } else if (c == '/') { if (b == 0) { printf("Division by 0 is not defined, returning 1\n"); return 1; } else // not really needed because of return 1; { result = div(a, b); } } printf("Result = %d\n", result); return 0; }
isc/task32.txt · Last modified: 2024/10/09 17:09 by sakin