Ir para conteúdo
Fórum Script Brasil

Binder

Membros
  • Total de itens

    135
  • Registro em

  • Última visita

Tudo que Binder postou

  1. Binder

    Código com problema.

    Eaw fera beleza, fiz novamente o seu programinha com algumas modificações, espero que possa ter te ajudado. Qualquer dúvida, poste ai no fórum, que agente tenta resolver. Obs: 1) Para ler um vetor de char você deve utilizar fflush(stdin) antes e depois de ler a string, para ter a certeza de não pegar sujeira antes da memória. 2) Eu declarei o vetor de char como v[100], ao invés de string[100], não saberia te dizer se a palavra "string" declarada como variavel, pode dar problema em C, por ser uma palavra reservada da linguagem, para não ocorrer o risco utilizei outro nome. 3) Declarei a bibilioteca #include <stdlib.h>, para poder utilizar a função system("pause"), que não encerra o programa enquanto o usuário não digitar uma tecla, é bem legal !. 4) Dentro do laço for apenas fiz uma pequena alteração para testar a letra "C", pois o usuário pode digitar tanto em maíusculo como minúsculo. #include <stdio.h> #include <stdlib.h> int main () { char v[100],frase[100]; int i,cont; printf ("\n\nDigite uma frase :"); fflush(stdin); fgets(v,100,stdin); fflush(stdin); printf("\n"); // ler a frase digitada printf ("Frase digitada foi :%s\n",v); // verifica se letra digitada é igual a "C" cont = 0; for(i=0;i<100;i++) { if((v[i] == 'c') || (v[i] == 'C')) { cont = cont + 1; } } // imprime total de letras iguais a "C" printf ("Numero de caracteres iguais a letra c : %d\n\n", cont); system("pause"); }//main
  2. Olá Lucas, seu código está quase certo, porem tem uma coisa errada. Na hora de imprimir o resultado na tela deve ficar assim: printf("a Soma e %d \n",Soma); Você estava com o "&" na frente da variável "Soma". Estava apontando para o endereço de memória. falou!
  3. Estou usando structs, e tenho um vetor de 100 posições vet[100]. Insiro manualmente os valores no vetor(não preciso preencher ele até o final) Ex: preencho apenas 5 valores nele o resto fica em branco. Utilizo uma variavel chamada "ultimo", e faço um for para percorrer de 0 até ultimo(ultima posição preenchida no meu vetor). Preciso remover um numero que exista no vetor, e alocar todos seus posteriores para esquerda até o final do vetor. Ex: Digitei isso no vetor: (1,5,20,50,100) Removi o numero: 5 Ficaria assim: (1,20,50,100). Obs: não aprendi ainda a utilizar "sentinela", e não posso utilizar funções,ponteiros... tenho que fazer no "for",mesmo. mas desde já agradeço pela sua atenção.
  4. Olá mJi,obrigado pela força... Fiz meu codigo, porem acho que tem erro. Pois eu digito os seguintes numeros (1,5,20,50,100), e peço para excluir o numero 5. Era para ficar assim (1,20,50,100) Mas está ficando assim (1,20,20,50,0) Obs: "Ultimo", variavel para controle do vetor, percorre somente aonde está preenchido o vetor. Meu vetor é de 100 posições. printf("Remover codigo igual a: \n"); scanf("%d",&removecodigo); for(i=0;i<ultimo;i++) { if(vet[i].codigo == removecodigo) { vet[i].codigo = vet[i+1].codigo; vet[ultimo-1].codigo = 0; } printf("codigo = %d\n",vet[i].codigo); }
  5. Olá pessoal, gostaria de saber como remover um elemento inteiro de um vetor[100]. Após o elemento ser apagado não posso deixar espaço em branco no vetor. Obs: Não posso utilizar função e nem ponteiros... Como devo fazer isso na linguagem C? Exemplo : 10 20 30 40 50. (preenchi apenas as primeiras 5 posições do meu vetor) Apaguei: 30 Vetor atual : 10 20 40 50. Obrigado.
  6. Amigos do Fórum! Depois de algumas tentativas consegui desenvolver o código, e funcionou, caso alguém precise algum dia ,segue abaixo. printf("Ordenando os alunos pelo codigo"); for(i=0;i<ultimo;i++) { for(j=i+1;j<ultimo;j++) { if(vet[i].codigo > vet[j].codigo) { auxcodigo=vet[j].codigo; vet[j].codigo =vet[i].codigo; vet[i].codigo =auxcodigo; } } } //imprime for(i=0;i<ultimo;i++) { printf("\n"); printf("%d",vet[i].codigo); } printf("\n"); system("pause"); }//main
  7. Obrigado mJi, funcionou perfeitamente os códigos citados. Abraço!
  8. Olá mJi,primeiramente obrigado por responder a minha dúvida, e peço desculpas por não ser tão claro quanto a mesma.Vou explicar mais detalhamente. Preciso criar um programinha em C, com menus(coforme abaixo). Porém não estou conseguindo fazer os itens 7 e 8 do Menu. Como está usando struct(estruturas) estou tendo uma certa dificuldade para fazer o FOR.Segue abaixo meus códigos da opção 7 e 8. Desde já Agradeço pela ajuda. Obs: Não posso utilizar funções do C "prontas". A variavel "ultimo" serve para percorrer o vetor apenas até a onde estiver preenchido como ele é de 100 posiçoes, se eu preencher apenas 3 vezes, o laço FOR vai de 0 até 2, e não até o final do vetor. ================ opção 7: pede para localizar o nome no meu vetor, pela letra inicial que o usuario irá digitar. Ex: "informe a letra" : 'a'. Todos nomes que começam com a letra 'a', deve ser localizado no meu vetor de char. Não estou conseguindo fazer a busca. opção 8: pede para localizar nome conforme a letra digitada pelo usuario.Independente da posição que ela está. Ex: "Informe a letra" : 'a'. Vetor [maria]. Achou a letra'a' na primeira(em c++ comeca com 0) e na ultima posição. #include<stdio.h> #include<stdlib.h> #include<string.h> struct dados { int codigo; char nome[30]; float g1,g2; }; int main() { dados vet[100]; int op=0,ultimo=0,i,achoucodigo=0,achou=0,x,resultado,j,auxcodigo; char achounome[30],achouletra,letra,auxnome[30]; float media=0; printf("\n==========================================MENU=================================\n"); printf("1-Cadastrar aluno: \n"); printf("2-Listar todos alunos: \n"); printf("3-Listar aluno de codigo igual a: \n"); printf("4-Listar aluno acima da media 6: \n"); printf("5-lançar notas do aluno de codigo: \n"); printf("6-Listar aluno de nome igual a: \n"); printf("7-Listar alunos que iniciam com a letra: \n"); printf("8-Listar alunos que possua a letra...nome: \n"); printf("9-Ordenar os alunos pelo codigo: \n"); printf("10-Ordenar os alunos pelo nome: \n"); printf("11-Listar alunos de maior media: \n"); printf("12-Listar alunos que possuam g1 ou g2 no intervalo de notas entre: \n"); printf("13-Sair\n\n\n"); scanf("%d",&op); Opção 7: if(op==7) { printf("==================\n"); printf("informe primeira letra do nome:"); scanf("%c",&achouletra); for(i=0;i<30;i++) { //if(?) { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } } Opção 8: if(op==8) { printf("==================\n"); printf("informe letra do nome que deseja encontrar:"); scanf("%c",&letra); for(i=0;i<ultimo;i++) { if(letra == i) { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } }
  9. Olá Pessoal, estou com uma dúvida, gostaria de saber como comparar um caracter (digitado pelo usuario) se possui no meu vetor de string. Pelo o que li a respeito a função strcmp compara apenas dois vetores ( de caracter ou inteiro) Exemplo //inteiro vet.codigo == x //string vet.nome == letra // supondo que letra esteje declarada como vetor(letra[30]). Meu código está assim: struct dados { int codigo; char nome[30]; float n1,n2; }; int main() { dados vet[100]; int ultimo=0,i; char achouletra; printf("==================\n"); printf("informe primeira letra do nome:"); scanf("%c",&achouletra); for(i=0;i<30;i++) // não sei se esse for esta correto { if(?) // como faço a comparação? { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } }
  10. Boa noite, preciso ordenar meu vetor em c, utilizando structs, mas não estou conseguindo se alguém sabe como resolver ficarei grato.Abaixo segue o meu codigo. Obs: não posso utilizar ponteiros ou funções em C. #include<stdio.h> #include<stdlib.h> #include<string.h> struct dados { int codigo; char nome[30]; float n1,n2; }; int main() { dados vet[100]; int ultimo=0,i,j,aux; printf("==================\n"); printf("Ordenando pelo codigo"); for(i=0;i<ultimo;i++) { for(j=0;j<ultimo;j++) { if(vet.codigo > vet[j].codigo)/*se a posição atual for maior que a posição posterior*/ { aux=vet[j].codigo;//auxiliar recebe posição posterior vet[j].codigo =vet.codigo;//P.Posterior recebe P.Atual vet.codigo =aux;//P.Atual } } //imprime for(i=0;i<ultimo;i++) { printf("\n"); printf("%d",vet.codigo); } printf("\n"); system("pause"); } //main
×
×
  • Criar Novo...