Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "tad.h"
  4.  
  5. int main()
  6. {
  7.     puts("Bemvindo ao EP1 de AEDSII, parte 1, este eh um programa para testar o TAD.\n");
  8.     puts("Serao criadas dois arranjos de letras atraves do TAD, por favor, digite os parametros das funcoes\nPodendo ser dentro ou fora da faixa indicada, para testar a lida com erros.\n");
  9.  
  10.     TipoString arranjo1 = CriaStringVazia(); //retorna uma struct com os campos da string ( char[40] e int tamanho )
  11.  
  12.     TipoString arranjo2 = CriaStringVazia();
  13.  
  14.     char seq1[999];
  15.     char seq2[999];
  16.     char c, aux;
  17.     int i=0;
  18.  
  19.     puts("digite os caracteres do arranjo1, no max 50 de A ate Z");
  20.     printf(">");
  21.     while( i <= 999 )
  22.     {
  23.         scanf("%c",&seq1[i]);
  24.         if(seq1[i] == '\n')
  25.         {
  26.             seq1[i] = '\0';
  27.             break;
  28.         }
  29.         i++;
  30.     }
  31.  
  32.     puts("digite os caracteres do arranjo2, no max 50 de A ate Z");
  33.     printf(">");
  34.     i=0;
  35.     while( i <= 999 )
  36.     {
  37.         scanf("%c",&seq2[i]);
  38.         if(seq2[i] == '\n')
  39.         {
  40.             seq2[i] = '\0';
  41.             break;
  42.         }
  43.         i++;
  44.     }
  45.  
  46.     arranjo1 = CriaString(seq1);
  47.     arranjo2 = CriaString(seq2);
  48.  
  49.     if(validade(arranjo1) == 1)
  50.     {
  51.         puts("arranjo1 valido");
  52.         puts("A sequencia eh o seguinte:");
  53.         ImprimeString(arranjo1);
  54.     }
  55.     else
  56.     {
  57.         puts("arranjo1 invalido");
  58.     }
  59.  
  60.     puts("");
  61.     if(validade(arranjo2) == 1)
  62.     {
  63.         puts("arranjo2 valido");
  64.         puts("A sequencia eh o seguinte:");
  65.         ImprimeString(arranjo2);
  66.     }
  67.     else
  68.     {
  69.         puts("arranjo2 invalido");
  70.     }
  71.  
  72.     puts("\nos proximos testes serao usados apenas o arranjo1");
  73.  
  74.     if(!(validade(arranjo1) == 1))
  75.     {
  76.         puts("favor, rode o programa novamente com o arranjo1 valido");
  77.         return 0;
  78.     }
  79.  
  80.     puts("\nTeste da funcao GetChar:");
  81.     printf("Digite o numero da posicao, intervalo de: 1 a %d\n>",GetTamanho(arranjo1));
  82.     scanf("%d",&i);
  83.     getchar(); //limpa o buffer
  84.  
  85.     aux = GetChar(arranjo1 , i );
  86.     printf("Retorno da funcao GetChar: %c\n", aux == '!' ? '!' : aux );
  87.  
  88.     puts("\nTeste da funcao SetChar:");
  89.     printf("digite o caractere a ser inserido, intervalo A a Z\n>");
  90.     scanf("%c",&c);
  91.     getchar();
  92.     printf("digite o indice, intervalo 1 a %d\n", GetTamanho(arranjo1));
  93.     scanf("%d",&i);
  94.     getchar();
  95.     printf("Retorno da funcao SetChar: %d\n", SetChar(&arranjo1 , i, c )  );
  96.     puts("O arranjo1 fica o seguinte:");
  97.     ImprimeString(arranjo1);
  98.  
  99.     printf("\ndigite o caractere para colocar no final do arranjo, intervalo A a Z\n>");
  100.     scanf("%c",&c);
  101.     getchar();
  102.  
  103.     printf("Retorno da funcao InsereChar: %d\n", InsereChar(&arranjo1 , c )  );
  104.     puts("O arranjo1 fica o seguinte:");
  105.     ImprimeString(arranjo1);
  106.  
  107.     puts("\ncontagem de caracteres com GetTamanho()");
  108.     i = GetTamanho(arranjo1);
  109.     ImprimeString(arranjo1);
  110.     while(i--)printf("^");
  111.     printf(" => sao %d caracteres\n", GetTamanho(arranjo1));
  112.  
  113.  
  114.     puts("fim, bay!");
  115.     return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement