NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: Domácí úkol_Převod na den,měsíc rok.

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
rytinadaniel
Člen
Avatar
rytinadaniel:23.3.2014 11:34

Ahoj, potřeboval bych poradit s domácím úkolem. Program má vypsat po zadání data např. 11.1.2011 vypíše den 11, měsíc 1, rok 2011. Ale vůbec se mi to nevede udělal sem podobný na převod času. A ten funguje ale s tímto si opravdu nevím rady. Díky za nápady

#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

 int main()
 {
     char cas_r[6] = "08:05"; //zadany retezec
     char hod_r[3] = "", min_r[3] = "";
     int hodiny,minuty,delka;
     int i,j;

     printf("Zadano: %s", cas_r);
     delka = strlen(cas_r);
     i = 0;

     while (cas_r[i] != ':')
     {
         hod_r[i] = cas_r[i];
         i++;
     }
     hod_r[i] = '\0'; //dokoncime retezec
 //-------------------------------------------
     i++; // preskocime oddelovac
     j = 0; //druhy retezec zacina od indexu 0
     while(i<delka)//cteme do konce tadaneho retezce
     {
         min_r[j] = cas_r[i];
         i++;
         j++;
     }
     min_r[j]= '\0'; //ukoncime retezec

     hodiny = atoi(hod_r);
     minuty = atoi(min_r);

     printf("\nhodiny: %d \nminuty: %d", hodiny,minuty);
     return 0;
 }
 
Odpovědět
23.3.2014 11:34
Avatar
Odpovídá na rytinadaniel
Neaktivní uživatel:23.3.2014 11:40

Je to naprosto ukázkový příklad použití funkce strtok(). Kód bych dodal, ale aktuálně jdu na oběd. :)

Nahoru Odpovědět
23.3.2014 11:40
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:23.3.2014 12:03
#include <string.h>
#include <stdio.h>

int main()
{

   char str[80] = "";
scanf("%s",str);
   char *token;

   /* get the first token */
   token = strtok(str, ".");


      printf( "Den %s\n", token );
      token = strtok(NULL, ".");
      printf( "Mesic %s\n", token );
      token = strtok(NULL, ".");
      printf( "Rok %s\n", token );
      token = strtok(NULL, ".");



   return(0);
}
Editováno 23.3.2014 12:03
Nahoru Odpovědět
23.3.2014 12:03
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.