• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z funkcjami z parametrami

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
144 wizyt
pytanie zadane 4 lutego 2021 w C i C++ przez NukaNuka56 Obywatel (1,080 p.)

Dzień Dobry,

Mam problem z funkcjami z parametrami.

Napisałem program, który ma różne zadania bez parametrów(oznaczone nr.1)

Teraz muszę ten sam program zrobić z parametrami(co próbowałem nr.2)

Niestety błąd znajduje się w pewnym (2 program linijka 46 i 47)  który nie wiem jak usunąć. I teraz: Czy ten 2 kod ma w ogóle sens jako zrobienie to z funkcji z parametrami? Jak tak, to jak to zmienić żeby działało? 

1
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void kalkulator()
{int a,b;
char zn;
    cout<<"Podaj a= ";
    cin>>a;
    cout<<"Podaj b= ";
    cin>>b;
    cout<<"Podaj znak: ";
    cin>>zn;
    switch(zn)
    {
        case '+':cout<<"suma="<<a+b<<endl; break;
        case '-':cout<<"roznica="<<a-b<<endl; break;
        case '*':cout<<"mnozenie="<<a*b<<endl; break;
        case '/':if (b!=0) {cout<<"iloraz="<<a/b<<endl; break;}
        else {cout<<"Nie ma rozwiazania"<<endl; break;}
        default: cout<<"Zly znak"<<endl;
    }
}
void szlaczek()
{
 for(int i=1;i<=70;i++)
 cout<<"*";
 cout<<endl;
}
void losowaniegra()
{
    int los,pocz,kon;
    cout<<"Witaj w grze za duzo za malo!"<<endl;
    cout<<"Podaj poczatek przedzialu: ";
    cin>>pocz;
    cout<<"Podaj koniec przedzialu: ";
    cin>>kon;
    srand(time(NULL));
    los=rand()%pocz+kon;
    int il=0,odp;
    do
    {
        cout<<"Podaj liczbe z przedzialu ktory wpisales: "<<endl;
        cin>>odp;
        il++;
        if(odp==los) cout<<"Brawo,odpowiedziales za "<<il<<" razem!"<<endl;
        else if (odp>los) cout<<"za duzo"<<endl;
        else cout<<"za malo"<<endl;
    }while(odp!=los);
}
void sumacyfr()
{
    int liczba,suma;
    cout<<"Podaj liczbe trzycyfrowa: ";
    cin>>liczba;
    if(liczba>99)
    {
        suma = (liczba%10)+(liczba/10)%10+(liczba/100)%10;
        cout<<"Suma cyfr tej liczby wynosi: "<<suma<<endl;
    }
    else
    {
        cout<<"Podana liczba nie jest trzycyfrowa,podaj jeszcze raz: ";
        cin>>liczba;
        suma = (liczba%10)+(liczba/10)%10+(liczba/100)%10;
        cout<<"Suma cyfr tej liczby wynosi: "<<suma<<endl;
    }
}
int main()
{
   kalkulator();
   szlaczek();
   losowaniegra();
   szlaczek();
   sumacyfr();
   szlaczek();
   return 0;
}



2

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <time.h>

using namespace std;

int szlaczek()
{
 for(int i=1;i<=70;i++)
 cout<<"*";
 cout<<endl;
}
int kalkulator(int a,int b,char zn)
{
    return a,b;
}
int losowaniegra(int los,int pocz,int kon)
{
    return los;
}
int sumacyfr(int liczba,int suma)
{
  return suma;
}
int main()
{
    int a,b;
    char zn;
    cout<<"Podaj a= ";
    cin>>a;
    cout<<"Podaj b= ";
    cin>>b;
    cout<<"Podaj znak: ";
    cin>>zn;
    switch(zn)
    {
        case '+':cout<<"suma="<<a+b<<endl; break;
        case '-':cout<<"roznica="<<a-b<<endl; break;
        case '*':cout<<"mnozenie="<<a*b<<endl; break;
        case '/':if (b!=0) {cout<<"iloraz="<<a/b<<endl; break;}
        else {cout<<"Nie ma rozwiązania"<<endl; break;}
        default: cout<<"Zły znak"<<endl;
    }
}
    szlaczek();
    {
    int los,pocz,kon;
    cout<<"Witaj w grze za duzo za malo!"<<endl;
    cout<<"Podaj poczatek przedzialu: ";
    cin>>pocz;
    cout<<"Podaj koniec przedzialu: ";
    cin>>kon;
    srand(time(NULL));
    los=rand()%pocz+kon;
    int il=0,odp;
    do
    {
        cout<<"Podaj liczbe z przedzialu ktory wpisales: "<<endl;
        cin>>odp;
        il++;
        if(odp==los) cout<<"Brawo,odpowiedziales za "<<il<<" razem!"<<endl;
        else if (odp>los) cout<<"za duzo"<<endl;
        else cout<<"za malo"<<endl;
    }while(odp!=los);
    szlaczek();
    {
       int liczba,suma;
    cout<<"Podaj liczbe trzycyfrowa: ";
    cin>>liczba;
    if(liczba>99)
    }
    {
        suma = (liczba%10)+(liczba/10)%10+(liczba/100)%10;
        cout<<"Suma cyfr tej liczby wynosi: "<<suma<<endl;
    }
    else
    {
        cout<<"Podana liczba nie jest trzycyfrowa,podaj jeszcze raz: ";
        cin>>liczba;
        suma = (liczba%10)+(liczba/10)%10+(liczba/100)%10;
        cout<<"Suma cyfr tej liczby wynosi: "<<suma<<endl;
    {
    szlaczek();
   return 0;
}

 

komentarz 4 lutego 2021 przez Great Stary wyjadacz (10,740 p.)
Cały drugi program jest błędem. Popatrz na klamry.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 67 wizyt
pytanie zadane 31 sierpnia 2020 w JavaScript przez Arcturus Bywalec (2,370 p.)
–1 głos
0 odpowiedzi 56 wizyt
pytanie zadane 3 lipca 2020 w C i C++ przez Drożdżówka Obywatel (1,870 p.)
0 głosów
1 odpowiedź 66 wizyt

90,900 zapytań

139,572 odpowiedzi

313,905 komentarzy

60,373 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...