Programar em C/Mais sobre funções: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
EvertonS (discussão | contribs)
EvertonS (discussão | contribs)
Linha 11:
Como pode se imaginar, os nomes dos parâmetros "argc" e "argv" podem ser mudados, mas por questão de padronização não se costuma modificá-los.
 
Exemplo: Escreva um programa que faça uso dos parâmetros argv e argc. O programa deverá receber da linha de comando o dia, mês e ano correntes, e imprimir a data em formato apropriado. Veja o exemplo, supondo que o executável se chame data:
Só não vamos ilustrar aqui o uso de ''argc'' e ''argv'' pois ainda não foram apresentadas as matrizes.
 
data 19 04 99
 
O programa deverá imprimir: 19 de abril de 1999
<source lang="C">
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int mes;
char *nome_mes [] = {
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
};
if(argc == 4) /* Testa se o número de parâmetros fornecidos está correto,
o primeiro parâmetro é o nome do programa, o segundo o dia,
o terceiro o mes e o quarto os dois últimos algarismos do ano */
{
mes = atoi(argv[2]); /* argv contem strings. A string referente ao mes deve ser transformada
em um numero inteiro. A funcao atoi esta sendo usada para isto:
recebe a string e transforma no inteiro equivalente */
if (mes<1 || mes>12) /* Testa se o mes e' valido */
printf("Erro!\nUso: data dia mes ano, todos inteiros");
else
printf("\n%s de %s de 19%s", argv[1], nome_mes[mes-1], argv[3]);
}
else printf("Erro!\nUso: data dia mes ano, todos inteiros");
}
</source>
 
== Lista de argumentos==