• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Znajdywanie i wypisywanie do nowego pliku

Object Storage Arubacloud
0 głosów
79 wizyt
pytanie zadane 28 grudnia 2020 w C i C++ przez Beginner555 Obywatel (1,760 p.)

Hej,

Chcę zrobić program w języku c  o takim działaniu "Dany jest plik elementowy, którego elementy zawierają następujące dane osobowe: nazwisko(maksymalnie 40 znaków), imię(maksymalnie 30 znaków), data urodzenia(ciąg 8 znaków postaci rrrrmmdd, na przykład 19830526).Znaleźć i wypisać do nowego pliku osoby urodzone określonego dnia. Dzień przekazany do funkcji jako parametr."

I tak wiem jak to zrobić by pobrał te wszystkie dane z pliku, tylko mam problem jak to znaleźć z tak podanej daty urodzenia osoby które urodziły się konkretnego dnia. Proszę o jakoś podpowiedź wskazówkę. Z góry wielkie dzięki!smiley

1 odpowiedź

0 głosów
odpowiedź 28 grudnia 2020 przez Whiskey_Taster Pasjonat (15,610 p.)
wybrane 28 grudnia 2020 przez Beginner555
 
Najlepsza
Jeśli ten ciąg wczytujesz jako łańcuch, to po prostu odczytaj dwa ostatnie znaki tego łańcucha (nie licząc \0) i sobie porównaj z podanym przez Ciebie dniem. Trochę mało danych podajesz, bo nie wiem, czy podajesz jako parametr łańcuch znakowy, czy też może jakiegoś int'a, ale powinieneś dać radę.
komentarz 28 grudnia 2020 przez Beginner555 Obywatel (1,760 p.)
Znaczy ja tu sobie mogę wybrać czy łańcuchem znakowym czy int'em, ale chyba będzie lepiej tym łańcuchem skoro tak piszesz, tylko mam pytanie bo nie pamiętam tego dokładnie jak wstawie do łańcucha znaków cyfry to będzie to normalnie porównywać z liczbami, tak jak jest to w tablicach liczb całkowitych(int)?
komentarz 28 grudnia 2020 przez Whiskey_Taster Pasjonat (15,610 p.)
Powiem tak: jeśli masz wybór, to odczytuj z pliku ten ciąg do zmiennej typu int. Tak jest najłatwiej, bo potem robisz modulo 100 i porównujesz sobie dwa int'y.
Jeśli chcesz jako łańcuch, to jest to już cięższe, bo porównywanie łańcucha oraz int'a samo w sobie nie jest wykonalne operatorem porównania, możesz co najwyżej porównać łańcuch z innym łańcuchem (choć może o czymś nie wiem, sam się uczę), więc musiałbyś zamienić tego int'a na łańcuch.
Oczywiście jeśli jednak dzień podajesz jako łańcuch, to musisz porównać dwa łańcuchy, co też może być problemem, bo jak wpiszesz "4" i porównasz to z "04" (a tak zapewne jest podany dzień), to te dwa łańcuchy są różne.

Ogółem proponuję zastosować int'y, gdyż jest to najprostsze rozwiązanie.
komentarz 28 grudnia 2020 przez Beginner555 Obywatel (1,760 p.)

Okej,

Dzięki wielkie za podsunięcie tego pomysłu z modulo, teraz już wiem jak to zrobić. I ogólnie dzięki za odzew!wink

Podobne pytania

0 głosów
1 odpowiedź 1,585 wizyt
pytanie zadane 23 października 2020 w C i C++ przez patrykcyranek Nowicjusz (160 p.)
0 głosów
1 odpowiedź 8,924 wizyt
0 głosów
1 odpowiedź 155 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...