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

Zadanie C++, problem z deklaracją zmiennych

Object Storage Arubacloud
0 głosów
181 wizyt
pytanie zadane 3 kwietnia 2020 w C i C++ przez toja123321 Nowicjusz (220 p.)

Witam, proszę o pomoc w zadaniu w c++, problem mój dotyczy deklaracji int ocena1; int ocena2; int ocena3. Wiem, że w kodzie mam błąd, nie powinien wszędzie dawać intów, problem polega na tym że nie wiem jak napisać kod, żeby w programie odczytywały mi się oceny zmiennych, które już wpisałem wcześniej i na podstawie tych ocen obliczyła mi się suma oraz średnica. Ja zadeklarowałem do każdego te same nowe zmienne, że tylko odpalić program. Liczę na waszą pomoc! :D 

#include <iostream>

using namespace std;
struct student {
 string imie;
 string nazwisko;
 int ocena1;
 int ocena2;
 int ocena3;};
student wczytaj();
void wyswietl(student s);
float srednia(student s);
bool czyPozytywne (student s);
int main()
{
 student wynik;
 wynik=wczytaj();
 wyswietl(wynik);
 return 0;
}
student wczytaj()
{
    int ocena1;
    int ocena2;
    int ocena3;
    int suma=0;


 student s;
 cout<<"Podaj imie studenta: \n "; cin>>s.imie;
 cout<<"Podaj nazwisko studenta: \n"; cin>>s.nazwisko;

 {
 cout<<"Podaj ocene 1: "; cin>>ocena1;
 cout<<"Podaj ocene 2: "; cin>>ocena2;
 cout<<"Podaj ocene 3: "; cin>>ocena3;
 }
 for(int licznik=ocena1;licznik=ocena2;licznik++)
 suma+=licznik;
 cout<<"Suma liczb to "<<suma<<"\n";

 return s;
}

float srednia (student s)
{
 float suma=0;
 float srednia=0;
 for (int i=0; i<3; i++)

 srednia=suma/3;
 return srednia;
}
bool OcenyPozytywne(student s)
{int ocena1;
    int ocena2;
    int ocena3;
     if (ocena1,ocena2,ocena3>=3)
 {return true;}
 else
 {
 return false;
 }
}

void wyswietl(student s)
{
 cout<<"Imie: \n"<<s.imie<<endl;
 cout<<"Nazwisko: \n"<<s.nazwisko<<endl;
 for (int i=0; i<3; i++)
 {int ocena1;
    int ocena2;
    int ocena3;
 cout<<"Ocena \n 1: "<<ocena1<<endl;
 cout<<"Ocena \n 2: "<<ocena2<<endl;
 cout<<"Ocena \n 3: "<<ocena3<<endl;
 }
 cout<<"Srednia ocen wynosi: \n"<<srednia(s)<<endl;

 

1 odpowiedź

0 głosów
odpowiedź 3 kwietnia 2020 przez tangarr Mędrzec (154,860 p.)

1. Zmienne ocena1, ocena2, ocena3 powinieneś używać tak samo jak imie i nazwisko

2. Pętle do obsługi ocen miały by sens gdybyś trzymał je w jakimś kontenerze a nie w osobnych zmiennych

Poprawiłem twój kod. Porównaj i przeanalizuj zmiany.

#include <iostream>

using namespace std;

struct student {
    string imie;
    string nazwisko;
    int ocena1;
    int ocena2;
    int ocena3;
};

student wczytaj();
void wyswietl(student s);
float srednia(student s);
bool czyPozytywne (student s);

int main()
{
    student wynik;
    wynik=wczytaj();
    wyswietl(wynik);
    return 0;
}
student wczytaj()
{
    student s;
    cout<<"Podaj imie studenta: "; cin>>s.imie;
    cout<<"Podaj nazwisko studenta: "; cin>>s.nazwisko;

    cout<<"Podaj ocene 1: ";
    cin>>s.ocena1;
    cout<<"Podaj ocene 2: ";
    cin>>s.ocena2;
    cout<<"Podaj ocene 3: ";
    cin>>s.ocena3;

    int suma = s.ocena1 + s.ocena2 + s.ocena3;
    cout<<"Suma liczb to "<<suma<<"\n";

    return s;
}

float srednia (student s)
{
    float suma = s.ocena1+s.ocena2+s.ocena3;
    float srednia = suma/3;
    return srednia;
}
bool OcenyPozytywne(student s)
{
    if (s.ocena1 > 1 && s.ocena2 > 1 && s.ocena3 > 1)
        return true;
    else
        return false;
}

void wyswietl(student s)
{
    cout<<"Imie: "<<s.imie<<endl;
    cout<<"Nazwisko: "<<s.nazwisko<<endl;

    cout<<"Ocena 1: "<<s.ocena1<<endl;
    cout<<"Ocena 2: "<<s.ocena2<<endl;
    cout<<"Ocena 3: "<<s.ocena3<<endl;
    cout<<"Srednia ocen wynosi: "<<srednia(s)<<endl;
}

 

Podobne pytania

–2 głosów
1 odpowiedź 198 wizyt
pytanie zadane 22 marca 2020 w C i C++ przez nyaxyt101 Nowicjusz (210 p.)
0 głosów
1 odpowiedź 277 wizyt
pytanie zadane 5 sierpnia 2019 w C i C++ przez martin1724 Użytkownik (690 p.)
0 głosów
1 odpowiedź 195 wizyt

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

61,948 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!

...