-
Posts
25 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que mariafernanda postou
-
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
-
#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.
-
programa nao esta inprimindo o intervalo fechado na ordem inversa do maior para o menor...
-
#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...
-
#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); } }
-
Consegui resolver, tava colocando ; a mais no codigo.
-
Quando insiro os dados ele grava normal no txt, mais quando vai ler o arquivo txt da o erro.
-
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.
-
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;}
-
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(®istro,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.
-
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;}
-
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.
-
Não esta salvado a matrix e na hora de rodar nao ta rodando tb.
-
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...
-
#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
-
#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.
-
#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
-
da uma olhada pra mim so na parte para remover
-
#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.
-
#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'.
-
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; }
-
ajuda neste codigo nao entendi como fazer
mariafernanda respondeu ao tópico de mariafernanda em C/C#/C++
ai ta o problema nao to conseguindo entender como devo fazer. -
Faça um programa que leia uma matriz de caracteres 5 x 100 onde em cada linha desta matriz haverá uma frase. Após a leitura, 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. Dica: considere cada uma das linhas da matriz como uma string.
-
Faça uma função que receba 3 matrizes de tamanho 3 x 2. Esta função deverá somar na terceira matriz passada como parâmetro a soma dos elementos da duas outras matrizes, elemento a elemento. Crie uma função principal que faça uso da função criada. Imprima na função principal os elementos da terceira matriz.
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