void menu(){ char ch; while(true){ if(exitNow){ break; } // TODO: OS specific console clear printMenuOptions(); ch=_getch(); switch(ch){ case '1': CpuTest::testSingleCore(); sendResult(CpuTest::getResultForTest(1)); break; case '2': CpuTest::testMultiCore(); sendResult(CpuTest::getResultForTest(2)); break; case '3': HddTest::testBad(); sendResult(HddTest::getResultForTest(1)); HddTest::testSlow(); sendResult(HddTest::getResultForTest(2)); #if defined(_WIN32) || defined(_WIN64) HddTest::testWindows(); sendResult(HddTest::getResultForTest(HDD_TESTS)); #endif break; case '4': exitNow=1; break; default: cout << "No such option." << endl; break; } if(ch == '1' || ch == '2' || ch == '3') askForMoreTest(); } }
int main(){ int option; do{ printMenuOptions(); scanf("%d",&option); switch(option) { case 0://Exit break; case 1://formula değerlendirme { printf("\nLutfen tablonun degeri giriniz :\n"); printf("\t \"default\" de girdiribilirsiniz :\n>"); scanf("%s",girdi); if(strcmp(girdi,"default")==0) strcpy(girdi,"4,3,10,34,37,=A1+B1+C1,40,17,34,=A2+B2+C2,=A1+A2,=B1+B2,=C1+C2,=D1+D2"); createTableFromString(girdi); calculateAndPrint(); printf("\n\n\n"); break; } case 2://satir ekleme { if(Height==MAX_ROWS){ printf("\nDaha fazla bir satir eklenmez, bir tane satir silerek yeni bir satir ekleyebilirsiniz"); break; } int newLineIndex; do{ printf("\nLutfen ekleyeceksin satir hangi satirdan sonra giriniz (0-%d) arasinda> ",Height); scanf("%d",&newLineIndex); if(newLineIndex>Height){ printf("\nSu kadar satirlar zaten yok, lutfen %d dan daha az degerler giriniz",Height); } if(newLineIndex<0){ printf("\nSifir yada sifirdan daha buyuk bir sayi giriniz."); } }while((newLineIndex>Height) || (newLineIndex<0)); //Bir satır okuyoruz kullancıdan char newLine[MAX_COLUMNS][MAX_CHARS] ; getLineContent(newLine); //okuduğumuz satır matrise ekliyoruz insertLine(inputTable,newLineIndex,newLine); //Bizim boyutlarımız güncelliyoruz Height++; //Yeniden hesaplıyoruz ve ekrende yazıyoruz calculateAndPrint(); break; } case 3://satir silme { int lineToRemoveIndex; do{ printf("\nLutfen sileceksiniz satirin indexi giriniz (1-%d) arasinda>",Height); scanf("%d",&lineToRemoveIndex); //lineToRemoveIndex--;//Because 0-based index if((lineToRemoveIndex>Height) || (lineToRemoveIndex<=0)){ printf("\nDogru bir satir indexi giriniz lutfen.\n"); } }while((lineToRemoveIndex>Height) || (lineToRemoveIndex<=0)); //Bu satır siliyoruz removeLine(inputTable, lineToRemoveIndex-1);//Because 0-based index //Boyutlarımız güncelliyoruz Height--; //Yeniden hesaplıyoruz ve ekrende yazıyoruz calculateAndPrint(); break; } case 4://Hucre degeri degiştirme { int i,j; //doğru bir hücre okuyacağız kadar yeni bir hücre yeri okuyoruz do{ readCoordinates(&i,&j); if((i>Height) || (i<0) || (j>Width) || (j<0)){ printf("\nBoyle bir hucre bulunmadi. Lutfen yeniden giriniz."); } }while((i>Height) || (i<0) || (j>Width) || (j<0)); char cell[MAX_CHARS]; printf("\nLutfen hucrenin yeni degeri giriniz>"); //Bu hücrenin değeri okuyoruz scanf("%s",cell); //doğru yerinde koyuyoruz strcpy( (*(inputTable+i))+j,cell); //Yeniden hesaplıyoruz ve ekrende yazıyoruz calculateAndPrint(); break; } case 5://Filterleme { int filter; printf("\nHangi sayi'ye gore filterleyeceksiniz>"); scanf("%d",&filter); printFilteredArray(filter); break; } } }while(option!=0);//Kullancı çıkma seçenek seçecek kadar bu menü yazıyoruz ve soruyoruz return 0; }
void handleMainMenu(void) { BOOL isSelected = FALSE; int menuOption = 0; textClear(); gp2x_video_RGB_setscaling(320, 240); while(!isSelected) { unsigned long pad = gp2x_joystick_read(0); printMenuOptions(); gp2x_printf(0, 170, 1, "MenuOption = %d",menuOption); gp2x_printf(0, 0, (31 + (menuOption*8)), "->"); gp2x_video_RGB_flip(0); if(pad & GP2X_RIGHT) { if((menuOption == MMOPTION_SAVESTATE) || (menuOption == MMOPTION_LOADSTATE)) saveSlot++; } if(pad & GP2X_LEFT) { if((menuOption == MMOPTION_SAVESTATE) || (menuOption == MMOPTION_LOADSTATE)) saveSlot--; } if(pad & GP2X_DOWN) { menuOption++; textClear(); } if(pad & GP2X_UP) { menuOption--; textClear(); } if(pad & GP2X_VOL_DOWN) if(pad & GP2X_START) exitMenu(); if(pad & GP2X_X) { switch(menuOption){ case MMOPTION_CONTINUE: RESIZE(); textClear(); return; case MMOPTION_RESTART: RESIZE(); supervision_reset(); textClear(); return; case MMOPTION_SELECTOR: handleFileMenu(); return; case MMOPTION_OPTIONS: handleOptionsMenu(); textClear(); return; case MMOPTION_SAVESTATE: sv_saveState(romname,saveSlot); textClear();return; case MMOPTION_LOADSTATE: sv_loadState(romname,saveSlot); textClear();return; case MMOPTION_EXIT: exitMenu(); break; default: return; } } /*if(pad & GP2X_B) { textClear(); return; }*/ if(menuOption < 0) menuOption = 0; if(menuOption > 6) menuOption = 6; if(saveSlot < 0) saveSlot = 0; if(saveSlot > 9) saveSlot = 9; while(pad == gp2x_joystick_read(0)); pad = gp2x_joystick_read(0); textClear(); } }