Ir para conteúdo
Fórum Script Brasil

webpantoja

Membros
  • Total de itens

    55
  • Registro em

  • Última visita

Tudo que webpantoja postou

  1. Carlos, Realmente você poderia ter ido postando as dúvidas aí um pouco mais cedo, tem muita coisa a ser feita aí. struct pad_video midia; FILE * arq; arq = fopen("registro.dat","a+"); [b] getchar(); //Coloca esse getchar porque o programa está pulando o nome do filme[/b] printf("\nDigite o nome: "); gets(midia.nome); printf("Digite o genero do filme: "); gets(midia.genero); printf("Digite o tipo de midia [DVD | Bluray] : "); gets(midia.tipo); printf("Digite o ano de Lancamento: "); gets(midia.anolancamento); printf("Digite o codigo: "); gets(midia.codigo); fwrite(&midia,sizeof(struct pad_video),1,arq); fclose (arq); Depois posto mais coisas aí na medida que tiver tempo para olhar.
  2. webpantoja

    Maior valor

    Agora ficou melhor! Cara eu faria uma lista de struturas... assim fica mais fácil manipular os dados... pelo menos na minha opinião :) Eu fiz um exemplo simples aí com o que você colocou, acho que ele vai te ajudar em alguma coisa. #include<iostream> struct aluno { char nome[50]; int nota; }; int main() { int quant = 0; int maiorNota = 0; //nota maxima 10 e no exemplo so pode numero inteiro... int menorNota = 11; printf("Quantidade de alunos: " ); scanf("%d", &quant ); struct aluno alunoVet[quant]; getchar(); for( int cont = 0; cont < quant; cont++ ) { printf("Entre com o nome do aluno %d: ", cont+1); gets( alunoVet[cont].nome ); printf("Nota: " ); scanf("%d", &alunoVet[cont].nota); getchar(); if( alunoVet[cont].nota > maiorNota ) { maiorNota = alunoVet[cont].nota; } if( alunoVet[cont].nota < menorNota ) { menorNota = alunoVet[cont].nota; } } printf("\n\n\nMaior(es) nota(s):\n"); for( int cont = 0; cont < quant; cont++ ) { if( maiorNota == alunoVet[cont].nota ) { printf("Aluno: %s nota: %d \n", alunoVet[cont].nome, alunoVet[cont].nota ); } } printf("\n\n\nMenor(es) nota(s)\n"); for( int cont = 0; cont < quant; cont++ ) { if( menorNota == alunoVet[cont].nota ) { printf("Aluno: %s nota: %d \n", alunoVet[cont].nome, alunoVet[cont].nota ); } } return 0; } Se tiver algo errado ai pode falar.. tem tempo que não mexo com C... trabalho mais com o C++ e as vezes posso confundir algo... Espero ter te ajudado nessa, WebPantoja
  3. webpantoja

    Maior valor

    Edit: Hum... sim... mas qual é a dúvida? // Opa antes de você editar só tinha uma frase, aí eu não entendi.. hehehe Rê Carvalho, Coloca aí o pedaço do código que você tem dúvida, aí fica mais fácil a gente te ajudar, pois poderemos ver aonde está o problema.
  4. Márcia, Acho que sua dificuldade está em diferenciar como passar valor de variável e passar variável por referência. Arquivo1 main() { int x =0; Metodo1( x ); // Aqui você está passando o valor de X, que é 0. Qualquer operação neste método não altera x do arquivo1. printf("X = %d", x ); // Aqui vai printar 'X = 0' Metodo2( &x ); // Aqui você está passando uma referencia ao endereço de memória da variável X. Operação no método altera x aqui. printf("X = %d", x ); // Aqui vai printar 'X = 12' } Arquivo2 Metodo1( int x ) { x = 12; // x no caso é simplesmente uma variável local } Metodo2( int *x ) { *x = 12; // aqui altera o valor da variável local x do Arquivo1 } Espero ter ajudado, WebPantoja
  5. Luiz, Você que está começando agora, tente fazer um código mais agradável de ser ler. Tente sempre fazer um código customizado mas ao mesmo tempo entendível. #define SIZE 15 #define NAME_SIZE 50 main() { /* Obsevação: Você quer fazer em C puro? O C puro não tem variável do tipo 'string', você tem que trabalhar com arrays de caracteres. Mas a maioria dos compiladores vão entender se você usar 'string' em um código C. Se você quiser usar somente C, use assim: */ char nameList[ SIZE ][ NAME_SIZE ]; char gradeList[ SIZE ][ NAME_SIZE ]; /* Mas se você não se importar em misturar C com C++ e seu compilador tiver suporte, pode utilizar assim: */ string nameList[ SIZE ]; string gradeList[ SIZE ]; string name; int count = 0; int grade = 0; int gradeSum =0; for( int count = 0, count < SIZE, count++) { printf("Nome do aluno: ") scanf (%s, name ) nameList[ count ] = name; printf("Nota: "); scanf (%d, grade ); gradeList[ count ] = grade; gradeSum += grade; } for( count = 0; count < SIZE; count++ ) { printf("Aluno %s nota %d", nameList[ count ], gradeList[ count ] ); } pritnf("A média da turma é %2.2f ", gradeSum/SIZE ); Fiz aí só um exemplo aproveitando o que você fez. Nem testei nem nada, mas só para você ver como fica mais bonito o código escrevendo e economizando variável. Se você começar a usar variáveis com nomes parecidos como 'nome' 'vetnome' 'nomeal', daqui a pouco você não vai saber mais o que está fazendo. Tenta usar o nome delas significando o que elas são ou vão fazer. Como o Mnemonic disse, coloca algumas validações de nota, tipo média dos alunos (me parece que o programa só tira média da sala toda) e outras verificações e mensagens, assim o programa fica muito mais completo. Qualquer dúvida pode postar aí. Att Webpantoja
×
×
  • Criar Novo...