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

Jak zastosować pętlę while?

Object Storage Arubacloud
0 głosów
313 wizyt
pytanie zadane 1 kwietnia 2020 w C i C++ przez Atman Użytkownik (810 p.)

Mam zadanie na oceny studenckie, które już wykonałem. Jednak mam jeszcze dodatkowe polecenie polegające na dopisaniu fragmentu programu, który wyświetla na konsoli wszystkie oceny zapisane w tablicy wraz z liczbą porządkową oceny i muszę to zrobić stosując pętlę while. Umiem to zrobić za pomocą pętli for ale na while nie mam pojęcia. Proszę o pomoc.

 

#include<iostream>

using namespace std;

int main()
{

int liczba;
float oceny;
int i;

cout<<"Podaj liczbe wprowadzanych ocen: ";
cin>>liczba;
cout<<endl;

float *tab;
tab=new float[liczba];

  
      if ((liczba<1)&&(liczba>20))
     {
      cout<<"Podano nieprawdilowa liczbe ocen.";

      system("PAUSE");
      return 0;
     }
	  cout<<"Mozliwe oceny uzyskane przez studenta: "<<endl<<endl;

	  cout<<"2.0"<<endl;
	  cout<<"3.0"<<endl;
	  cout<<"3.5"<<endl;
	  cout<<"4.0"<<endl;
	  cout<<"4.5"<<endl;
	  cout<<"5.0"<<endl;
	  cout<<"5.5"<<endl<<endl;

    for (i=0; i<liczba; i++)
    {

     cout<<"Podaj ocene studenta nr "<<i+1<<" : ";
     cin>>tab[i];

     if ((tab[i]!=2.0)&&(tab[i]!=3.0)&&(tab[i]!=3.5)&&(tab[i]!=4.0)&&(tab[i]!=4.5)&&(tab[i]!=5.0)&&(tab[i]!=5.5))
      {

      cout<<"Podana ocena jest nieprawidlowa.";
      system("PAUSE");
      return 0;
      }

    }

  
   system("PAUSE");

   return 0;

}

 

2 odpowiedzi

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

Pętla while(warunek) jest równoznaczna pętli for(;warunek;)

int i=0; // wyciągamy iterator do zmiennej poza pętlą
while (i<liczba)
    {
 
     cout<<"Podaj ocene studenta nr "<<i+1<<" : ";
     cin>>tab[i];
 
     if ((tab[i]!=2.0)&&(tab[i]!=3.0)&&(tab[i]!=3.5)&&(tab[i]!=4.0)&&(tab[i]!=4.5)&&(tab[i]!=5.0)&&(tab[i]!=5.5))
      {
 
      cout<<"Podana ocena jest nieprawidlowa.";
      system("PAUSE");
      return 0;
      }

    i++; // Inkrementacja iteratora
    }

 

0 głosów
odpowiedź 1 kwietnia 2020 przez DragonCoder Nałogowiec (36,500 p.)

Petla whie dziala podobnie do for, tylko ze sam musisz wykonac iteracje w niej, tzn

while (warunek) {
    //kod
    //iteracja
}

Przyklad

while (i<10) {
   std::cout << i << "\n";
   i++;
}

Wiec zamiast tego 10 mozesz wrzucic wielkosc tablicy, bo robisz dynamiczna alokacje przez pointer i zwiekszasz sobie i. Wiadomo musisz te i zadeklarowac i przypisac wartosc poczatkowa 0.

i nie zapomnij od zwolneiniu pamicii tej tablicy przez delate ;)

Podobne pytania

0 głosów
1 odpowiedź 421 wizyt
pytanie zadane 16 listopada 2017 w C i C++ przez kacper1445 Gaduła (4,880 p.)
0 głosów
3 odpowiedzi 1,491 wizyt
pytanie zadane 11 października 2018 w C i C++ przez Vitall Początkujący (400 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

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

...