
Justiceira
Membros-
Total de itens
44 -
Registro em
-
Última visita
Tudo que Justiceira postou
-
Depois de tanto tempo consegui fazer...nossa tava sem tempo,mas ta ai conseguiiii valeu aos q ajudaram ai,Obrigada! :wub: main() { float *notas,n,me=0,media=0,aux; int i,j,v; char c; notas =(float *)malloc(MAX * sizeof(float)); for (i=0; i<MAX; i++){ printf("Entre com a Nota %d:\n", i); scanf("%f", notas+i); if(*(notas+i)<=0 ||*(notas+i)>=10){ printf("Entre com a Nota %d:\n", i); scanf("%f", notas+i); } else{ } } printf("\n"); for (i=0; i<MAX; i++){ n= *(notas+i); me=me+n; media=me/MAX; } printf("Media %.2f:\n",media); printf("\n\n"); for ( i =0; i< MAX-1; i++){ for ( j =i+1; j < MAX; j ++){ if(notas[i]>=notas[j]){ aux = notas[i]; notas[i] = notas[j]; notas[j] = aux; } } } printf("Maior Nota: %.1f\n", *(notas+i)); printf("\n"); for ( i =0; i< MAX-1; i++){ for ( j =i+1; j < MAX; j ++){ if(notas[i]<=notas[j]){ aux = notas[i]; notas[i] = notas[j]; notas[j] = aux; } } } printf("Menor Nota: %.1f\n", *(notas+i)); printf("\n\n"); free(notas); system("pause"); } [/codebox]
-
(Resolvido) Como contar caracteres num arquivo?
pergunta respondeu ao Justiceira de Justiceira em C, C++
ok ...finalmente resolvi.Mas valeu Gente -
(Resolvido) Como contar caracteres num arquivo?
pergunta respondeu ao Justiceira de Justiceira em C, C++
A minha duvida era como saber quantos caracteres teriam sido informado pelo usuario excluindo os espaços é claro. Parece que consegui,compilei e rodou contando os caractes e tirando espaços em branco. main(){ FILE *prog; char ch; int conta=0,i=0,dig=0; prog=fopen("arqtext.txt","w"); printf("\n\tCriando"); while((ch=getche())!='\r') putc(ch,prog); fclose(prog); printf("\n\tVisualizando"); prog=fopen("arqtext.txt","r"); while(ch!=EOF) while((ch=getc(prog))!=EOF) printf("%c",ch); printf("\n\n"); fclose(prog); printf("\n\n"); prog=fopen("arqtext.txt","r"); do{ ch=getc(prog); if(ch!=' ') { conta++; i++;} else i++; }while(ch!=EOF); printf("Conta :%d\n",conta-1); printf("\n\n"); fclose(prog); [/codebox] Mas vlw -
Gostaria de saber como faria isso main(){ FILE *prog; char ch; //Criando ou Gravando po cima prog=fopen("arqtext.txt","w"); while((ch=getche())!='\r') putc(ch,prog); fclose(prog); printf("\n"); system("cls"); //Lendo o arquivo e Exibindo na tela prog=fopen("arqtext.txt","r"); while(ch!=EOF) while((ch=getc(prog))!=EOF) printf("%c",ch); printf("\n\n"); fclose(prog); printf("\n\n"); fclose(prog); system("pause"); } [/codebox]
-
Vlw Jonathan Queiroz e Durub Deu certo!! pesq="/0"; printf("\tEscolha um Codigo para Pesquisa:\n"); printf("\t"); gets(str); if(((str[0]>='0')&&(str[0]<='9'))||((str[1]>='0') &&(str[1]<='9'))||((str[2]>='0')&&(str[2]<='9')) ||((str[3]>='0')&&(str[3]<='9'))||((str[4]>='0') &&(str[4]<='9'))) { pesq = atoi(str); if(pesq_codliv(pesq)==-1) printf("\tO Codigo não foi Encontrado\n\n",pesq); else exibe_um(pesq_codliv(pesq)); } else printf("Erro Digite um Codigo Valido"); [/codebox]
-
:wacko: Na verdade o codigo todo é 574 linhas ainda,pensei q tinha diminuido bastante foi mal... Realmente deu certo era ponteiro if(...*pesq) ta Ok Mas quanto a converter eu converti porem mostra numeros estranhos.Coloquei itoa (v, pesq,10); depois do for na função Mas ainda tah errado Vou tentar mais outras coisas
-
Eu fiz desse jeito e esta rodando por parte,porque ele não pega string so numero(E era o que eu queria),porem esta sempre mostrando codigo não encontrado! mesmo eu tendo preenchido com o codigo ...O que faço?? #include<stdio.h> #include<stdlib.h> #include <string.h> #define MAX 3 struct registro { int codlivro; char nomelivro[30]; float preço; int quant; }; struct registro tabela[MAX]; int is_numeric(const char *pesq){ int res = 1; while(*pesq){ if(!isdigit(*pesq)){ res = 0; break; } pesq++; } return res; } int preenche_tabela() { int i; char strnum[30]; for(i=0;i<MAX;i++){ printf("\t Registro %d \n\n",i); printf("\tCodigo do Livro : "); gets( strnum); tabela[i].codlivro = atoi( strnum); printf("\tNome do Livro : "); gets(tabela[i].nomelivro); printf("\tPreco : "); gets( strnum); tabela[i].preço = atof( strnum); printf("\tQuantidade : "); gets( strnum); tabela[i].quant = atoi( strnum); } } int exibe_um(int ind) { int i = 0; i = ind; printf("\t Registro %d \n\n",i); printf("\tCodigo do Livro : %d\n",tabela[i].codlivro); printf("\tNome do Livro : %s\n",tabela[i].nomelivro); printf("\tPreco : %.2f\n",tabela[i].preço); printf("\tQuantidade: %d\n\n",tabela[i].quant); return(ind); } char pesq_codliv(char pesq[]) { int i; for(i=0;i<MAX;i++) if(tabela[i].codlivro == pesq) return(i); return(-1); } main () { int i=0,argc; char esc=0,*argv[MAX],pesq[MAX]; while((esc != 'S') && (esc != 's')) { printf(" MENU \n"); printf("\tA ) Prencher a Tabela.\n"); printf("\tB ) Pesquisar um Livro por Codigo do Livro.\n"); printf("\tS ) Para Sair.\n\n"); printf("\tDigite sua Opcao:\n"); esc = getche(); system("cls"); switch(esc) { case 'S': case 's':{ exit(1); } case 'A': case 'a':{ preenche_tabela(); break; } case 'B': case 'b':{ printf("\tEscolha um Codigo para Pesquisa:\n"); printf("\t"); gets(pesq); /*while(!is_numeric(pesq)){ printf("\n\tCodigo : %s Invalido!\n\tInforme um codigo Valido\n",pesq); printf("\t"); getch(); system("cls"); printf("\tEscolha um Codigo para Pesquisa:\n"); printf("\t"); gets(pesq); } */ if(pesq_codliv(pesq)==-1) printf("\tO Codigo : %s não foi Encontrado !\n\n",pesq); else exibe_um(pesq_codliv(pesq)); printf("\n"); printf("\tPressione uma tecla para retornar ao menu principal...\n"); getch(); break; } default: { printf("\tOpcao Invalida\n"); exit(1); break; } system("pause"); } } }[/codebox]
-
Como faço para comparar uma String c/ int ou vice-versa em C? Exemplo: Queria trabalhar só com int e se o cara digitar uma String o programa recusa. Tipo printf("\tErro!\n\tDigite um Codigo Valido!\n"); Já que estaria coletando Codigo(inteiro) porém se a pessoa digita letra mostra numeros tipo isso(2088809675)ou seja Erro! alguém Pode me ajudar??
-
Esta sim funcionando Mais uma perguntinha?? Se eu quisesse por uma restrição onde somente digitasse 0,1,2,3,4,5,6,7,8,9 ou 10 para notas como faria com ponteiro??
-
Preciso saber se esta certo esse codigo,meu professor quer que use ponteiros.Mas estou com um problema na hora de saber a maior e a menor nota....Como Faço me ajudem! #include <stdio.h> #include <stdlib.h> main() { float * p, notas[5],m,aux; int i,j,tam; printf ( " ------Nota----- "); p = notas; //Prenchendo o vetor for ( i = 0; i < 5; i ++) { printf ( "\nElemento %d: ", i); gets ( notas); tam=strlen( notas); * p ++ = atof ( notas); //if((*p >=0)||(*p <=10)) if((tam>=1)&&(tam<=2)){ }else exit(1); } printf ( "\n"); p = notas; //Exibindo a media das notas for ( i = 0; i < 5; i ++){ m +=(* p++ / 5); } printf ("\nMedia : %.1f\n",m); printf ( "\n"); p = notas; Exibindo Vetor for ( i = 0; i < 5; i ++) { printf ( "O valor do elemento %d é: %.1f\n", i, * p ++); } Exibindo Maior nota printf ("\n"); p = notas; printf ("\n-----Ordenando Notas------\n\n"); for ( i = 0; i < 5-1; i ++) for ( j =0; j < 5; j ++){ if(notas[i] >= notas[j]) { aux = notas[i]; notas[i] = notas[j]; notas[j] = aux; printf("Num:%.1f\n", * p); } } printf("Numero maior e :%.1f", * p ++); //Exibindo Menor nota p = notas; for ( i = 0; i < 5-1; i ++) for ( j =0; j < 5; j ++){ if(notas[i] <= notas[j]) { aux = notas[i]; notas[i] = notas[j]; notas[j] = aux; } } printf ("\nNumero menor e :%.1f\n", * p ++); system("pause"); }
-
Existe alguma forma de obrigar o preenchimento dos campos codlivro, nomelivro, preço, quant ??para que nenhum registro seja preenchido incompleto?Ou que ao menos seja ignorado se for o caso?? Como faria isso?? :blush: Colocando um if(CONDIÇÃO??) na função preencher_tabela,apos cada leitura...
-
Galera estou com um problema para somar os registros cadastrados,só os registros.Pensei em mostrar o MAX-1,mas e se a pessoa não preenchesse ?Daria errado então.Me ajudem!!! #include<stdio.h> #include<stdlib.h> #include <string.h> #define MAX 5 struct registro { int codlivro; char nomelivro[30]; float preço; int quant; }; struct registro tabela[MAX]; void preenche_tabela() { int i; char strnum[30]; fflush(stdin); for(i=0;i<MAX;i++) { printf("\n\nCodigo do Livro : "); gets(strnum); tabela[i].codlivro = atoi(strnum); printf("\nNome do Livro : "); gets(tabela[i].nomelivro); printf("\nPreco : "); gets(strnum); tabela[i].preço = atof(strnum); printf("\nQuantidade : "); gets(strnum); tabela[i].quant = atoi(strnum); } } void contar_reg() { int i,vt=0; for(i=0;i<MAX;i++) if((tabela[i].nomelivro,"")==0) vt; else vt++; printf("\nO Total de Registros Cadastrados na Tabela: %d\n",vt); } main (){ int vt,esc; { printf("\n MENU \n\n\n"); printf("0.ara Sair.\n"); printf("1.Prencher a Tabela\n"); printf("2.Contar o Total de Registros Cadastrados na Tabela.\n"); printf("\nDigite sua Opcao:\n"); scanf("%d",&esc); while(esc!=0) { switch(esc) { case 0: printf("\n FIM!!! \n"); break; case 1: { preenche_tabela(); break; } case 2: { contar_reg(); break; } } system ("pause"); } } } [/codebox]
-
Vlw cara era isso mesmo que tava errado :rolleyes:
-
Usei o Device,o problema é que não esta ordenando tudo só os nomes preciso que tudo seja ordenado junto #include<stdio.h> #include<stdlib.h> #include <string.h> #define MAX 10 /******************* Definição do Registro */ struct registro { int codlivro; char nomelivro[30]; float preço; int quant; }; struct registro tabela[MAX]; void preenche_tabela() { int i; char strnum[30]; for(i=0;i<MAX;i++) { printf("\n\n Registro %d ",i); printf("\n\nCodigo do Livro : "); gets(strnum); tabela[i].codlivro = atoi(strnum); printf("\nNome do Livro : "); gets(tabela[i].nomelivro); printf("\nPreco : "); gets(strnum); tabela[i].preço = atof(strnum); printf("\nQuantidade : "); gets(strnum); tabela[i].quant = atoi(strnum); } } void ordenar_tabcod() { int codlivro_aux; char nomelivro_aux[30]; float preco_aux; int quant_aux; int i,j; for(i=0;i<=MAX-1;i++) for(j=i+1;j<MAX;j++) { if(tabela[i].codlivro>tabela[j].codlivro) { strcpy(nomelivro_aux,tabela[i].nomelivro); codlivro_aux,tabela[i].codlivro; preco_aux,tabela[i].preço; quant_aux,tabela[i].quant; strcpy(tabela[i].nomelivro,tabela[j].nomelivro); tabela[i].codlivro=tabela[j].codlivro; tabela[i].preço=tabela[j].preço; tabela[i].quant=tabela[j].quant; strcpy(tabela[j].nomelivro,nomelivro_aux); tabela[j].codlivro=codlivro_aux; tabela[j].preço=preco_aux; tabela[j].quant=quant_aux; } } } void exibe_tabela() { int i; for(i=0;i<MAX;i++){ printf("\n\n Registro %d ",i); printf("\nCodigo do Livro : %d\n",tabela[i].codlivro); printf("Nome do Livro : %s\n",tabela[i].nomelivro); printf("preço : %.2f\n",tabela[i].preço); printf("Quantidade: %d\n\n",tabela[i].quant); } } main (){ preenche_tabela(); ordenar_tabcod(); exibe_tabela(); system ("pause"); }
-
(Resolvido) Programa que armazena uma função f(x) no computador.
pergunta respondeu ao Justiceira de Justiceira em Lógica de Programação
:P Acho q esta Resolvido,ou alguém tem alguma dica para melhorar este codigo!!! -
(Resolvido) Programa que armazena uma função f(x) no computador.
pergunta respondeu ao Justiceira de Justiceira em Lógica de Programação
Em Linguagem C #include<stdio.h> #include<math.h> main() { float fx[80],f,p; int i,grau; f=0; printf("\nEntre com o Grau:\n"); scanf("%d",&grau); printf("\nAgora entre com a Função:\n"); printf("\nEntre com os Coeficientes da F(x):\n"); for(i=0;i<=grau;i++){ printf("\nCoeficientes de x^%d:",i); scanf("%f",&fx[i]); } printf("\nCalcular a Função em qual ponto ? :\n"); scanf("%f",&p); //Calculando for(i=0;i<=grau;i++) f=f+fx[i]*pot(p,i); printf("\nF(x) no ponto %2.f\n",p,f); } [/codebox] E de outro jeito também [codebox] #include<stdio.h> float pot (float,int); main() { float fx[80],f,p; int i,grau; f=0; printf("\nEntre com o Grau:\n"); scanf("%d",&grau); printf("\nAgora entre com a Função:\n"); printf("\nEntre com os Coeficientes da F(x):\n"); for(i=0;i<=grau;i++){ printf("\nCoeficientes de x^%d:",i); scanf("%f",&fx[i]); } printf("\nCalcular a Função em qual ponto ? :\n"); scanf("%f",&p); //Calculando for(i=0;i<=grau;i++) f=f+fx[i]*pot(p,i); printf("\nF(x) no ponto %2.f\n",p,f); } float pot(float base,int exp) { float result=1; if(exp>0) for(i=0;i<exp;i++) result=result*base else for(i=0;i<exp*-1;i++) result=result*1/base; return result; } -
Pensar numa estrutura de dado para armazenar f(x).E depois calcular f(x) ondedeve ser informado pelo usuario. Exemplo x²-x-1 x³-x-6 x³-x²+3 . . etc program funcao_matematica; uses crt; var e,x,c,n,funcao,f,calc:integer; begin clrscr; writeln('Informe um numero para a expoente da Fun‡Æo:'); readln(e); writeln('Informe um numero pra a constante:'); readln©; writeln('Informe um Numero para x:'); readln(x); calc:=1; n:=e; f:=0; while e<>0 do begin while n>=1 do begin calc:=calc*x; n:=n-1; f:=f+calc; e:=e-1; end; end; funcao:=f+c; writeln('Função:',funcao); readln; end.[/CODEBOX] me ajudem não consigo resolver,sei q tem problemas de lógica e muitos mais me deem dicas ai vlw
-
valeu pela ajuda agora entendi mais. valeu mesmo!!
-
O problema é que não sei como chamar essa procedure,é que estou começando e não entendi essa parte ou será q é erro de logica? Me ajudem