int main(void) { struct rekord ksiazka[MAKS]; int licznik = 0; int ilosc; do { system("cls"); fflush(stdin); printf("podaj ile chcesz wprowadzic: "); scanf("%d", &ilosc); if(licznik+ilosc<=MAKS) { wprowadz(ksiazka, licznik, ilosc); licznik=licznik+ilosc; } else { printf("do ksiazki nie zmiesci sie dodatkowe %d numery\nksiazka zapelniona\n", ilosc); getch(); } } while(ilosc!=0); //odczyt(ksiazka); drukuj(ksiazka, licznik); zapisz(ksiazka); return 0; }
int main(){ int opcja = -1; int iloscStudentow = 0; char nowyStudent = '0'; struct student Kowalski = {"Jan", "Kowalski", db}; struct student Studenci[MAX_STUDENTOW]; FILE *plik; const char * const nazwaPliku = "studenci.txt"; // staly wskaznik do stalego napisu Studenci[iloscStudentow] = Kowalski; // przypisanie calej struktury iloscStudentow++; strncpy(Studenci[iloscStudentow].imie, "Adam", 12); Studenci[iloscStudentow].imie[11] = '\0'; // poprawne zakonczenie napisu strncpy(Studenci[iloscStudentow].nazwisko, "Wisniewski", 16); Studenci[iloscStudentow].nazwisko[15] = '\0'; Studenci[iloscStudentow].ocena = dst; iloscStudentow++; do{ puts("MENU:"); puts("1. Lista wszystkich studentow"); puts("2. Zapis danych do pliku"); puts("3. Dodanie studenta"); puts("4. Odczytaj z pliku"); puts("5. Srednia arytmetyczna z ocen studentow"); puts("0. Wyjscie z programu\n"); puts("Wybierz opcje: "); scanf("%d", &opcja); if (opcja == 1) wyswietlWszyscyStudenci(iloscStudentow, Studenci); else if (opcja == 2) zapisz(nazwaPliku, plik, iloscStudentow, Studenci); else if (opcja == 3){ if (iloscStudentow < MAX_STUDENTOW){ dodajStudenta(iloscStudentow, Studenci); iloscStudentow++; } else puts("Brak wolnego miejsca na dopisanie studenta!"); } else if (opcja == 4) pobierzZPliku(nazwaPliku, plik, Studenci, &iloscStudentow); else if (opcja == 5) printf("Srednia arytmetyczna ocen studentow wynosi: %.2lf\n", sredniaArytmetycznaOcen(iloscStudentow, Studenci)); puts(""); } while (opcja != 0); //Studenci[1].ocena = 444 // w ANSI C nie jest sprawdzana poprawnosc przypisania // dopiero w C++ nie pozwala na przypisanie 'int' do 'enum' return 0; }
int przegladarka::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: edytuj(); break; case 1: pokaz(); break; case 2: zapisz(); break; case 3: wczytaj(); break; default: ; } _id -= 4; } return _id; }
/*glowne menu, wyswietlane na poczatku, i po kazdym wprowadzeniu danych.*/ void menu() { char c=0; char wybor; int i=0; printf("Menu:\n" "(1) Wprowadz dane.\n" "(2) Edytuj dane.\n" "(3) Wypisz dane.\n" "(4) Usun rekord.\n" "(5) Sortuj dane.\n" "(6) Zapisz dane do pliku.\n" "(7) Zakoncz program.\n"); while(1) { i = 0; wybor = 0; while(1) { c = getchar(); if(i==0){ if(c>='1'&&c<='7') wybor = c; else wybor = 0; i++; } else { if(c=='\n'&&i==1&&wybor) switch(wybor) { case '1': wczytaj_dane(); break; case '2': edytuj(); break; case '3': wypisz(); break; case '4': usun(); break; case '5': menu_sort(); break; case '6': zapisz(); break; case '7': zakoncz(); break; } else if(c=='\n') {printf("Niepoprawna komenda! Wybierz jeszcez raz.\n");i=0;} else i++; } } }/*while(1) */ }/*=================================================koniec menu() */
void ui(void) { //pocz¹tek obs³ugi interfejsu i zdarzeñ if(firstrun==1) { strcpy(input, "pomoc"); tempnode=nowy(tempnode); firstrun=0; } else if(strcmp("^", input)==0) { ui_wroc(tempnode); scanf("%s", &input); } else if(strcmp("goto", input)==0) { ui_goto(tempnode); scanf("%s", &input); } else if(strcmp("wypisz", input)==0) { ui_wypisz(tempnode, 0); scanf("%s", &input); } else if(strcmp("goin", input)==0) { ui_goin(tempnode); scanf("%s", &input); } else if(strcmp("usun", input)==0) { usun(tempnode); scanf("%s", &input); } else if((strcmp("dodaj", input)==0)) { tempnode=nowy(tempnode); scanf("%s", &input); } else if(strcmp("nazwa", input)==0) { ui_nazwij(); } else if(strcmp("zapisz", input)==0) { zapisz(tempnode, 0); scanf("%s", &input); } else if(strcmp("wczytaj", input)==0) //nie uda³o siê wprowadziæ { printf("DEBUG:loading, not implemented"); scanf("%s", &input); } else if(strcmp("czytaj", input)==0) { if(tempnode!=0) printf("Aktualny wezel to: %s\n", tempnode->name); else printf("Nie mozna wyswietlic nazwy niestniejacego wezla\n"); scanf("%s", &input); } else if(strcmp("exit", input)==0) { while(tempnode->parent!=0||tempnode->prev!=0) //wraca na sam¹ górê drzewa ui_wroc(tempnode); zwolnij(tempnode); //zwalnia ca³e drzewo przed zamkniêciem free(tempnode); exit(0); //zamyka app } //koniec obs³ugi interfejsu i zdarzeñ //wyœwietlanie menu else if(strcmp("pomoc", input)==0) { printf("LISTA KOMEND:\n"); printf("^ - skocz do wezla wyzej\n"); //works printf("dodaj - dodaje nowy wezel\n"); //works printf("usun - usuwa aktualny wezel\n"); //works. deleting whole branches not allowed printf("nazwa <nazwa wezla> - zmienia nazwe aktualnego wezla\n"); //works printf("czytaj - wyswietla aktualna nazwe wezla\n"); //works printf("wypisz - wypisuje drzewo wezlow\n"); //works printf("goto <nazwa wezla> - przenosi do wezla w aktualnej kategorii\n"); //works printf("goin - wchodzi dalej w aktualny wezel\n"); //works printf("zapisz - zapisuje drzewo do pliku tekstowego\n"); //works printf("Wpisz exit zeby wyjsc\n"); //works but doesn't free memory :( printf("\n Wpisz komedne.\n"); scanf("%s", &input); } else { scanf("%s", &input); } }