Wszystko się kompiluje ale nie działa procedura po funkcja wyswietlanie() tak jak powinno. Wyswietla się ten wybór ale jak sie wpisuje Y to guzik program konczy swoje działanie. Probowałem z switchem i z if-em. Nicziwo. plusy za naprawienie albo chociaż wstazówke.
Program w całości napisany przeze mnie :
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <fstream>
#include <string>
#include <ctype.h>
using namespace std;
char uczniowie[15];
int i;
int x;
int frekfencja[300];
int rrrr,mm,dd;
int a,b;
char wybor;
int suma;
int s;
int petla=3;
const string obecny= "obecny";
const string spozniony= "spozniony";
const string nieobecny= "nieobecny";
void sprawdzenie_poprawnosci_daty() // sprawdzanie poprawnosci poszegolnych miesiecy,dni
{
cout<<"Podaj dzisiejsza date: [dd.mm.rrrr]"<<endl;
cin>>dd;
cin>>mm;
cin>>rrrr;
if (mm>12)
{
cout<<"Nie ma tyle miesiecy w kalendarzu gregorianskim"<<endl;
getchar();
while(petla=4)
{
getchar();
}
}
if(mm==2 && dd>29)
{
cout<<"Luty nie ma wiecej niz 29 dni :)"<<endl;
system("PAUSE");
while(petla=4)
{
getchar();
}
}
if ((mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12) && (dd>31))
{
{
switch(mm)
{
case 01:
cout<<"Styczen nie ma wiecej niz 31 dni :)"<<endl;;
getchar();
while(petla=4)
{
getchar();
}
break;
case 03:
cout<<"Marzec nie ma wiecej niz 31 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 05:
cout<<"Maj nie ma wiecej niz 31 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 07:
cout<<"Lipiec nie ma wiecej niz 31 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 8:
cout<<"Sierpien nie ma wiecej niz 31 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 10:
cout<<"Pazdziernik nie ma wiecej niz 31 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 12:
cout<<"Grudzien nie ma wiecej niz 31 dni :) " <<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
default:
cout <<"Koniec programu"<<endl;
while(petla=4)
{
getchar();
}
}
}
}
if ((mm==4 || mm==6 || mm==9 || mm==11 ) && (dd>30))
{
switch(mm)
{
case 4:
cout<<"Kwiecien nie ma wiecej niz 30 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 6:
cout<<"Czerwiec nie ma wiecej niz 30 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 9:
cout<<"Wrzesien nia ma wiecej niz 30 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
case 11:
cout<<"Listopad nie ma wiecej niz 30 dni :)"<<endl;
getchar();
while(petla=4)
{
getchar();
}
break;
default:
cout <<"Koniec programu"<<endl;
while(petla=4)
{
getchar();
}
}
}
}
void pobieranie_uczniow()
{
for(i=0;i<15;i++)
{suma++;
cout<<"Program Dziennik uczniow. Created by LEOS"<<endl;
cout<<"1- OBECNY ; 2- SPOZNIONY ; 3- NIEOBECNY"<<endl;
cout<<"Podaj status "<<suma<<" ucznia"<<endl;
cin>>uczniowie[i];
}
//system("cls");
}
/* for (s=0;s<15;s++)
{
istringstream iss(uczniowie[i]);
iss >> i;
// uczniowie[i] = toupper(uczniowie[i]);
}
switch(uczniowie[i])
{
case 'O':
uczniowie[i]=obecny;
break;
case 'S':
uczniowie[i]=spozniony;
break;
case 'N':
uczniowie[i]=nieobecny;
break;
}*/
void wyswietlanie()
{
cout<<"Czy chcesz wyswietlic i sprawdzic poprawnosc uczniow? (y-tak/n-nie)"<<endl;
cin>>wybor;
suma=0;
for(int i = 0; i <= 2; i++)
{
wybor = toupper(wybor);
}
switch(wybor)
{
case 'Y':
for ( int i=0;i<15;i++)
suma++;{
/*{
if(uczniowie[i]==1)
{
cout<<"Uczen "<<suma<<" jest "<<obecny<<";"<<endl;
}
if(uczniowie[i]==2)
{
cout<<"Uczen "<<suma<<" jest "<<spozniony<<";"<<endl;
}
if(uczniowie[i]==3)
{
cout<<"Uczen "<<suma<<" jest "<<nieobecny<<";"<<endl;
}
*/
switch(uczniowie[i])
case 1:
cout<<"Uczen "<<suma<<" jest "<<obecny<<";"<<endl;
break;
case 2:
cout<<"Uczen "<<suma<<" jest "<<spozniony<<";"<<endl;
case 3:
cout<<"Uczen "<<suma<<" jest "<<nieobecny<<";"<<endl;
break;
}
break;
case 'N':
break;
}
}
int main()
{
sprawdzenie_poprawnosci_daty();
pobieranie_uczniow();
wyswietlanie();
system("PAUSE");
return 0;
}