fork(2) download
  1. int emailusp(const char *email) {
  2.  
  3. /* Pega o tamanho total do e-mail digitado. */
  4. int tamanho = strlen(email);
  5.  
  6. /* Se for muito curto, cai fora retornando 0. */
  7. if (tamanho < 7) return 0;
  8.  
  9. const char verifica[7] = "@usp.br";
  10.  
  11. /* Verifica se cada um dos últimos caracteres é "@usp.br". Se encontrar um que não é, retorna 0. */
  12. int i;
  13. for (i = 0; i < 7; i++) {
  14. if (email[tamanho - 7 + i] != verifica[i]) return 0;
  15. }
  16.  
  17. /* Os os últimos caracteres são "@usp.br". Retorna 1. */
  18. return 1;
  19. }
  20.  
  21. void testar(const char *email) {
  22. int valido = emailusp(email);
  23. printf("%s%s eh um e-mail da USP.\n", email, valido ? "" : " nao");
  24. }
  25.  
  26. int main() {
  27. testar("verde@usp.br");
  28. testar("azul@usp.br");
  29. testar("amarelo@gmail.com");
  30. testar("vermelho@upp.br");
  31. testar("a@a");
  32. }
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
verde@usp.br eh um e-mail da USP.
azul@usp.br eh um e-mail da USP.
amarelo@gmail.com nao eh um e-mail da USP.
vermelho@upp.br nao eh um e-mail da USP.
a@a nao eh um e-mail da USP.