Ir ao conteúdo
  • Cadastre-se

mariafernanda

Membro Pleno
  • Posts

    29
  • Cadastrado em

  • Última visita

  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

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