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

Program nie oblicza wartości procentowej

Object Storage Arubacloud
+2 głosów
1,069 wizyt
pytanie zadane 9 kwietnia 2015 w C i C++ przez TheBan Obywatel (1,400 p.)
edycja 9 kwietnia 2015 przez TheBan
#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>
using namespace std;
string login,haslo;
float x,y,kosztk,koszts,z,podatek,podateks,vat;
int wybor;
 
 
void kal()
{
 
    cout <<endl<< "Podaj 1. liczbe: " << endl;
    cin >> x;
    cout << "Podaj 2. liczbe: "<<endl;
    cin >> y;
    cout << "KALKULATOR"<<endl;
    cout << "--------------"<<endl;
    cout << "1.Dodawanie"<<endl;
    cout << "2.Odejmowanie"<<endl;
    cout << "3.Mnozenie"<<endl;
    cout << "4.Dzielenie"<<endl;
    cout << "5.Koniec programu"<<endl;
 
    cout << "Wybierz: ";
    cin >> wybor;
 
     switch (wybor)
        {
        case 1:
        cout<<"Suma = "<<x+y;
        break;
 
        case 2:
         cout<<"roznica = "<<x-y;
        break;
 
        case 3:
        cout<<"Iloczyn = "<<x*y;
        break;
 
        case 4:
            if (y==0) cout<< "Nie dzielimy przez zero";
        else cout<<"Iloraz = "<<x/y;
        break;
 
        case 5:
        exit(0);
        break;
 
        default: cout <<"Nie ma takiej opcji!";
        }
 
 
    getchar();getchar();
    system("cls");
 
}
 
void drugi()
{
    string imie,odpowiedz;
 
    cout<<"Podaj nazwe firmy: ";
    cin >> imie;
    cout<<"kupuje czy sprzedaje : ";
 
    cin>>odpowiedz;
    if(odpowiedz=="kupuje")
    {
        cout<<"firma "<<imie<<endl;
        cout<<" kupuje produkt."<<endl;
         cout<<"ile kosztowalo kupno:"<<endl;
          cin >> kosztk;
        cout<<"wartosc = "<<kosztk-z;
        cout<<"ile % podatku:";
          cin >> podatek;
           cout<<"podatek wynosi "<<podatek-z<<"%";
          cout<<"podatek wynosi "<<podatek*kosztk<<"%";
    }
    else
    {
        cout<<"firma "<<imie;
       cout<<" sprzedaje produkt."<<endl;
       cout<<"ile kosztowala sprzedaz:"<<endl;
          cin >> koszts;
        cout<<"wartosc = "<<koszts-z;
          cout<<"ile % podatku:"<<endl;
          cin >> podateks;
           cout<<"podatek wynosi "<<podateks-z<<"%";
    }
 
     cout << "Wybierz czynnosc:\n";
        cout << "1.Przejdz do kalkulatora"<<endl;
        cout << "2. Zakoncz program\n";
        cin >> wybor;
 
        switch (wybor)
            {
            case 1:
            kal();
            break;
 
            case 2:
            drugi();
            break;
 
            default: cout <<"Nie ma takiej opcji!";
            }
 
 
}
 
int main()
{
    cout << "Witaj w M.S.C. ";
    cout << "podaj login: ";
    cin >> login;
    cout << "podaj haslo: ";
    cin >> haslo;
 
    if ((login=="M.S.C.")&&(haslo=="123"))
    {
        cout <<"logowanie zakonczone sukcesem M.S.C ukonczone\n";
 
    while (true)
    {
 
 
        cout << "Wybierz program:\n";
        cout << "1.Kalkulator"<<endl;
        cout << "2.VAT"<<endl;
        cout << "3. Koniec programu\n";
        cin >> wybor;
 
        switch (wybor)
            {
            case 1:
            kal();
            break;
 
            case 2:
            drugi();
            break;
 
            case 3:
            exit(0);
            break;
 
            default: cout <<"Nie ma takiej opcji!";
            }
 
    }
    }
    else
        cout <<"Wpisales bledny login lub haslo";
 
 
    return 0;
}

