Ir ao conteúdo
  • Cadastre-se

kika123

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

Reputação

1
  1. Bom dia, preciso de ajuda Gere a seguinte lista circular: y->t->r->e->w->q-> aponta de novo pra y Remova os itens da lista (remover sempre o primeiro item) e os empilhe em uma pilha. Desempilhe os itens, exibindo-os na tela. A pimeira parte da lista circular eu consegui fazer agora preciso de ajuda pra fazer a segunda parte de remover e empilhar #include <stdlib.h> #include <stdio.h> struct item{ char letra; item *proximo; }; /*********************************** *cria uma fila de char, ele vai retorar *a fila que criou. *********************************************/ item *criarFila(char letra){ item *fila=(item*) malloc(sizeof(item)); fila->letra=letra; fila->proximo=fila; //aponta para si proprio. return fila; } //retorna o fim da fila. item *inserirItemNaFila(char letra, item *fila){ item *fimAtual=fila; item *novoFim=(item*) malloc(sizeof(item)); novoFim->letra=letra; novoFim->proximo=fimAtual->proximo; fimAtual->proximo=novoFim; return fimAtual; } /********************************************** *Vai imprimir um loop inifinto da fila, mostrando *que a fila é circular ***********************************************/ void imprimir(item *filaInicio, item *filaFim){ item *ponteiro=filaInicio; while(ponteiro!=NULL){ printf("%c ", ponteiro->letra); ponteiro=ponteiro->proximo; } } int main(){ item *inicioFila=criarFila('y'); item *fimFila=inserirItemNaFila('b',inicioFila); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('t',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('r',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('e',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('w',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('q',fimFila->proximo); printf("%c \n", fimFila->letra); printf("%c %c\n", inicioFila->letra,fimFila->letra); imprimir(inicioFila, fimFila); }
  2. Que sou inciante em programação , que eu tentei mudar o código usando um contador, se poderia me ajudar a corrigido o que fiz de errado no código ??
  3. @vangodp só iniciante poderia me ajudar a organizar o código com o contador abaixo? #include <stdio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> main() { FILE *arquivo; char c; char nome [41]; char letras[]="abcdefghijklmnopqrstuvwxyz"; int contador,x,y; char frase[30]; char frase_v[30]; // Pergunta o nome do arquivo printf ("Nome do arquivo: "); scanf (" %40[^\n]",nome); // Abre o arquivo para leitura arquivo = fopen (nome, "r"); // Lê caracteres até o fim do arquivo contador=0; for (x=0;x<=strlen(frase);x++) for (y=0;y<=strlen(letras);y++) if (frase[x]==letras[y] && frase[x]!=0) frase_v[contador++]=frase[x]; frase_v[++contador]=0; c = getc(arquivo); while(c != EOF){ printf("%c", c); for(x=0;x<=strlen(frase_v);x++) cout << frase_v[x]; c = getc(arquivo); } // Fecha o arquivo fclose (arquivo); }
  4. Ola boa noite! preciso de um algoritmo que leia um arquivo texto e exiba na tela todos os caracteres do arquivo em ordem alfabetica, ate a parte que abre e lê arquivo eu consegui não consigo ordenar em ordem alfabética alguém pode ajudar??? #include <stdio.h> main() { FILE *arquivo; char c; char nome [41]; // Pergunta o nome do arquivo printf ("Nome do arquivo: "); scanf (" %40[^\n]",nome); // Abre o arquivo para leitura arquivo = fopen (nome, "r"); // Lê caracteres até o fim do arquivo c = getc(arquivo); while(c != EOF){ printf("%c", c); c = getc(arquivo); } // Fecha o arquivo fclose (arquivo); } falta eu conseguir exibir em ordem alfabética ordem alfabética. alguem poderia ajudar?
  5. Boa dia! Eu queria trocar uma pilha de números por uma pilha de strings pra poder depois gerar uma pilha invertida inserindo no código os valor original, alguém poderia ajudar? segue a parte do meu código com inteiros , eu gostaria de ao invés de inseris números inserir letras alguém poderia ajudar??? typedef struct no { char num; struct no *prox; } NODE; void inverte(NODE *pilha); void iniciar(NODE *pilha); void inserir(NODE *pilha, int num); void imprimir(NODE *pilha); int main() { NODE *p = (NODE *) malloc(sizeof(NODE)); /* Iniciar a pilha: */ iniciar(p); /* Inserir elementos na pilha: */ // parte onde uero fazer a troca os numeros por letras printf("PILHA:\n"); inserir(p, 50); inserir(p, 40); inserir(p, 30); /* Imprimir a pilha: */ imprimir(p); ........ void inserir(NODE *pilha, int num) { NODE *novo = (NODE *) malloc(sizeof(NODE)); novo->num = num; if(pilha->prox == NULL) { pilha->prox = novo; novo->prox = NULL; } else { novo->prox = pilha->prox; pilha->prox = novo; } }
  6. não tem a ver com banco de dados e apenas pra usar manipulação de arquivos binários e ponteiros,não necessita fazer um banco de dados.
  7. não no caso um único arquivo que tenhas essas opções O método principal desta aplicação deverá exibir um menu, onde o usuário deverá escolher uma das opções
  8. Olá pessoal, gostaria de pedir ajuda a vocês, sou iniciante nessa área e por isso queria uma ajuda de alguém para conseguir fazer um algoritmo , Preciso de ajuda para criar um arquivo binário (.dat) , que gerencie dados sobre alunos através de arquivos.(nome,curso e media no caso).(criar,cadasrto e lista) *Criação de um arquivo A aplicação deverá solicitar ao usuário o caminho completo + nome do arquivo a ser criado e validar se as informações permitem a criação do arquivo e, se não permitir, manter a solicitação das informações, até que o arquivo seja criado corretamente. *Cadastro de aluno O usuário deverá digitar as informações do aluno e o mesmo deverá ser salvo no arquivo que foi criado. * Listagem de todos os alunos Listar nome, curso e média global de todos os alunos cadastrados no arquivo Considere as seguintes informações sobre um aluno:  nome (alfanumérico de até 30 caracteres)  curso (alfanumérico de até 30 caracteres)  média global (float) tentei criar mas acho que so a parte de ciar arquivo deu certo #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> using namespace std; FILE *arq=NULL; struct aluno{ char nome[30]; char curso[30]; float media; // variaveis do tipo registro }; //função criar aqruivo void criarArquivo(){ char local [50]; do{ system("cls"); cout<<"Digite o caminho do novo arquivo: "; cin>>local; arq=fopen (local, "w+b"); if (arq==NULL){ cout<<("\n O camiho não existe: "); } else { cout<<"\n Arquivo criado com sucesso."; } } while (arq=NULL); system ("pause"); } //função Aluno void addElementos(FILE *arq){ int tam; char local [50]; aluno a; printf("Digite a Quantidade de Aluno que Deseja Cadastrar: "); scanf("%d", &tam); (struct aluno*) malloc(tam*sizeof(struct aluno));//Loca memória para a estrutura cout<<"Digite o caminho onde se econtra arquivo: "; cin>>local; arq = fopen(local,"ab"); if (arq==NULL){ cout<<("\n O camiho não existe: "); } else { cout<<"\n Arquivo criado com sucesso."; system("CLS"); } printf("\n----------------------------------------------------------\n\n"); for(int i=0; i<tam; i++){ fflush(stdin); printf("Digite o Nome do Aluno: "); gets(a.nome); printf("Digite a curso "); gets(a.curso); printf("Digite a Media: "); scanf("%f",&a.media); fwrite(&a,sizeof(struct aluno),1,arq); } fclose(arq); system("PAUSE"); } void imprimir(FILE *arq){ int tam; char local [50]; aluno a; cout<<"Digite o caminho onde se econtra arquivo: "; cin>>local; arq = fopen(local,"ab"); if (arq==NULL){ cout<<("\n O camiho não existe: "); } else { cout<<"\n Arquivo criado com sucesso."; system("cls"); } printf("\n\nNome = %s", a.nome); printf("\nAluno = %s ", a.curso); printf("\nmedia = %f", a.media); putchar('\n'); // avança uma linha fclose(arq); system("PAUSE"); } int main(int argc, char** argv) { int esc; do{ system("cls"); cout<<"O que voce deseja fazer?\n\n"; cout<<"\t(1) Criar Arquivo\n"; cout<<"\t(2) Cadastrar Aluno\n"; cout<<"\t(3) Listar Aluno\n"; cout<<"\t(4) LIstar auno acima da media\n"; cout<<"\t(5) Buscar aluno\n"; cout<<"\t(5) Sar\n"; cin>>esc; switch(esc){ case 1: criarArquivo ();break; case 2: addElementos (arq);break; case 3: imprimir (arq);break; } }while(esc<=6); return 0; system("pause"); } gostaria da colaboração de vocês!

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...