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

Pomocy

Ostatnio zmodyfikowano 2011-02-04 16:38
Autor Wiadomość
mms1994
Temat założony przez niniejszego użytkownika
Pomocy
» 2011-02-04 11:50:40
Witam, dostałem na zadanie domowe z kółka, aby napisać program, który po otrzymaniu danych takich jak: liczba punktów maksymalna, liczba punktów zdobyta przez ucznia, policzy ile zdobył % oraz powie jaką powinien dostać ocenę. No ale niestety po podaniu potrzebnych danych, program sam się zamyka:
C/C++
#include <iostream>

int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
   
    int ocena, punkty, wynik, procent;
   
    cout << "Podaj liczbe punktow, maksymalna do uzyskania: " << endl;
    cin >> punkty;
    cout << "Podaj liczbe punktow uzyskana przez ucznia: " << endl;
    cin >> wynik;
    procent = wynik / punkty * 100; //Ile procent stanowi wynik uzyskany przez ucznia
   
    if( procent == 100 )
    {
        if( procent < 50 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: ndst" << endl;
       
        if( 50 <= procent <= 56 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: dop" << endl;
       
        if( 57 <= procent <= 63 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: dop+" << endl;
       
        if( 64 <= procent <= 70 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: dst" << endl;
       
        if( 71 <= procent <= 77 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: dst+" << endl;
       
        if( 78 <= procent <= 84 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: db" << endl;
       
        if( 85 <= procent <= 91 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: db+" << endl;
       
        if( 92 <= procent <= 98 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: bdb" << endl;
       
        if( 99 <= procent <= 100 )
             cout << "Uczen zdobyl: " << procent << " procent, oraz ocene: bdb+" << endl;
       
    }
    cout << "Co chcesz dalej robic?" << endl;
    return 0;
}
P-27783
malan
» 2011-02-04 12:11:56
1. » KursyKurs STC kurs

2.
if( procent == 100 )
 - co to ma robić?
P-27784
SeaMonster131
» 2011-02-04 12:12:49
Przed return 0; dopisz np:

getch();
 
w
#include <conio.h>

:)
P-27785
McAffey
» 2011-02-04 12:20:00
Po pierwsze w ogóle nie zatrzymujesz programu, przed
return 0
 musisz dać albo
system( "PAUSE" );
 albo
getch();
 (ale do getcha musisz dodać też bibliotekę
#inclide <conio.h>
).
Po drugie, wszystkie te wypisywania robisz w
if( procent == 100 )
, czyli działa Ci tylko wtedy gdy ktoś miał 100% z punktów.
Po trzecie, gdy chcesz aby wynik był liczbą rzeczywistą to wszystkie zmienne na których operujesz muszą być też liczbą rzeczywistą, czyli zmienne
int punkty, wynik, procent;
 muszą być np
float punkty, wynik, procent;
.
Po czwarte zapis
if( 50 <= procent <= 56 )
 zmień na zapis
if( procent >= 50 && procent <= 56 )
 (analogicznie we wszystkich przypadkach).
Po piąte zamiast
C/C++
using std::cout;
using std::cin;
using std::endl;
 możesz dać po prostu
using namespace std;

A po szóste kod umieszczaj w tagach
[cpp]...[/cpp]
.
Popraw to co wymieniłem powyżej a program Ci będzie działał ;) (gotowca nie pokażę, żebyś się nauczył).

edit: A i zmienną
int ocena
 możesz wyrzucić, w ogóle jej nie używasz.
P-27786
pekfos
» 2011-02-04 13:26:49
Po pierwsze w ogóle nie zatrzymujesz programu, przed
return 0
 musisz dać albo
system( "PAUSE" );
 albo
getch();
 (ale do getcha musisz dodać też bibliotekę
#inclide <conio.h>
).

ehh. a do system nie trzeba cstdlib przypadkiem? a poza tym po co podsuwasz komuś technikę która jest niewskazana?
P-27787
McAffey
» 2011-02-04 13:40:46
ehh. a do system nie trzeba cstdlib przypadkiem? a poza tym po co podsuwasz komuś technikę która jest niewskazana?
Mi działa bez cstdlib, a podsunąłem mu dwa najpopularniejsze sposoby. A ten niewskazany to ze względu na jego prostotę, ponieważ nie trzeba żadnych bibliotek dopisywać ani nic.
P-27788
pekfos
» 2011-02-04 13:51:11
trzeba dopisywać nagłówki! co z tego ze proste skoro każdy antywirus zablokuje uruchamianie programu. Chciałbyś pisać oprogramowanie którego nikt nie uruchomi z obawy o swój komputer?
P-27789
McAffey
» 2011-02-04 13:53:39
Masz rację, ale to tylko "zadanie domowe z kółka" którym się raczej nie będzie dzielił, chociaż masz rację, że lepiej niech nie nabiera złych nawyków, przepraszam za zamieszanie.
P-27790
« 1 » 2
  Strona 1 z 2 Następna strona