Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

przekazywanie argumentów funkcji,rezystancja

Ostatnio zmodyfikowano 2018-01-06 09:46
Autor Wiadomość
adrian.paz
Temat założony przez niniejszego użytkownika
przekazywanie argumentów funkcji,rezystancja
» 2018-01-05 19:11:15
Witam proszę o pomoc bo już różnych rzeczy próbuję i za uja nie wiem dlaczego wynik to np
6.03986e-039
Mój program:
C/C++
#include <iostream>
#include <windows.h>
using namespace std;
void kolor( int nr )
{
    HANDLE x;
    x = GetStdHandle( STD_OUTPUT_HANDLE );
    SetConsoleTextAttribute( x, nr );
}
float rezystancja( int x, int y )
{
    float R1, R;
    R1 =( 1 / x ) +( 1 / y );
    R =( 1 / R1 );
    return R;
}
int main()
{
    float x, y;
    float R;
    setlocale( LC_ALL, ".1250" );
    kolor( 10 );
    cout << "Podaj rezystancję 2 oporników(w Ohm: )" << endl << endl;
    cout << "Opornik 1: ";
    kolor( 14 );
    cin >> x;
    kolor( 10 );
    cout << endl << "Opornik 2: ";
    kolor( 14 );
    cin >> y;
    kolor( 10 );
    rezystancja( x, y );
    cout << endl << endl << "Rezystancja zastępcza tych oporników wynosi: ";
    kolor( 14 );
    cout << R << endl << endl;
    kolor( 10 );
    system( "pause" );
    return 0;
}
P-168421
mateczek
» 2018-01-05 19:38:24
Masz dzielenie na "int" więc wynik robi Ci "int"
C/C++
#include <iostream>
using namespace std;
double rezystancja( int x, int y )
{
    double R1, R;
    R1 =( 1.0 / x ) +( 1.0 / y ); //jak pierwszy argument będzie z kropką wymusisz liczenie na double
    R =( 1.0 / R1 );
    return R;
}
double Rz_parall( double R1, double R2 ) { // chyba prościej
    return( R1 * R2 ) /( R1 + R2 );
   
}
int main()
{
    cout << rezystancja( 100, 100 ) << endl;
    cout << Rz_parall( 100, 100 );
}
P-168422
adrian.paz
Temat założony przez niniejszego użytkownika
» 2018-01-05 20:11:13
Nie wiem problem był chyba w wywołaniu teraz zrobiłem coś takiego ale wyskoczył mi wynik "inf" Co to inf??
#include <iostream>
#include <windows.h>
using namespace std;
C/C++
float rezystancja( int x, int y )
{
    float R1 = 0, R = 0;
    R1 =( 1 / x ) +( 1 / y );
    R =( 1 / R1 );
    return R;
}
int main()
{
    float opornik1, opornik2;
    setlocale( LC_ALL, ".1250" );
    kolor( 10 );
    cout << "Podaj rezystancję 2 oporników(w Ohm: )" << endl << endl;
    cout << "Opornik 1: ";
    kolor( 14 );
    cin >> opornik1;
    kolor( 10 );
    cout << endl << "Opornik 2: ";
    kolor( 14 );
    cin >> opornik2;
    kolor( 10 );
    cout << endl << endl << "Rezystancja zastępcza tych oporników wynosi: ";
    kolor( 14 );
    cout << rezystancja( opornik1, opornik2 ) << endl << endl;
    kolor( 10 );
    system( "pause" );
    return 0;
}
P-168424
Luq
» 2018-01-05 20:26:13
C/C++
R1 =( 1 / x ) +( 1 / y );
W dalszym ciągu masz dzielenie całkowito-liczbowe.
P-168425
adrian.paz
Temat założony przez niniejszego użytkownika
» 2018-01-05 23:13:38
Dobra dzięki :) ja w ogóle dzisiaj chodze do tyłu :D W rezystancja() były inty w main() float.. Boże :D
P-168426
mateczek
» 2018-01-06 09:46:17
C/C++
#include <iostream>
using namespace std;

int main()
{
    int zmienna = 2;
    cout << 1 / zmienna << " NOK " << endl;
    cout << 1.0 / zmienna << " OK " << endl;
    cout << 1 /( double ) zmienna << " OK " << endl;
}
P-168428
« 1 »
  Strona 1 z 1