Witam, zamieszczam kod przepisany z książki Symfonia C++ :
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
enum etapy {nic, scenopis,proba_czytana,proba_kamerowa,nagranie = 6, montaz, postsynchron};
void stan_realizacji(etapy t[], int ile, int dzien_zdjeciowy);
int _tmain(int argc, _TCHAR* argv[])
{
const int liczba_scen = 10;
etapy scena[liczba_scen] = {scenopis,proba_czytana,proba_kamerowa};
int dzien_realizacji = 1;
scena[2] = nagranie;
scena[5] = montaz;
scena[9] = nagranie;
scena[4] = proba_kamerowa;
stan_realizacji(scena,liczba_scen,dzien_realizacji);
dzien_realizacji++;
scena[1] = proba_kamerowa;
scena[5] = postsynchron;
scena[0] = scenopis;
scena[8] = scenopis;
stan_realizacji(scena,liczba_scen,dzien_realizacji);
_getch();
}
//********************************************************************************
void stan_realizacji(etapy t[], int ile, int dzien_zdjeciowy)
{
cout << dzien_zdjeciowy << ". dzien realizacji filmu reklamowego" << endl;
cout << "Stan realizacji: " << endl;
for(int i = 0; i < ile; i++)
{
cout << "Scena nr " << i << ", ";
for(int k=0; k<t[k]; k++)
{
cout << "#";
}
cout << "\n";
}
}
Chodzi o ostatnią pętle w funkcji, coś się zawiesza i program wykonuje się tak :
1. dzien realizacji filmu reklamowego
Stan realizacji:
Scena nr 0, ###
Scena nr 1, ###
Scena nr 2, ###
Scena nr 3, ###
Scena nr 4, ###
Scena nr 5, ###
Scena nr 6, ###
Scena nr 7, ###
Scena nr 8, ###
Scena nr 9, ###
2. dzien realizacji filmu reklamowego
Stan realizacji:
Scena nr 0, ###
Scena nr 1, ###
Scena nr 2, ###
Scena nr 3, ###
Scena nr 4, ###
Scena nr 5, ###
Scena nr 6, ###
Scena nr 7, ###
Scena nr 8, ###
Scena nr 9, ###
A powinno być tak :
1. dzien realizacji filmu reklamowego
Stan realizacji:
Scena nr 0, #
Scena nr 1, ##
Scena nr 2, ######
Scena nr 3,
Scena nr 4, ###
Scena nr 5, #######
Scena nr 6,
Scena nr 7,
Scena nr 8,
Scena nr 9, ######
2. dzien realizacji filmu reklamowego
Stan realizacji:
Scena nr 0, #
Scena nr 1, ##
Scena nr 2, ######
Scena nr 3,
Scena nr 4, ###
Scena nr 5, #######
Scena nr 6,
Scena nr 7,
Scena nr 8, ###
Scena nr 9, ######
Ktoś wie dlaczego taką wartość otrzymuje ostatnia pętla zamiast t[0] i dlaczego się zawiesza? zmienna k jakby nie rosnie, jeszcze przed uruchomieniem petli t[0] = 1.
dodanie znaczników <code class="cpp">
- @furious programming