ernesto lopes
(usa Ubuntu)
Enviado em 13/12/2011 - 20:56h
#include <stdio.h>//biblioteca para entrada e saída de dados.
#include <stdlib.h>//biblioteca para alocação de memoria e para os vetores.
#include <string.h>//biblioteca para manipular strings.
typedef struct {
char nome[50];
char sobrenome[50];
}nomecont; // estrurura que guarda os dados dos nomes
typedef struct {
int dia;
int mes ;
int ano;
}dtnasc;//estrura que guarda os dados da data de nascimento
typedef struct {
int ddd;
int numero;
}telefone;//estrutura que guarda os telefones das pessoas
//cabeçalho das funções utilisadas no progama
void criararquivo(void);
void menu (void);
void cadastrar_contato(void);
void procurar_contato_nome(void);
void procurar_contato_sobrenome(void);
void ver_aniversariante(void);
void editar_contato(void);
int numero_de_contatos=0;//numero de contatos que você tera na agenda
dtnasc contatosnasc[numero_de_contatos];//vetor que guarda o aniversarrio dos contatos
nomecont nomecontatos[numero_de_contatos];//vetor que guarda contatos
telefone tel[numero_de_contatos];//vetor que guarda o telefone dos contatos
int main() {//função principal do progama chama as funções que editam o arquivo.
void criararquivo();//função que cria o arquivo .
void menu();//função responsavel pela escolha de que ação você vai ser escolhida.
return(0);//retorno da função main .
}
void criararquivo()
{
FILE *arquivo;
arquivo= fopen("agenda.txt","a");//cria arquivo .
if(arquivo==NULL){//testa arquivo para ver se foi aberto
printf("erro ao abrir o arquivo ");
}
fclose(arquivo);
}
void menu(){
char opcao[10];
printf ("Escolha uma opcao:\n[c] cadastrar Contato\n[b]buscar contato por nome \n[o]buscar contato por sobrenome\n[v]ver aniversariantes do mes \n[e]Editar contato\n[S]air\n\n");
while (1)
{
printf (">> ");
gets (opcao);
switch (opcao[0])
{
case 'c':
case 'C':
cadastrar_contato();
break;
case 'b':
case 'B':
procurar_contato_nome ();
break;
case 'o':
case 'O':
procurar_contato_sobrenome();
break;
case 'e':
case 'E':
editar_contato ();
break;
case 's':
case 'S':
exit(0);
default:
printf ("\aOpcao invalida!\n");
}
}
}
void cadastrar_contato(){
numero_de_contatos++;//aumenta o numeros de contatos cada vez que e chamada
printf("Digite o nome do contato ");
scanf("%s",nomecontatos[numero_de_contatos].nome);
printf("Digite o sobrenome ");
scanf("%s",nomecontatos[numero_de_contatos].sobrenome);
printf("digite o dia do nascimento");
scanf("%d",contatosnasc[numero_de_contatos].dia);
printf("digite o mês do nascimento");
scanf("%d",contatosnasc[numero_de_contatos].mes);
printf("digite o ano do nascimento");
scanf("%d",contatosnasc[numero_de_contatos].ano);
printf("Digite o ddd do contato ");
scanf("%d",tel[numero_de_contatos].ddd);
printf("Digite o telefone do contato ");
scanf("%d",tel[numero_de_contatos].numero);
FILE arq *;
arq=fopen("agenda.txt","a") ;//abre o arquivo para adicionar ao final dele
if (arq==NULL){
printf("erro ao abrir o arquivo ");
}
fprintf(arq,"%s %s",nomecontatos[numero_de_contatos].nome,nomecontatos[numero_de_contatos].sobrenome);//imprime os dados das pessoas no arquivo
fprintf(arq,"%d %d %d ",contatosnasc[numero_de_contatos].dia,contatosnasc[numero_de_contatos].mes,contatosnasc[numero_de_contatos].ano)
fprintf(arq,"%d %d ",tel[numero_de_contatos].ddd,tel[numero_de_contatos].numero);
fprint ()
fclose(arq);//fecha o arquivo
void menu ();
}
void procurar_contato_nome(){
int i,j=0 ;
char nomecomp[50];
Printf("digite o nome do contato procurado ");
scanf("%s",&nomecomp);
for (i=1;i<=numero_de_contatos;i++){
if (nomecomp==nomecontatos[i].nome) {//testa se o nome que esta quardado no vetor de estrutura é o procurado
printf ("nome encontrado \n ");
printf(" %s %s ",nomecontatos[i].nome,nomecontatos[i].sobrenome);//imprime na tela o nome encontrado
printf(" %d %d %d ",contatosnasc[i].dia,contatosnasc[i].mes,contatosnasc[i].ano);//impreme na tela o data nascimento
printf(" %d %d ",tel[i].ddd,tel[i].numero);
j=1;
}
}
else(j==0){
printf("nome não encontrado ");}
void menu();
}
void procurar_contato_sobrenome(){
int k,l=0 ;
char nomecomps[50];
Printf("digite o nome do contato procurado ");
scanf("%s",&nomecomps);
for (k=1;i<=numero_de_contatos;k++){
if (nomecomp==nomecontatos[i].sobrenome) {//testa se o nome que esta quardado no vetor de estrutura é o procurado
printf ("sobrenome encontrado \n ");
printf(" %s %s ",nomecontatos[i].nome,nomecontatos[i].sobrenome);//imprime na tela o nome encontrado
printf(" %d %d %d ",contatosnasc[i].dia,contatosnasc[i].mes,contatosnasc[i].ano);//impreme na tela o data nascimento
printf(" %d %d ",tel[i].ddd,tel[i].numero);
l=1;
}
}
else(l==0){
printf("sobrenome não encontrado. ")}//se nao encontrar imprime que não encontrou ;
void menu() ;
}
void ver_aniversariante(){//função que procura se o mês informado tem algum aniversariante
int m,n=0;
printf("digite o numero do mes qua deseja saber os aniversariantes ") ;
scanf("%d ",m);
for (n=1;n<=numero_de_contatos;n++){
if (m==contatosnasc[i].mes) {//testa se o mes que esta quardado no vetor de estrutura é o procurado pela pessoa
printf ("pessoas que fasem aniversario nesse mês são ");
printf ("%s",nomecontatos[] )
n=1;
}
}
else if(n==0){
printf("sem aniversariantes nesse mes . ");}
void menu() ;
}
void editar_contato(){
}
quero criar o arquivo no mesmo local que esta o executavel