cout<<"podatek wynosi "<<podateks-z<<"%"; //Pragnę zrobić ,aby po wpisaniu uznajmy 30% aby np.cena wynosiła 200 zł a działanie 200*30%

Wyjasnię na przykładzie np.Pani w sklepie

Witam chce pan wziąć długopis ile on kosztuje niech pan mi powie

Klient:2zł

A ile vat?

Klient:23%

acha dobrze to(działanie w głowie) 2*23%=0,46  brutto 2+0,46=2,46zł 

pani:NIech pan da 2,46zł

4 odpowiedzi

+1 głos
odpowiedź 9 kwietnia 2015 przez niezalogowany
wybrane 9 kwietnia 2015 przez TheBan
 
Najlepsza
#include <iostream>
using namespace std;int main()
{
double long liczba,procent,wynik,wynik2,r;
    cout<<"Podaj liczbe: ";
    cin >> liczba;
    cout<<"Podaj procent: ";
    cin >> procent;
    wynik=liczba*procent;
    wynik2=wynik/100;
    cout<<procent <<"%" <<" z liczby " <<liczba <<" to " <<wynik2<<endl;
    // troche duzy kod, nie chce mi sie poprawiac, tak liczymy % z liczby i ile to jest...
    r=liczba+wynik2;
    cout<<"Razem: "<<r<<endl; //razem
}

Witam, taki cuś na szybko, o to ci chodziło?

komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
przywrócone 9 kwietnia 2015 przez TheBan
Tak dzięki :)
+1 głos
odpowiedź 9 kwietnia 2015 przez Sojtin Obywatel (1,030 p.)
Trochę nie potrzebnie przekleiłeś cały kod programu bo nie wiele z tego wynika, jeśli dobrze zrozumiałem chcesz powiększyć liczbę "x" o dany procent?

x = 200
podatek = 30 // procent podatku
wartosc_podatku = x * (podatek/100)
komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
Chodzi o to że program mi nie oblicza procent z liczby tylko zamiast 300*23% jest 300*23"%" i nie wiem jak zrobić w skrypcie ,by było 300*23%
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
300*23 / 100, no przeciez procent to jedna setna.
komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
TYLKO ,ŻE LICZBA MA BYĆ LOSOWA ZALEŻY CO UŻYTKOWNIK WPISZE
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
ale co jest losowe, procent podatku czy liczba do wymnożenia?
komentarz 9 kwietnia 2015 przez Sojtin Obywatel (1,030 p.)
Zedytuj swój post tak by był czytelny, umieść fragment programu z którym masz problem, a nie cały program(kożystaj ze znaczników "code"). Procent w programowaniu jest operatorem reszty z dzielenia, nie kożystaj z zapisu x * 30% tylko x * (30/100).
komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
Wyjanię na przykładzie np.Pani w sklepie

Witam chce pan wziąć długopis ile on kosztuje niech pan mi powie

Klient:2zł

A ile vat?

Klient:23%

acha dobrze to(działanie w głowie) 2*23%=0,46  brutto 2+0,46=2,46zł

pani:NIech pan da 2,46zł
komentarz 9 kwietnia 2015 przez Sojtin Obywatel (1,030 p.)

[...] acha dobrze to 2 * (23/100) = 0,46...

komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)

No dobra, musisz skodzić to tak.

int kwota;
int vat;
double wynik;

cin >> kwota >> vat;
wynik = kwota + (kwota*vat/100.00);

cout << wynik << endl;

Mój program wypisze 2.46

+1 głos
odpowiedź 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)

Teraz wszystko dokładnie wytłumaczę:


int kwota; //kwota bez podatku
int vat; //zmienna przechowujaca podatek vat w procentach
double wynik; /*zmienna przechowujaca wynik, zmiennoprzecinkowa no bo liczac podatek 
nie zawsze uzyskamy całkowite liczby */
cin >> kwota >> vat; //wejscie programu
wynik = kwota + (kwota*vat/100.00); //obliczenie wyniku z definicji procenta
 
