Ir ao conteúdo
  • Cadastre-se

Modularização c++


Posts recomendados

Recentemente ao estudar c++ foi passada uma matéria denominada de modularização, porém foi passado em printf (como linguagem c). Queria saber se tem como fazer isso em c++ usando cout/cin e recursos geralmente usados em c++.

 

Também gostaria de saber sobre alguns códigos que não sei para que servem que são:

 

  • setbuf()
  • gets() 
  • appen


Abaixo o código da matéria ↓

 

#include <stdio.h>
#include <stdlib.h>
FILE* AbreArquivo(char modo, char caminho[30]){
    FILE *arquivo;
    switch(modo){
        case 'g':
            arquivo = fopen(caminho,"wt");
            break;
        case 'l':
            arquivo = fopen(caminho,"rt");
            break;
        case 'a':
            arquivo = fopen(caminho,"a");
            break;
    }
    if(arquivo==NULL){      //Se houver algum erro, o ponteiro apontará para NULL
        printf("Nao foi possivel abrir o arquivo");
        exit(0);
    }
    return arquivo;
}
void FecharArquivo(FILE *arquivo){
    fclose(arquivo);
}
void Cadastra(char nome[30], int telefone){
    FILE *arquivo;
    arquivo = AbreArquivo('a', "agenda.txt");
    fprintf(arquivo, "%s %d\n", nome, telefone);
    FecharArquivo(arquivo);
}
void Listar(){
    FILE *arquivo;
    char nome[30];
    int telefone;
    arquivo = AbreArquivo('l',"agenda.txt");
    while(!feof(arquivo)){
        fscanf(arquivo,"%s %d ", &nome, &telefone);
        printf("Nome: %s  -  Telefone: %d\n", nome, telefone);
    }
    FecharArquivo(arquivo);
}
int main(){
    int opcao;
    char nome[30];
    int telefone;
    do{
        system("cls");
        printf("\n\n\t\tBem Vindo ao programa AGENDA\n");
        printf("\nMENU");
        printf("\n 1 - Cadastrar Nome e telefone");
        printf("\n 2 - Listar todos os Nomes e telefones");
        printf("\n 3 - Sair");
        printf("\nDigite uma opcao: ");
        scanf("%d", &opcao);
        system("cls");
        switch(opcao){
            case 1:
                printf("\nDigite o nome: ");
                setbuf(stdin,NULL);
                gets(nome);
                printf("\nDigite o telefone: ");
                scanf("%d", &telefone);
                Cadastra(nome, telefone);
                system("pause");
                break;
            case 2:
                Listar();
                system("pause");
                break;
            case 3:
                printf("\n\nFinalizando...\n\n");
                system("pause");
                exit(0);
                break;
            default:
                printf("\n\nOpcao invalida! Tente Novamente!\n\n");
                system("pause");
        }
    }while(opcao!=3);
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...