FAQ  Szukaj  Użytkownicy  Grupy  Statystyki  Rejestracja  Zaloguj


Poprzedni temat :: Następny temat
zadanie c++ spoj
Autor Wiadomość
norbi123 
Programista



Wiek: 17
Dołączył: 10 Mar 2008
Posty: 120
Skąd: Jarocin
Wysłany: 2008-07-04, 15:24   zadanie c++ spoj

Zabralem sie za zadania z strony spoj.pl i na dobry poczatek chcialem zrobic zadanie http://pl.spoj.pl/problems/CALC/ nie wiem zbytnio na jakiej zasadzie system to ocenia ale pokazuje mi ze "błedna odpowiedz". Oto kod programu prosze o pomoc w poprawnym zrobieniu tego kalkulatora.
Kod:

#include<iostream.h>
main()

{
       int s,d,g,h,k,l,x,c,b,n;
    cout << "Podaj dwie liczby potwierdzajac kazdo razowo enterem \n";
    cout << "Dodawanie\n";
       cin >> s;
       cin >> d;
       cout << "Odejmowanie\n";
       cin >> g;
       cin >> h;
       cout << "Mnozenie\n";
       cin >> k;
       cin >> l;
       cout << "Dzielenie\n";
       cin >> x;
       cin >> c;
       cout << "Obliczanie reszty z dzielenia liczb całkowitych\n";
       cin >> b;
       cin >> n;
       cout << "\n";
       cout << "+"  << "\t"<<  s  << "\t"<<  d << "\n";
       cout << "-"  << "\t"<<  g  << "\t"<<  h << "\n";
       cout << "*"  << "\t"<<  k  << "\t"<<  l << "\n";
       cout << "/"  << "\t"<<  x  << "\t"<<  c << "\n";
       cout << "%"  << "\t"<<  b  << "\t"<<  n << "\n";
       cout << "\n";
       cout <<  s+d << "\n";
       cout <<  g-h << "\n";
       cout <<  k*l << "\n";
       cout <<  x/c << "\n";
       cout <<  b%n << "\n";
       
       }
 
 
     
marczak 
Wygadana bestia



Wiek: 19
Dołączył: 01 Mar 2008
Posty: 354
Skąd: z nienacka
Wysłany: 2008-07-04, 15:46   

Ja osobiscie bym to zrobil w taki sposob. Jak w zalozeniach trzeba podac fragment np
Kod:
* 7 7
oddzielajac kolejne dane spacjami wtedy po nacisnieciu entera wyskoczy
Kod:
wynik: 49


Kod programu:
Kod:
#include<iostream>
using namespace std;
int main()
{
    double wynik;
    char znak;
    int liczba1, liczba2;
    for (int i=1; i<5; i++)
        {
             cin>>znak;
        switch(znak)
        {
        case '+' : cin>>liczba1; cin>>liczba2; wynik=liczba1+liczba2; cout<<"wynik: "<<wynik<<endl; break;
        case '-' : cin>>liczba1; cin>>liczba2; wynik =liczba1-liczba2;cout<<"wynik: "<<wynik<<endl; break;
        case '*' : cin>>liczba1; cin>>liczba2; wynik =liczba1*liczba2;cout<<"wynik: "<<wynik<<endl; break;
        case '/' : cin>>liczba1; cin>>liczba2; wynik =liczba1/liczba2;cout<<"wynik: "<<wynik<<endl; break;
        case '%' : cin>>liczba1; cin>>liczba2; wynik =liczba1%liczba2;cout<<"wynik: "<<wynik<<endl; break;
        }       
       
    }
   
    system("Pause");
}
_________________
Gość Przeczytaj regulamin zanim zaczniesz przygode z forum.
Przed napisaniem nowego tematu uzyj opcji szukaj
 
 
     
norbi123 
Programista



Wiek: 17
Dołączył: 10 Mar 2008
Posty: 120
Skąd: Jarocin
Wysłany: 2008-07-04, 16:56   

no moze byc i tak ale spoj nadal wyswietla bledna odpowiedz:)
 
 
     
nygga 
super heros



Dołączył: 01 Maj 2008
Posty: 76
Wysłany: 2008-07-04, 22:03   

a nie wystarczy czasem proste
Kod:
#include <iostream>
using namespace std;
int main() {
    char operation;
    int x, y;
   
    cin >> operation >> x >> y;
   
    switch(operation) {
        case '+': cout << x+y; break;
        case '-': cout << x-y; break;
        case '*': cout << x*y; break;
        case '/': cout << x/y; break;
        case '%': cout << x%y; break;
    }
    return 0;
}


i ewentualnie zapetlic "pewna" ilosc razy?
 
     
norbi123 
Programista



Wiek: 17
Dołączył: 10 Mar 2008
Posty: 120
Skąd: Jarocin
Wysłany: 2008-07-05, 07:45   

No nie za bardzo wg systemu poprawiania nadal jest cos zle....
 
 
     
nygga 
super heros



Dołączył: 01 Maj 2008
Posty: 76
Wysłany: 2008-07-05, 08:27   

już chyba wiem o co chodzi, jak znajde chwile czasu to to napisze bo jest troszke roboty z rozbijaniem tablicy charow :/
 
     
Paaavlo 
C/C++ Programmer



Wiek: 15
Dołączył: 08 Kwi 2008
Posty: 64
Skąd: Rzeszów
Wysłany: 2008-07-05, 20:52   

Program na wyjście ma zwracać tylko i wyłącznie odpowiedź. Bez żadnych tekstów typu: "Wynik". Wszystkie dane wejściowe muszą być wczytywane w postaci przedstawionej na przykładzie, to samo jest z wyjściem.

Nie można również zatrzymywać programu po wszystkich obliczeniach tzn. nie można używać np.:
Kod:
system("PAUSE");


Wszystko to jest spowodowane tym, że programy są sprawdzane nie przez ludzi tylko przez komputer, który ma jasno zdefiniowany wzorzec programu. Niestety :/

[ Dodano: 2008-07-06, 08:55 ]
Cytat:
Na wejście programu podana zostanie pewna liczba zestawów danych.

A więc musisz dostosować program tak aby pobierał dane dopóki one się pojawiają...
___________________________________________________________________________
Po tym wszystkim kod powinien wyglądać tak:
Kod:
#include <iostream>

using namespace std;
int main()
{
    char operation;
    int x, y;
   
    while(cin >> operation >> x >> y)
    {
        switch(operation)
        {
            case '+': cout << x+y << "\n"; break;
            case '-': cout << x-y << "\n"; break;
            case '*': cout << x*y << "\n"; break;
            case '/': cout << x/y << "\n"; break;
            case '%': cout << x%y << "\n"; break;
        }
    }
    return 0;
}
_________________
paaavl0.wordpress.com
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Stronę monitoruje stat24 website monitoring service



Wymiana Linkiem
Forum Komputerowe | PcPlanet |Forum eKing.pl | Warez | www.warezik.eu | Forum GSM | Serwis SonyEricsson | Robert Kubica | Darmowe dzwonki i motywy | Sony Ericsson Forum | gsmfon.org - GSM | Aukcje EMAR
Strona wygenerowana w 0,23 sekundy. Zapytań do SQL: 13