Ir ao conteúdo
  • Cadastre-se
Gabriel Fernandes Lemos

Modularização c++

Recommended Posts

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;
}

 

Editado por dif
usar o botão Code para postar o código

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×