cout << wynik << endl; //wypisanie wyniku na ekran

 

komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)

Sory ,że tak wrednie poprszę ,ale nigdy nie znałem komendy double oraz  nie rozumiem kodu wynik = kwota + (kwota*vat/100.00); bo wygląda to jak czysty wpisany na szybko kod więc proszę cię o wpisanie tego w mój kod ,gdyż jest to dla mnie sporym problemem

Pozdrawiam :) Już kto dał kod i to jest problematyczne komu dać V tobie ,że byłe pierwszy jednak z problemami czy jemu bo dał odrazu dobrą odpowiedź...;(

komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)

To nie jest komenda, tylko typ zmiennej. Oznacza ona liczbę z przecinkiem, np 2.46. Zwykły int tego nie przechowa. Nie musisz właściwie tego double robić, wystarczy

cout << kwota + (kwota*vat / 100)

Ta linijka wynika z definicji procenta, jak masz 23% to jest 23/100 i umnie w kodzie to jest kwota * 23 / 100 więc kwota * procent. Pozdrawiam

 

komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
cin >> kosztk;
        cout<<"wartosc = "<<kosztk-z;
        cout<<"ile % podatku:";
          cin >> podatek;
           cout<<"podatek wynosi "<<podatek-z<<"%";
          cout<<"podatek wynosi "<<podatek*kosztk<<"%";
          cout << kwota + (kwota*vat/100);
    }
    else
    {
        cout<<"firma "<<imie;
       cout<<" sprzedaje produkt."<<endl;
       cout<<"ile kosztowala sprzedaz:"<<endl;
          cin >> koszts;
        cout<<"wartosc = "<<koszts-z;
          cout<<"ile % podatku:"<<endl;
          cin >> podateks;
           cout<<"podatek wynosi "<<podateks-z<<"%";
    }
  
     cout << "Wybierz czynnosc:\n";
        cout << "1.Przejdz do kalkulatora"<<endl;
        cout << "2. Zakoncz program\n";
        cin >> wybor;
  
        switch (wybor)
            {
            case 1:
            kal();
            break;
  
            case 2:
            drugi();
            break;
  
            default: cout <<"Nie ma takiej opcji!";
            }

 

Napisałem tak jak kazałe i wyskakuje błąd czy co źle wstawiłem ?
komentarz 9 kwietnia 2015 przez TheBan Obywatel (1,400 p.)
Witaj w M.S.C. podaj login: M.S.C.
podaj haslo: 123
logowanie zakonczone sukcesem M.S.C ukonczone
Wybierz program:
1.Kalkulator
2.VAT
3. Koniec programu
2
Podaj nazwe firmy: Mk
kupuje czy sprzedaje : kupuje
firma Mk
 kupuje produkt.
ile kosztowalo kupno:
200
wartosc = 200ile % podatku:23
podatek wynosi 23%0Wybierz czynnosc:
1.Przejdz do kalkulatora
2. Zakoncz program

O to skrypt który włącza się po włączeniu nie oto mi chodziło...
0 głosów
odpowiedź 9 kwietnia 2015 przez GrzesiekB Gaduła (3,720 p.)
Nie analizuje kodu, bo C dawno nie ćwiczyłem. W PHP jednak często robię takie rzeczy. Procenty zamień na liczbę dziesiętną (ułamek) i wtedy wykonaj działanie. Z tego co pamiętam C pilnuje typów danych więc zarówno wejście jak i wyjście musi obsługiwać liczby dziesiętne.
komentarz 9 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
Wogóle ten kod taki nieczytelny. Co ten program wogóle robi. Opisz zmienne, skróć kod bo masz chyba 3 programy w jednym. Wtedy na pewno ktoś pomoże.

Podobne pytania

0 głosów
2 odpowiedzi 3,316 wizyt

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...