Ir ao conteúdo
  • Cadastre-se

mariafernanda

Membro Pleno
  • Posts

    29
  • Cadastrado em

  • Última visita

Tudo que mariafernanda postou

  1. o intervalo fechado no exemplo seu (1,4) teria que imprimir 1 , 2 , 3 4 normalmente mais como e invertido seria 4 3 2 1
  2. #include <stdio.h>#include <stdlib.h>#include <string.h>int intervalo_fechado(int a, int { if(a > { printf("ERRO: 'a' deve ser maior que 'b'."); } else if (a == { printf("%d", a); } else { printf("%d, ", a); intervalo_fechado(b-1, a); }}int main(int argc, char** argv) { intervalo_fechado(1, 4); return (EXIT_SUCCESS);} Não consigo imprimir intervalo fechado na ordem inversa.
  3. programa nao esta inprimindo o intervalo fechado na ordem inversa do maior para o menor...
  4. #include <stdio.h>#include <stdlib.h>#include <string.h>int intervalo_fechado(int a, int { if(x > y) { printf("ERRO: 'x' deve ser maior que 'y'."); } else if (x == y){ printf("%d", x); } else { printf("%d ", x); intervalo_fechado(y-1, x); }}int main(int argc, char** argv) { intervalo_fechado(-1, 2); return (EXIT_SUCCESS);} programa nao esta inprimindo o intervalo fechado na ordem inversa do maior para o menor...
  5. #include <stdio.h> #include <stdlib.h> #define M 3 #define N 3 void soma_matriz(int a[M][N]){ int soma=0, i, j; FILE *fp; fp = fopen("matrix.txt","r"); if(!fp) { printf( "Erro na abertura do arquivo"); exit(0); } for(i=0;i<M;i++){ for(j=0;j<N;j++){ fscanf(fp,"%d", &a[j]); soma=soma+a[j]; } } for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { fscanf ( fp, "%d ", &a [j] ); soma=soma+a[j]; } fscanf ( fp, "%d%*c", &a [j] ); } printf ( "A SOMA DOS ELEMENTOS DA MATRIZ E: %d\n", soma ); fclose(fp); int main() { int i,j, matriz[M][N], soma; fp = fopen ( "matriz.txt", "r" ); if ( !fp ) { perror ( "ERROR: " ); getchar(); exit ( EXIT_FAILURE ); } system ( "pause" ); system ( "cls" ); printf ( "\nA MATRIZ DIGITADA FOI:\n" ); for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { fscanf ( fp, "%d", &matriz [ i ] [ j ] ); printf ( " %3d ", matriz [ i ] [ j ] ); } printf ( "\n" ); } rewind(fp); printf ( "\n\n" ); fclose ( fp ); return 0; soma_matriz(matriz); } }
  6. Consegui resolver, tava colocando ; a mais no codigo.
  7. Quando insiro os dados ele grava normal no txt, mais quando vai ler o arquivo txt da o erro.
  8. Esta com um pequeno problema o código, ele grava normal mais na hora de ler não #include <stdio.h> #include <stdlib.h> typedef struct{ int codigo; int lote; int quantidade; } Produto ; int grava ( Produto *p ) { FILE *f; f=fopen( "arquivo.txt", "a" ); if ( !f ){ perror("Erro: "); return 0; } fprintf ( f, "%d %d %d\n", p->codigo, p->lote, p->quantidade ); fclose ( f ); printf ( "\n" ); printf ( "Cadastro Realizado com sucesso !\n\n" ); return 1; } int carrega ( FILE *f, Produto *p ) { return fscanf( f, "%d %d %d%*c", &p->codigo, &p->lote, &p->quantidade ); } int menu(); int main() { Produto lista[5]; int ultimo = 0, i, op = 0; int continuar = 1; while ( continuar == 1) { op = menu(); if ( op == 1 ) { if ( ultimo < 5 ) { printf ( "Informe O Codigo:" ); scanf ( "%d%*c", &lista[ultimo].codigo ); printf ( "Informe o Lote:" ); scanf ( "%d%*c", &lista[ultimo].lote ); printf ( "Informe a quantidade:" ); scanf ( "%d%*c", &lista[ultimo].quantidade ); ultimo += grava ( &lista[ultimo] ); getchar(); } else{ printf ( "Maximo de produtos registrados alcançado\n" ); getchar(); } } if( op == 2 ) { FILE * f = fopen ( "arquivo.txt", "r" ); i = 0; ultimo = 0; if ( !f ) { perror ( "Erro: " ); } else{ while ( carrega ( f, &lista[i] ) != EOF ) { printf ( "nome = %2d ", lista[i].codigo, "lote = %2d ", lista[i].lote,"quantidade = %2d\n", lista[i].quantidade ); printf ( "lote = %2d ", lista[i].lote ); printf ( "quantidade = %2d\n", lista[i].quantidade ); ultimo++; } } fclose ( f ); getchar(); } if ( op == 3 ) { printf ( "Encerrando o programa com sucesso!\n\n" ); getchar(); continuar = 0; } system ( "CLS" ); } return 0; }//main int menu(){ int op; printf ( "1 - Grava Arquivo :\n" ); printf ( "2 - Ler Arquivo :\n" ); printf ( "3 - Sair:\n" ); scanf ( "%d%*c", &op ); return op; } imprimi e fica rodando o programa segue print da tela, se alguém puder me ajudar.
  9. Fiz mais algumas modificações no código mais preciso inserir uma sub-rotina nele. e a impressão da matiz ta ok mais a soma não da certo. #include <stdio.h>#include <stdlib.h>int main() { FILE *p; int lin, col; int mat[3][3]; int i, j, soma = 0, num; p = fopen ( "matriz.txt", "w" ); if ( !p ) { perror ( "Erro: " ); getchar(); exit ( EXIT_FAILURE ); } for ( lin = 0; lin < 3; lin++ ) { for ( col = 0; col < 3; col++ ) { printf ( "matriz[%d][%d]=", lin + 1, col + 1 ); scanf ( "%d", &mat[lin][col] ); } } for ( lin = 0; lin < 3; lin++ ) { for ( col = 0; col < 3 - 1; col++ ) { fprintf ( p, "%d ", mat[lin][col] ); } fprintf ( p, "%d\n", mat[lin][col] ); } fclose ( p ); int matriz [3] [3]; p = fopen ( "matriz.txt", "r" ); if ( !p ) { perror ( "Erro: " ); getchar(); exit ( EXIT_FAILURE ); } system("pause");system("cls");printf("\nA MATRIZ DIGITADA E:\n"); for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { fscanf ( p, "%d", &matriz [ i ] [ j ] ); printf ( " %3d ", matriz [ i ] [ j ] ); } printf ( "\n" ); } for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) {fscanf(p, "%d");mat [i][j] = num;soma = mat [i][j]; } fprintf("a soma e: %3d", soma); } fclose ( p );fclose ( p ); return 0;}
  10. Neste codigo nao ta imprimindo direto, ta salvando normal arquivo.txt, mais a impressão não ta dando certo. se alguém #include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#include <conio.h>struct frase{ int codigo[100]; int lote[100]; int quantidade[100];}; void grava(struct frase a[100],int fim) { FILE *arq; int teste,i; arq = fopen("arquivo.txt","wb"); if(arq != NULL) { for(i=0;i<fim;i++) { teste = fwrite(&a[i],sizeof(struct frase),1,arq); if (teste !=1) { printf("erro ao salvar"); getch(); } } fclose(arq); } else { printf("erro ao abrir arquivo"); } } int carrega(struct frase a[100]) { FILE *arq; int teste,percorre=0; struct frase registro; arq = fopen("arquivo.txt","rb"); if(arq != NULL) { while (!feof(arq)) { teste = fread(&registro,sizeof(struct frase),1,arq); if (teste ==1) { a[percorre] = registro; percorre++; } } fclose(arq); } return percorre;} int main() { struct frase vet[100]; int ultimo=0,i,op=0; while(op !=3) { ultimo = carrega(vet); printf ("1 - Grava Arquivo :\n"); printf ("2 - Ler Arquivo :\n"); printf ("3 - Sair:\n"); fflush (stdin); scanf ("%d",&op); fflush (stdin); if(op==1) { printf("Informe O Codigo:"); fflush(stdin); fgets (vet[ultimo].codigo,100,stdin); fflush(stdin); ultimo++; printf("Informe o Lote:"); fflush(stdin); fgets (vet[ultimo].lote,100,stdin); fflush(stdin); ultimo++; printf("Informe a quantidade:"); fflush(stdin); fgets (vet[ultimo].quantidade,100,stdin); fflush(stdin); ultimo++; grava(vet,ultimo); printf("\n"); printf("Cadastro Realizado com sucesso !\n\n"); system("pause"); system("CLS"); } if(op==2) { if (ultimo == 0){ printf("Nenhum produto encontrado.Favor verificar!\n"); printf("\n");} else{ for(i=0;i<ultimo;i++){ printf("nome = %s\n",vet[i].codigo); printf("lote = %s\n",vet[i].lote); printf("quantidade = %s\n",vet[i].quantidade);} } } if(op==3){ printf("Encerrando o programa com sucesso!\n\n"); system("pause"); exit(0);} }//while }//main puder me ajudar. segue imagem do erro, ta desordenado de mais o resultado.
  11. Boa noite Vangodp, tudo bem, estou sim tentando mais só consigo gravar a matriz não consigo e não sei direito como criar uma sub rotina que imprima a soma dos elementos da matriz, e estou tentando sim resolver segue meu código ate o momento mais não saio de onde estou parada. #include <stdio.h>#include <stdlib.h>int main(){ FILE *p; int lin, col; int mat[3][3]; p = fopen ( "matriz.txt", "w" ); if ( !p ){ perror("Erro: "); getchar(); exit ( EXIT_FAILURE ); } for ( lin = 0; lin < 3; lin++ ){ for ( col = 0; col < 3; col++ ) { printf ( "matriz[%d][%d]=", lin + 1, col + 1 ); scanf ( "%d", &mat[lin][col] ); } } for ( lin = 0; lin < 3; lin++ ){ for ( col = 0; col < 3-1; col++ ) { fprintf(p, "%d ",mat[lin][col] ); } fprintf(p, "%d\n",mat[lin][col] ); } fclose ( p );int main(){ system ("A soma dos elementos da matriz e"); int matriz [ 3 ] [ 3 ] ;int i, j; FILE *arq = fopen("matriz.txt", "r" ); if ( arq == NULL ){ printf("Problemas na abertura do arquivo "); getche(); return (0); } for ( i = 0; i < 3; i++ ) { for ( j = 0; j < 3; j++ ) { fscanf( arq, "%3d", &matriz [ i ] [ j ] ); printf(" %3d ", matriz [ i ] [ j ] ); } printf("\n"); } fclose(arq); getche();} return 0;}
  12. O código que coloquei acima esta certo ta gravando a matriz txt normal, beleza. neste mesmo código preciso que ele faça isso neste mesmo código que foi criado tem que criar uma sub rotina que leia o arquivo mat.txt que foi criado e depois ao final a soma dos elementos desta matriz. obs: Usar fprintf e fscanf.
  13. Não esta salvado a matrix e na hora de rodar nao ta rodando tb.
  14. Preciso de ajuda para criar um código: Uma estrutura que armazene as informações de cada produto: cod, lot e quant Depois. a. Crie um vetor com 05 produtos na função principal; b. Crie uma sub-rotina para ler todos os campos do vetor criado; c. Crie uma sub-rotina para escrever o vetor de estoque em um arquivo texto. Cada linha do arquivo deverá conter o cod, lot e quant de cada produto, nesta ordem se alguém puder me ajudar fico grata...
  15. #include <stdio.h>#include <stdlib.h>int main(){ FILE *p; int lin, col; int mat[3][3]; p = fopen ( "matriz.txt", "w" ); if ( !p ){ perror("Erro: "); getchar(); exit ( EXIT_FAILURE ); } for ( lin = 0; lin < 3; lin++ ){ for ( col = 0; col < 3; col++ ) { printf ( "matriz[%d][%d]=", lin + 1, col + 1 ); scanf ( "%d", &mat[lin][col] ); } } for ( lin = 0; lin < 3; lin++ ){ for ( col = 0; col < 3-1; col++ ) { fprintf(p, "%d ",mat[lin][col] ); } fprintf(p, "%d\n",mat[lin][col] ); } fclose ( p ); return 0;} preciso criar uma sub rotina que leia o arquivo mat.txt que foi criado e depois ao final a soma dos elementos desta matriz. obs: Usar fprintf e fscanf
  16. #include <stdio.h>#include <stdlib.h>int main(){ FILE *p; int lin,col; int mat[3][3]; p = fopen("matriz.txt","w"); if(!p); printf("Erro na abertura do arquvo"); exit(0); { for (lin=0; lin<3; lin++) for (col=0; col<3;col++) { printf("Digite O n\243mero da linha %d, coluna %d da matriz: ",lin+1,col+1); scanf("%d", &mat[lin][col]); } }fclose(p); return 0;} preciso fazer este codigo receber via teclado e gravar a matrix 3 x 3 em um arquivo.txt
  17. #include <stdio.h>#include <stdlib.h>#define max 100//Defininddo as Variáveis Globais.int i;//Estrutura de Voo.struct produto{ int codigo_produto[max]; char nome_produto[max][8]; char preco_produto[max][5]; char estoque[max][50]; };//Cabeçalho das Funções.void menu();void cadastrarProd();void ixibirProd();void removerProd();struct produto *ponteiro;//Função de MENU.void menu(){ int opMenu; printf("\n\n\t_________________________"); printf("\n\t MENU PRINCIPAL"); printf("\n\t------------------------\n\n"); printf("\n\t1- CADASTRAR PRODUTO."); printf("\n\t2- EXIBIR PRODUTO."); printf("\n\t3- REMOVER PRODUTO."); printf("\n\t4- SAIR.\n\n"); printf("\n\tOPCAO: "); scanf("%d",&opMenu); system("cls"); switch (opMenu){ case 1: cadastrarProd(); break; case 2: ixibirProd(); break; case 3: removerProd(); break; case 4: break; default: printf("\n\tOPCAO INVALIDA, TENTE NOVAMENTE\n\n"); system("pause"); system("cls"); menu(); break; } }//Função de Cadastro de Voo.void cadastrarProd(){ int opCadastro; do{ ponteiro = (struct produto *)malloc (sizeof(struct produto)); printf("\n\n\t________________________"); printf("\n\t MENU CADASTRAR PRODUTO."); printf("\n\t------------------------\n\n"); printf("\n\tCODIGO DO PRODUTO: "); scanf("%d",&ponteiro->codigo_produto[i]); printf("\tNOME DO PRODUTO: "); scanf("%s",ponteiro->nome_produto[i]); printf("\tVALOR DO PRODUTO: "); scanf("%s",ponteiro->preco_produto[i]); printf("\tQUANTIDADE EM ESTOQUE: "); scanf("%s",ponteiro->estoque[i]); system("cls"); printf("\n\n\t1- CADASTRAR OUTRO PRODUTO"); printf("\n\t2- VOLTAR AO MENU\n\n"); printf("\tOPCAO: "); scanf("%d",&opCadastro); system("cls"); } while(opCadastro!=2); system("cls"); menu(); }//Função de Consulta Voo.void ixibirProd(){ int opConsultar; printf("\n\n\t________________________"); printf("\n\t MENU CONSULTAR PRODUTO."); printf("\n\t------------------------\n\n"); printf("\n\tDIGITE O NUMERO DO PRODUTO\n"); printf("\n\tNUMERO DO PRODUTO: "); scanf("%d",&opConsultar); if(ponteiro->codigo_produto[i]!=opConsultar){ printf("\n\tREGISTRO DE PRODUTO NAO ENCONTRADO"); printf("\n\t TENTE NOVAMENTE\n\n"); system("pause"); system("cls"); ixibirProd(); } else{ printf("\n\n\tNUMERO DO PRODUTO ENCONTRADO!!!\n\n"); printf("\n\t------------------------------------------------"); printf("\n\tNUMERO DO PRODUTO: %d ",ponteiro->codigo_produto[i]); printf("\n\tDATA DO PRODUTO: %s ",ponteiro->nome_produto[i]); printf("\n\tHORARIO DO PRODUTO: %s ",ponteiro->preco_produto[i]); printf("\n\tAEROPORTO DE SAIDA: %s ",ponteiro->estoque[i]); printf("\n\t------------------------------------------------\n\n"); printf("\n\t TECLE ENTER PARA RETORNAR AO MENU...\n\n\n"); system("pause"); system("cls"); menu(); } } //Função de Remover Voo.void removerProd(){ printf("\n\n\t________________________"); printf("\n\t MENU REMOVER PRODUTO."); printf("\n\t------------------------\n\n"); printf("\n\tDIGITE O NUMERO DO PRODUTO QUE DESEJA REMOVER"); printf("\n\tNUMERO DO PRODUTO: "); scanf("%d",ponteiro->codigo_produto[i]); }int main(int argc, char *argv[]){ menu(); //Chamando função de MENU. system("PAUSE"); return 0;} erro na funcao para remover.
  18. mariafernanda

    codigo c

    Crie um procedimento para inicializar a lista de produtos. Após a criação e inicialização do vetor, crie um menu com as seguintes opções: Inserir Remover Listar Já fiz tudo que foi possível não consigo realizar esta tarefa principalmente estrutura remover. se alguém puder me ajudar com este código fico grata.
  19. #include <stdio.h>#include <stdlib.h>#define nfuncionarios 2typedef struct funcionario{ float salario; int idade; char nome[50];}funcionarios;int main(){ funcionarios func[nfuncionarios]; int i; for(i=0;i<nfuncionarios;i++){ printf("Informe o nome: "); scanf("%s", func[i].nome); printf("Informe a idade: "); scanf("%d", &func[i].idade); } for(i=0;i<nfuncionarios;i++){ printf("\nFuncionario %d\n", i+1); printf("Nome: %s\n", func[i].nome); printf("Idade: %d", func[i].idade); printf("\n"); } return 0;} erro na execução pois quando coloco nome composto da erra, mais quando coloco so primeiro nome da certo, mais preciso colocar nome composto
  20. da uma olhada pra mim so na parte para remover
  21. #include <stdio.h>#include <stdlib.h>#include <string.h>struct produto { int cod; char nome[50]; struct produto *prox;};typedef struct produto ListaProd;ListaProd* inicia(){ return NULL;}ListaProd* insereOrdem(ListaProd *l, int i, char nome[]){ ListaProd *p=l, *ant=NULL; ListaProd *novo = (ListaProd *) malloc (sizeof(ListaProd)); novo->cod = i; strcpy(novo->nome, nome); if (p == NULL || p->cod > i){ novo->prox = p; return novo; } else { while(p!= NULL && p->cod <= i){ ant=p; p=p->prox; } novo->prox = ant->prox; ant->prox=novo; return l; }}//erro ta nesta parte aquivoid removerProdutoLista(ListaProd *l){ if(!vaziaLista(ListaProd)){ int index; imprimeLista(ListaProd); puts("Entre com o Codigo referente ao item que voce quer remover:"); scanf("%d", &index); removeLista(ListaProd,index-1); }else{ puts("A lista está vazia. Não há nada a ser removido."); }}void imprime(ListaProd *l){ListaProd *p; for(p=l; p!=NULL; p=p->prox){ printf("\nCodigo: %d",p->cod); printf(" | Nome: %s",p->nome); }}int main(){ ListaProd *l; int num, cod, op=0; char nome[50]; float m; l = inicia(); do { system("cls"); printf(" \n--------- MENU ---------\n "); printf(" \n1 - Inserir Produto Novo "); printf(" \n3 - Remover Produtos "); printf(" \n4 - Encerrar "); printf(" \nOpcao: "); scanf("%d",&op); switch(op){ case 1: system("cls"); printf(" \n\n--- Novo produto --- "); printf("\n Codigo: "); scanf("%d",&cod); printf(" Nome: "); scanf("%s",&nome); l = insereOrdem(l, cod, nome); break; case 2: system("cls"); printf("\n\n--- Lista de produtos --- \n"); imprime(l); system("pause>>null"); break; otherwise: printf(" Opcao invalida "); } } while (op != 4); system("PAUSE>>null"); return 0;} o erro esta marcado no codigo aonde esta, e tb preciso verificar se isso aqui ta certo: Esta inicialização deve ser feita atribuindo o valor -1 ao código de cada um dos produtos do vetor. preciso da parte remover item.
  22. Esta inicialização deve ser feita atribuindo o valor -1 ao código de cada um dos produtos do vetor. Consideraremos produtos com código igual a -1 como sendo uma posição vazia no vetor. Após a criação e inicialização do vetor, crie um menu com as seguintes opções: Nao sei como começar este algoritimo
  23. #include <stdio.h> #include <stdlib.h> typedef struct cad_aluno { char nome[120]; float notas[1]; }aluno; void leVetorAlunos(aluno a[], int n) { int i, j; for( i = 0; i < n; i++) { printf("Informe o nome do aluno: "); gets(a.nome); printf("Informe a nota do aluno: "); for( j = 0; j < 1; j++) scanf("%f%*c", &a.notas[j]); } system("cls"); printf("\n--------------------\n"); } void imprimeVetorAlunos(aluno a[], int n) { int i, j; printf("Alunos:"); for( i = 0; i < n; i++) { printf("\nNome:%s ", a.nome); for( j = 0; j < 1; j++) printf("Nota:%.2f ", a.notas[j]); } printf("\n--------------------\n"); system("pause"); system("cls"); imprimeVetorAprovados(alunos, 10); //O procediment entraria aqui mais nao consegui // } int main() { aluno alunos[10]; leVetorAlunos(alunos, 10); imprimeVetorAlunos(alunos, 10); imprimeVetorAprovados(alunos, 10); return 0; } Obs: Crie um procedimento que imprima o nome dos alunos aprovados no curso. Considere aprovado o aluno com nota final maior ou igual a 70. (nao consigo criar procedimento neste codigo) Na função principal, crie um vetor com de 5 alunos.Crie um procedimento que permita a leitura dos dados, via teclado, destes 10 alunos.Crie um procedimento que permita a impressão na tela dos dados dos alunos lidos.Crie um procedimento que imprima o nome dos alunos aprovados no curso. Considere aprovado o aluno com nota final maior ou igual a 70.Através da função principal, faça uso dos procedimentos criados nos itens 'b', 'c' e 'd'.
  24. Faça um programa que leia uma matriz de caracteres 5 x 100 e uma função que conte quantos espaços em branco aparecem na matriz. crie uma função que receba esta matriz e retorne o número de espaços em branco contidos nesta matriz. Imprima na função principal o valor retornado. #include <stdio.h> #define M 5 #define N 100 int cont (char matriz[M][N]) { int i, j, cont = 0; for (i = 0; i < M; i++) { for (j = 0; j < N; j++) { if(matriz[j] == ' ') cont++; } } return cont; } int main() { char m[M][N]; int i,j; for (i = 0; i < M; i++) { for (j = 0; j < N; j++) scanf("%c",&m[j]); } for (i = 0; i < M; i++) gets(m); printf("\nForam encontrados %c caracteres ' ' na matriz.",cont); return 0; }

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!