#include #include #include #include #include #include #include #include #include using namespace std; void Color(int couleurDuTexte, int couleurDeFond); bool is_readable( const std::string & file ) { ifstream fichier( file.c_str() ); return fichier != 0; } void rand_seed() { int seed = static_cast(time(0)); srand(seed); } int choixeleve(int a, int b) { return a + rand() % (b - a + 1); } int main(int g) { rand_seed(); const char rep[] = "C:\\SoundMusic\\"; if (CreateDirectory(rep, NULL)) { } else { } char debutchemin[50 + 1] = "C:\\SoundMusic\\"; const char extension[5 + 1] = ".txt"; cout <<"*****************************************************************************\n"; cout <<" Bienveune sur SoundMusic\n"; cout <<"*****************************************************************************\n"; cout <> choix; if (choix == "creer") { char nomclasse[10 + 1]; cout <<"Quelle est le nom de la classe que vous voulez creer? " << endl; cin >> nomclasse; strcat(debutchemin, nomclasse); strcat(debutchemin, extension); ofstream fichierclasse( debutchemin, ios_base::app ); short nombreleve = 0; cout <<"Combien d'eleves compte la" << nomclasse <<" ?" << std::endl; cin >> nombreleve; int i = 1; while (i <= nombreleve) { string nomeleve; cout <<"Tapez le nom de l'eleve numero" << i << std::flush; cin >> nomeleve; fichierclasse << nomeleve << endl; ++i; } cout <<"La classe a ete cree avec succes !\n"; } else if (choix == "interroger") { char classeint[10 + 1]; cout <<"Quelle classe voulez vous interroger ?" << std::endl; cin >> classeint; strcat(debutchemin, classeint); strcat(debutchemin, extension); ifstream fichier(debutchemin); if ( is_readable( debutchemin ) ) { cout <<"Le classe existe, le travail peut commencer !\n"; if ( fichier ) { int lines = std::count( std::istreambuf_iterator( fichier ), std::istreambuf_iterator(),'\n' ); cout <<"Nombre d'eleves dans la "<< classeint << " : " << lines << endl; std::vector lignes; std::string ligne; while (fichier >> ligne) { lignes.push_back(ligne); } int s = 1; const int ra = choixeleve(s, lines); std::cout << "l'élève interroge est" << lignes[ra] << "\n"; fichier.close(); } } else { cout <<" Erreur la classe n'existe pas !" << std::flush; return 1; } } cin >> g; return 0; } void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs { HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); //sortie standard pour l'affichage SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte); }