Ir para conteúdo
Fórum Script Brasil

JimmyPage

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre JimmyPage

JimmyPage's Achievements

0

Reputação

  1. JimmyPage

    Média final

    eu preciso ler cada linha e gardar em variaveis os valores separados por tab, e a partir dos daos dos alunos, fazer as contas e ao fim exibir o resultado... se puder me ajudar agradeço, meu fonte tá ruim... recomeçando ele... # include<stdio.h> # include <stdio.h> # include <stdlib.h> #define MAX_NOME 30 enum { MAX = 81 }; char *extraiDado (char *, char *); int main(){ system("pause"); system("cls"); FILE *pArq; /* ponteiro para o arquivo com os dados */ char nomeArq[MAX]; /* nome do arquivo */ int n, m, pr, t, i; float n1, n2, media, p1, p2, p3; char linha[MAX]; /* dados lidos do arquivo */ char nome[MAX]; char temp[MAX]; /* b dado extraido de linha */ char *p; /* ponteiro que anda pela linha durante a extracao dos dados */ puts("DIGITE O ARQUIVO DE ENTRADA"); gets(nomeArq); if ((pArq = fopen(nomeArq, "r")) == NULL) { puts("Arquivo não pode ser aberto."); exit(EXIT_FAILURE); } /* quatro inteiros n, p,m e t, representando respectivamente o n´umero de alunos da turma, o número de notas de provas, o número de notas de exercícios-programa e o número de mˆeses de aulas no semestre */ fscanf(pArq, "%d %d %d %d", &n, &pr, &m, &t); /* Verificação os valores que foram lidos - impressão na tela */ printf("n = %d pr = %d m = %d t = %d\n", n, pr, m, t); /* uma sequˆencia de p naturais representando o peso de cada prova;*/ fscanf(pArq + 1, "%d %d %d", &p1, &p2, &p3); /* Verificação os valores que foram lidos - impressão na tela */ printf("p1 = %d p2 = %d p3 = %d\n", p1, p2, p3); fgets (linha, MAX, pArq); while ( ! feof(pArq) ) { for(i=0; i<n; i++){ /* extrai nome */ p = linha; p = extraiDado (p, temp); strcpy(nome, temp); /* extrai nota 1 */ p = extraiDado (p, temp); n1 = atoi (temp); /* extrai nota 2 */ p = extraiDado (p, temp); n2 = atoi (temp); media = (n1 + n2)/2; /*gravando arquivo de saida*/ printf( "NOME P1 P2 MEDIA\n"); fprintf (stdout, "%-40s %4.1f %4.1f %4.1f ", nome, n1, n2, media); if (media > 5.0) puts ("aprovado"); else puts("reprovado"); system("pause"); fgets (linha, MAX, pArq); } } } char *extraiDado (char *buffer, char *temp) { int i=0; do { temp[i] = *buffer; buffer++; i++; } while (*buffer != ';'); temp[i] = ''; return ++buffer; system("pause"); return 0; }
  2. JimmyPage

    Média final

    eu preciso ler cada linha e gardar em variaveis os valores separados por tab, e a partir dos daos dos alunos, fazer as contas e ao fim exibir o resultado... se puder me ajudar agradeço, meu fonte tá ruim... recomeçando ele...
  3. JimmyPage

    Média final

    Escreva, na linguagen C, um programa que leia de um arquivo os dados de uma turma e imprima a m´edia final de acordo com o crit´erio tamb´em descrito no arquivo de entrada. No arquivo de entrada est˜ao os seguintes dados, nesta ordem: • quatro inteiros n, p,m e t, representando respectivamente o n´umero de alunos da turma, o n´umero de notas de provas, o n´umero de notas de exerc´ıcios-programa e o n´umero de mˆeses de aulas no semestre; • uma sequˆencia de p naturais representando o peso de cada prova; • uma sequˆencia de m naturais representando o peso de cada exerc´ıcio-programa; • dois naturais pp e pep representando o peso da m´edia de provas e da m´edia de exerc´ıcios-programa para o c´alculo da m´edia final; • uma sequˆencia de t naturais representando a quantidade de dias letivos de cada mˆes; • uma sequˆencia de n linhas, cada uma com os dados de um dos n alunos da turma: nome, notas de provas, notas de exerc´ıcios-programa e as freq¨uencias (n´umero de faltas) de cada mˆes. Voces podem assumir que o nome de cada aluno cont´em no m´aximo 29 caracteres. Mais especificamente vocˆes podem assumir que os 30 primeiros caracteres de cada linha com os dados de um aluno cont´em um nome seguido de brancos (haver´a pelo menos um branco depois do nome) e que na coluna 31 come¸cam as notas deste aluno. Cada nota deve ser um n´umero real entre 0 e 10. Exemplo de arquivo de entrada 3 3 5 4 1 2 2 1 1 2 2 3 1 2 20 20 18 20 Cassandra Avestruz da Silva 5.0 6.6 4.2 10.0 9.0 8.0 7.0 6.0 0 0 0 4 Roberto Carlos 2.0 1.5 3.2 0.0 5.0 0.0 6.0 6.5 10 2 4 0 Ronaldinho Gaucho 8.0 3.0 7.7 9.5 8.0 10.0 9.5 9.0 12 10 8 12 O seu programa pode ler e escrever os dados na entrada e sa´ıda padr˜ao ou pedir que o usu´ario digite o nome do arquivo de entrada e deve ter como sa´ıda um arquivo de nome ‘‘saida.txt’’ contendo as seguintes informa¸c˜oes: 1 • uma linha inicial com os r´otulos das v´arios colunas a serem impressas (veja no exemplo abaixo); • uma linha para aluno, contendo o seu nome, as suas notas de prova, a sua m´edia de prova usando os pesos dados no arquivo de entrada, as suas notas dos exerc´ıciosprograma, a sua m´edia de exerc´ıcio-programa usando os pesos dados no arquivo de entrada e finalmente a sua m´edia final; • uma linha contendo a m´edia da turma em cada prova, a m´edia das m´edias das provas, a m´edia de cada exerc´ıcio-programa, a m´edia das m´edias dos exerc´ıcios-programa e a m´edia das m´edias finais; • no final, o n´umero de alunos aprovados (com m´edia final maior ou igual a 5.0 e freq¨uencia maior ou igual a 75%), o n´umero de alunos que ficaram de recupera¸c˜ao (com m´edia final maior ou igual a 3.0 e menor que 5.0 e freq¨uencia maior ou igual a 75%) e o n´umero de reprovados (com m´edia final menor que 3.0 ou freq¨uencia menor que 75%). Exemplo de sa´ıda (para o arquivo de entrada j´a visto): Nome p1 p2 p3 mp ep1 ep2 ep3 ep4 ep5 mep mf fm Cassandra Avestruz da Silva 5.0 6.6 4.2 5.3 10.0 9.0 8.0 7.0 6.0 7.4 6.7 94.9 Roberto Carlos 2.0 1.5 3.2 2.3 0.0 5.0 0.0 6.0 6.5 4.1 3.5 79.5 Ronaldinho Gaucho 8.0 3.0 7.7 5.9 9.5 8.0 10.0 9.5 9.0 9.3 8.1 46.2 Medias 5.0 3.7 5.0 4.5 6.5 7.3 6.0 7.5 7.2 6.9 6.1 Aprovados: 1 Recuperacao: 1 Reprovados: 1
  4. bom dia pessoal, estou usando a seguinte função: // -- Formata o numero na entrada especificamente para o campo Valor Total do Item, que passa a aceitar // -- valores negativos. // -- Utilização: // -- onKeyPress="return(currencyFormat(this,",",".",event)) function currencyFormatValorItem(fld, milSep, decSep, e) { var sep = 0; var key = ""; var i = j = 0; var len = len2 = 0; var strCheck = "-0123456789"; var aux = aux2 = ""; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; // Enter if (whichCode == 0) return true; // Delete key = String.fromCharCode(whichCode); // Get key value from key code if (strCheck.indexOf(key) == -1) return false; // Not a valid key len = fld.value.length; for(i = 0; i < len; i++) if ((fld.value.charAt(i) != "0") && (fld.value.charAt(i) != decSep)) break; aux = ""; for(; i < len; i++) if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); aux += key; len = aux.length; if (len == 0) fld.value = ""; if (len == 1) fld.value = "0"+ decSep + "0" + aux; if (len == 2) fld.value = "0"+ decSep + aux; if (len > 2) { aux2 = ""; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += milSep; j = 0; } aux2 += aux.charAt(i); j++; } fld.value = ""; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) fld.value += aux2.charAt(i); fld.value += decSep + aux.substr(len - 2, len); } return false;} acontece que estou com o seguinte problema, ele aceita que eu digito o símbolo "-", mas ele assume que este simbolo faz parte dos valores, e o formato da mascara pode sair assim: -,11 ; -.111,11 e ---.---.---,-- preciso de ajuda, pois com valores positivos dá certo, mas negativo não e posso digitar o simbolo "-" qnts vezes quiser, no aguardo de ajuda !!! se algume souber de uma outra função, por favor me passe
×
×
  • Criar Novo...