Advertisement
mauricioribeiro

Ex 10 C - Notepad

May 31st, 2014
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.15 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. main()
  6. {
  7.     FILE * arq_base;
  8.     int arq_linhas = 0,i = 0, opcao, sair = 0, opcao_linha = 0, confirmacao = 0;
  9.     char arq_texto[10][100];
  10.  
  11.     arq_base = fopen("ex10.txt", "r");
  12.     if(arq_base!=NULL){
  13.         while( fgets(arq_texto[arq_linhas],100,arq_base) ){
  14.             arq_linhas++;
  15.         }
  16.         strcat(arq_texto[arq_linhas],"\n");
  17.     }
  18.     fclose(arq_base);
  19.  
  20.     printf("O arquivo foi aberto, foram encontradas %d linhas.\nO que voce deseja fazer?", arq_linhas);
  21.     while(sair==0){
  22.         printf("\n\n 1 - Listar\n 2 - Editar\n 3 - Inserir\n 4 - Apagar\n 5 - Abandonar\n 6 - Sair e Salvar\n>> ");
  23.         scanf("%d",&opcao);
  24.         switch(opcao){
  25.            
  26.             case 1:
  27.                 printf("Listando...\n");
  28.                 for(i = 0; i < arq_linhas; i++){
  29.                     printf("\t%d: %s",i+1,arq_texto[i]);
  30.                 }
  31.                 printf("\n...arquivo listado\n");
  32.             break;
  33.  
  34.             case 2:
  35.                 printf("Qual linha deseja alterar?\n>> ");
  36.                 scanf("%d",&opcao_linha);
  37.                 if(opcao_linha != 0 && opcao_linha <= arq_linhas){
  38.                     printf("\tConteudo Original: %s\n\tInsira o novo conteudo: ",arq_texto[opcao_linha-1]);
  39.                     scanf("%s",&arq_texto[arq_linhas-1]);
  40.                     printf("\n\tConteudo alterado!\n");
  41.                 } else {
  42.                     printf("Linha Invalida!\n");
  43.                 }
  44.             break;
  45.  
  46.             case 3:
  47.                 printf("Inserir linha depois da linha:\n>> ");
  48.                 scanf("%d",&opcao_linha);
  49.                 if(opcao_linha != 0 && opcao_linha <= arq_linhas){
  50.                     char nova_linha[100];
  51.                     printf("\tInsira o novo Texto: ");
  52.                     scanf("%s",&nova_linha);
  53.                     strcat(nova_linha,"\n");
  54.                     for(i = arq_linhas; opcao_linha < i; i--){
  55.                         strcpy(arq_texto[i],arq_texto[i-1]);
  56.                     }
  57.                     strcpy(arq_texto[opcao_linha],nova_linha);
  58.                     arq_linhas++;
  59.                     printf("\nLinha adicionada.");
  60.                 } else {
  61.                     printf("Linha Invalida!\n");
  62.                 }
  63.             break;
  64.  
  65.             case 4:
  66.                 printf("Qual Linha deseja excluir:\n>> ");
  67.                 scanf("%d",&opcao_linha);
  68.                 printf("\n\tA linha selecionada tem este conteudo: %s\n\tTem certeza que deseja exclui-la? (1 - sim / 0 - nao)\n\t>> ",arq_texto[opcao_linha-1]);
  69.                 scanf("%d",&confirmacao);
  70.                 if(confirmacao==1){
  71.                     if(opcao_linha != 0 && opcao_linha <= arq_linhas){
  72.                         for(i = opcao_linha-1; i < arq_linhas; i++){
  73.                             strcpy(arq_texto[i],arq_texto[i+1]);
  74.                         }
  75.                         arq_linhas--;
  76.                         printf("\nLinha excluida.");
  77.                     } else {
  78.                         printf("Linha Invalida!\n");
  79.                     }
  80.                 }
  81.             break;
  82.  
  83.             case 5:
  84.                 printf("Tem certeza que deseja abandonar? (1 - sim / 0 - nao)\n");
  85.                 scanf("%d",&sair);
  86.             break;
  87.  
  88.             case 6:
  89.                 printf("Tem certeza que deseja Sair e Salvar? (1 - sim / 0 - nao)\n");
  90.                 scanf("%d",&confirmacao);
  91.                 if(confirmacao==1){
  92.                     arq_base = fopen("ex10.txt", "w");
  93.                     for(i = 0; i < arq_linhas; i++){
  94.                         fputs(arq_texto[i],arq_base);
  95.                     }
  96.                     fclose(arq_base);
  97.                     printf("Arquivo Salvo!\n");
  98.                     sair = 1;
  99.                 }
  100.             break;
  101.         }
  102.     }
  103.     printf("Programa finalizado.");
  104.  
  105.     getch();
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement