odnosnie Quizu

somer77
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 18 sty 2008, o 11:14
Płeć: Mężczyzna
Lokalizacja: Miechów

odnosnie Quizu

Post autor: somer77 »

mam takie cos:

Kod: Zaznacz cały

#include <iostream>    /* Standardowe funkcje wejscia/wyjscia */
#include <string>   /* Funkcje przetwarzania tekstu */
#define DOS  
#include <conio.h> 
#ifndef EXIT_SUCCESS
#define EXIT_SUCCESS 0
#endif
#ifndef EXIT_FAILURE
#define EXIT_FAILURE 1
#endif
#include <fstream> 
#include <string> 

using namespace std;

int pytanie1,pytanie2;
int punkty=0;
int start(void);
int odp(void);
int info(void);


void /*inline*/ wyczysc_ekran(void)
{
#ifdef DOS
	system("cls");
#elif UNIX
	system("clear");
#else
 #define ROWS 40
	for (int i = 0; i < ROWS; i++)
		cout<<"\n";   /* Wyswietl puste linie */
 #undef ROWS
#endif
}

void /*inline*/ potwierdzenie(void)
{
#ifdef DOS
	cout<<"\n   ";
	system("pause");
#else
	cout<<"\n   Nacisnij ENTER, aby kontynuowac...");
	while (getchar() != '\n');
#endif
}


int main(void)
{
char wybor;

	do  /* Petla do-while musi wykonac sie przynajmniej raz */
	{
        
			wyczysc_ekran();/* Menu glowne programu */
        cout<< "    [1]  start   \n\n"
			   "    [2]  odp     \n\n"
			   "    [3]  info        \n\n"
               "    [0]  wyjscie z programu\n\n"<<endl;
        
        cout<<"wybierz opcje :  ";

        wybor = getchar();
         wyczysc_ekran();

	switch (wybor)
		{
			case '1' : start();
				break;
			case '2' : odp();
			break;
			case'3'  :info();
			break;
			case '0' :
				break;
			default :
                    {
                    cout<<"nie ma takiej opcji";
                    potwierdzenie();
                    return EXIT_FAILURE;
                    }
			break;
		}
	} 
    while (wybor != '0');
	printf("\n   ZAMYKANIE PROGRAMU \n");
	potwierdzenie();
	return EXIT_SUCCESS;
}
int start(void)
{
    
wyczysc_ekran();

    
  int punkty=0; 
  int i=0; 
  string odp,odp_prawidlowa; 
  
 

{
      cout << "tresc pytania nr1\n\n"
      "a)aaaaaaa\n"
      "b)bbbbbbbbb\n "<<endl; 
      odp_prawidlowa="a"; 
       cin >> odp; 
       if(odp==odp_prawidlowa) 
       { 
       cout << "odpowiedz poprawna"<<endl; 
       punkty++; 
       } 
       else 
       { 
       cout << "odpowiedz niepoprawna"<<endl; 
       } 
      
         potwierdzenie();
         wyczysc_ekran();
         
     
      cout << "tresc pytania nr2\n\n"
      "a)aaaaaaa\n"
      "b)bbbbbbbbb\n " <<endl; 
      odp_prawidlowa="b"; 
       cin >> odp; 
       if(odp==odp_prawidlowa) 
       { 
       cout << "odpowiedz poprawna"<<endl; 
       punkty++; 
       } 
       else 
       { 
       cout << "odpowiedz niepoprawna"<<endl; 
      
       } 
       potwierdzenie();
       wyczysc_ekran();
     cout<<"Twoj wynik:  ";
       cout<<"zdobyles "<<punkty<<"  punktow\n\n\n\n";
    
        cout<<"powrot do menu glownego\n\n";
        }
      potwierdzenie();
      
    return EXIT_SUCCESS  ;
    

}
int odp(void)
{
        char fileName [80];
        char buffer [255];
             cout<<"podaj nazwe pliku do odczytu:\n";
             cin>>fileName;
 
         ifstream fin(fileName);
         cout<<"Oto zawartosc pliku:\n";
 
        char ch;
 
        while(fin.get(ch))
 
         cout<<ch;
 
         cout<<"\n  *****Koniec zawartosci pliku*****\n";
 
           fin.close();
            system("pause");
                return 0;
       potwierdzenie();
                return EXIT_SUCCESS;
}


int info(void)
{
    cout<<"jest swietnie!!!";
    potwierdzenie();
    return EXIT_SUCCESS;
}

potrzebuje udoskonalic ten oto programik.mianowicie zeby nie wolno bylo wczytac innych znaków niz te z programu (czyli 1,2,3,0,a,b,c,d),po zakonczeniu testu i odczytaniu z pliku zeby wracalo do menu itp(ciekawe pomysły wskazane:)).prosze o pomoc i ewentualne wskazowki.z gory serdeczne dzieki

[ Dodano: 31 Stycznia 2008, 11:51 ]
nikt nie ma pomyslu??chodzi mi o te znaki ...z powrotem do menu juz sie uporalem
ODPOWIEDZ