Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- main()
- {
- FILE * arq_base;
- int arq_linhas = 0,i = 0, opcao, sair = 0, opcao_linha = 0, confirmacao = 0;
- char arq_texto[10][100];
- arq_base = fopen("ex10.txt", "r");
- if(arq_base!=NULL){
- while( fgets(arq_texto[arq_linhas],100,arq_base) ){
- arq_linhas++;
- }
- strcat(arq_texto[arq_linhas],"\n");
- }
- fclose(arq_base);
- printf("O arquivo foi aberto, foram encontradas %d linhas.\nO que voce deseja fazer?", arq_linhas);
- while(sair==0){
- printf("\n\n 1 - Listar\n 2 - Editar\n 3 - Inserir\n 4 - Apagar\n 5 - Abandonar\n 6 - Sair e Salvar\n>> ");
- scanf("%d",&opcao);
- switch(opcao){
- case 1:
- printf("Listando...\n");
- for(i = 0; i < arq_linhas; i++){
- printf("\t%d: %s",i+1,arq_texto[i]);
- }
- printf("\n...arquivo listado\n");
- break;
- case 2:
- printf("Qual linha deseja alterar?\n>> ");
- scanf("%d",&opcao_linha);
- if(opcao_linha != 0 && opcao_linha <= arq_linhas){
- printf("\tConteudo Original: %s\n\tInsira o novo conteudo: ",arq_texto[opcao_linha-1]);
- scanf("%s",&arq_texto[arq_linhas-1]);
- printf("\n\tConteudo alterado!\n");
- } else {
- printf("Linha Invalida!\n");
- }
- break;
- case 3:
- printf("Inserir linha depois da linha:\n>> ");
- scanf("%d",&opcao_linha);
- if(opcao_linha != 0 && opcao_linha <= arq_linhas){
- char nova_linha[100];
- printf("\tInsira o novo Texto: ");
- scanf("%s",&nova_linha);
- strcat(nova_linha,"\n");
- for(i = arq_linhas; opcao_linha < i; i--){
- strcpy(arq_texto[i],arq_texto[i-1]);
- }
- strcpy(arq_texto[opcao_linha],nova_linha);
- arq_linhas++;
- printf("\nLinha adicionada.");
- } else {
- printf("Linha Invalida!\n");
- }
- break;
- case 4:
- printf("Qual Linha deseja excluir:\n>> ");
- scanf("%d",&opcao_linha);
- 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]);
- scanf("%d",&confirmacao);
- if(confirmacao==1){
- if(opcao_linha != 0 && opcao_linha <= arq_linhas){
- for(i = opcao_linha-1; i < arq_linhas; i++){
- strcpy(arq_texto[i],arq_texto[i+1]);
- }
- arq_linhas--;
- printf("\nLinha excluida.");
- } else {
- printf("Linha Invalida!\n");
- }
- }
- break;
- case 5:
- printf("Tem certeza que deseja abandonar? (1 - sim / 0 - nao)\n");
- scanf("%d",&sair);
- break;
- case 6:
- printf("Tem certeza que deseja Sair e Salvar? (1 - sim / 0 - nao)\n");
- scanf("%d",&confirmacao);
- if(confirmacao==1){
- arq_base = fopen("ex10.txt", "w");
- for(i = 0; i < arq_linhas; i++){
- fputs(arq_texto[i],arq_base);
- }
- fclose(arq_base);
- printf("Arquivo Salvo!\n");
- sair = 1;
- }
- break;
- }
- }
- printf("Programa finalizado.");
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement